Commit Graph

807 Commits

Author SHA1 Message Date
a8b4426402 New "tapped" about dialog. 2012-09-15 20:46:26 +02:00
7f3bcbedb7 Improved lamexp_get_os_version() function. 2012-09-09 23:05:00 +02:00
e5f493a822 Updated MediaInfo binaries to v0.7.60 (2012-09-02), compiled with ICL 12.1.7 and MSVC 10.0. 2012-09-07 22:45:05 +02:00
a4e78633e6 Fixed a regression in 3e18116dd5. 2012-09-07 02:14:29 +02:00
29bbf478de Version v4.05 is released! 2012-09-03 22:56:35 +02:00
67609a9b65 Updated Russian translation. Thanks to Иван Митин <bardak@inbox.ru>. 2012-08-24 21:20:00 +02:00
2878dc7ad0 Treat Wave files with IEEE Float (32-Bit) sample format separately from Wave files with 32-Bit Integer sample format. For example, the Opus encoder accepts 32-Bit IEEE Float just fine, but does NOT like 32-Bit Integer as input. 2012-08-22 23:52:55 +02:00
0a28e39309 Update Spanish translation. Thanks to Rub3nCT <rub3nct@gmail.com>. 2012-08-22 21:55:02 +02:00
c5de867488 Fixed a typo in Opus encoder class that broke constrained variable bitrate encoding. 2012-08-22 21:54:06 +02:00
12db8ca7fc Updated F.A.Q. document. 2012-08-21 21:31:18 +02:00
8d6774ba24 Updated some URL string. 2012-08-20 22:23:38 +02:00
c6fcad10c4 Slightly tweaked initialization checks. 2012-08-19 14:34:04 +02:00
9a7f0d5176 Small optimization of known_folder() function. Will now return a const reference. 2012-08-18 22:37:10 +02:00
f282cff154 Updated Visual Studio 2008 project file. 2012-08-18 20:55:59 +02:00
eb88a05341 Turned more global objects into pointers in order to allow late initialization. Also slightly restructured the global locks and added another global lock to guard the IPC struct. 2012-08-18 16:36:39 +02:00
cb2b770a88 Made lamexp_arguments() thread-safe, just to be sure. 2012-08-17 23:47:01 +02:00
655876b447 Bump version. 2012-08-17 20:01:06 +02:00
81011c6e40 Updated Opus-Tools binaries to v0.1.4 with latest libopus (2012-08-16), compiled with ICL 12.1.7 and MSVC 10.0. 2012-08-16 23:28:45 +02:00
123706d87e Update Chinese translation. Thanks to 456Vv <123@456vv.com>. 2012-08-15 21:22:46 +02:00
1af98225a1 Made the lamexp_known_folder() function cached. 2012-08-13 23:12:19 +02:00
f026dce18e Updated Visual Studio 2008 project file. 2012-08-13 17:42:28 +02:00
fb79a81013 Updated Visual Studio 2008 project file. 2012-08-12 20:00:26 +02:00
Git User
8724767980 Made some more global functions thread-safe by using locks. Avoids a race condition in the multi-threaded initialization code. 2012-08-12 17:01:17 +02:00
Git User
a4f3abf6a0 Updated MediaInfo binaries to v0.7.59 (2012-08-08), compiled with ICL 12.1.7 and MSVC 10.0. 2012-08-12 17:00:31 +02:00
661a0de52f Updated DCA Enc binary to the build from 2012-04-19. 2012-08-07 23:10:53 +02:00
8cdb7d88c3 Updated Changelog. 2012-08-07 21:22:11 +02:00
df15c53629 Bump minimum required FhgAacEnc version to 2012-08-06. 2012-08-06 23:42:46 +02:00
c8ad241132 Bump minimum required QAAC version v1.39. 2012-08-05 22:40:56 +02:00
637cc4d884 Updated Opus-Tools binaries to v0.1.4, compiled with ICL 12.1.7 and MSVC 10.0. 2012-08-05 21:28:43 +02:00
531660516d Updated mpg123 decoder binary to v1.14.4 (2012-07-26), compiled with GCC 4.6.1. Also includes Windows 2000 bugfix now. 2012-08-05 14:46:11 +02:00
0deb759096 Updated F.A.Q. document. 2012-08-02 23:32:21 +02:00
0ac460b8dd Update changelog. 2012-08-01 21:31:33 +02:00
2cd7fb1faf Updated MediaInfo binary to a current SVN/Trunk version with Opus support. Also removed the preliminary Opus detection hack. 2012-08-01 00:17:12 +02:00
87ebf07930 Removed a superfluous MessageBeep(). 2012-07-31 21:03:43 +02:00
36c8ba7822 Some more refactoring of the event filter functions: De-uglify the "global" event filter function by using more fine-grained filter functions. 2012-07-30 21:44:44 +02:00
3e18116dd5 Added "custom parameters" options for Opus. Also added a "help" button for all "custom parameters" edit boxes, which will simply show the CLI help screen. 2012-07-29 22:55:02 +02:00
c095bbee95 Some refactoring of the macros. Use the "do {...} while(0)" template where it makes sense. 2012-07-29 19:13:58 +02:00
d44c57e009 Updated Opus binaries. Now compiled with runtime CPU-detection. Also we now have builds with "experimental encoder perceptual tuning" from the "exp_analysis7" branch, enabled by default. 2012-07-29 16:46:01 +02:00
701390b7f7 Updated Opus binaries with version the reports progress as percent. Also added SSE2 versions of opusdec/opusenc binaries. 2012-07-24 23:15:10 +02:00
278f9091fb Replaced the Opus encoder/decoder binary wit custom binaries that support UTF-8 file names and flush the console output properly + expose more Opus encoder options in the GUI. 2012-07-21 19:16:12 +02:00
fcceeeaaac Added support for Opus Audio Codec, based on Opus-Tools v0.1.3 (2012-07-10) by Xiph.org/Mozilla 2012-07-20 23:19:08 +02:00
a49c58a96a Updated mpg123 decoder binary to v1.14.3 (2012-07-01), compiled with GCC 4.6.1. 2012-07-12 00:32:09 +02:00
bc668c1501 Updated Changelog. 2012-07-09 00:33:07 +02:00
c8bd61db92 Updated deployment scripts to keep file attributes, 2012-07-02 01:19:32 +02:00
3c89d3c2ef Include the file "PRE_RELEASE_INFO.txt" in all pre-release builds of LameXP. 2012-07-01 21:11:04 +02:00
e49093c5c7 Updated MediaInfo binary to v0.7.58 (2012-05-28), compiled with ICL 12.1.7 and MSVC 10.0. 2012-06-25 21:59:28 +02:00
17794881a4 Extinguished some remaining uses of argv[] or QApplication::arguments(). 2012-06-23 18:18:57 +02:00
30bc239cd8 Now using our own command-line parser, based on GetCommandLineW() + CommandLineToArgvW , instead of using QApplication::arguments(). This is less portable, but Qt's internal command-line parser has some rather strange behavior with processing certain characters. As a result, with Qt's command-line parser, some path names passed to LameXP got screwed up! Specifically "C:\Some Path\''Foo''.mp3" got mangled to "C:\Some Path''Foo''.mp3", i.e. the Backslash disappeared! Should be fixed now. 2012-06-22 15:49:56 +02:00
accee3da7a When generating the initial output-folder name for the Cue Sheet dialog, make sure there is no folder *or* file of that name yet. The previous code did check for folders only! 2012-06-21 18:31:36 +02:00
e69391919a CueSheet Importer: Fixed generation of the initial (suggested) output folder name when the CUE file name ends with one or multiple dots (now really). 2012-05-29 20:52:45 +02:00
d42c8ceaa0 Added one more mirror. 2012-05-29 19:53:53 +02:00
285746235e CueSheet Importer: Fixed generation of the initial (suggested) output folder name when the CUE file name ends with one or multiple dots. 2012-05-29 18:32:28 +02:00
a291771153 Now using a separate QSemaphore to limit the number of tasks in the queue of the QThreadPool. Instead of starting exactly as many task as there are threads in the pool and adding a new task only after a running one finished, we will now keep a fixed number of tasks in the queue (currently hardcoded to 32). Since there always will be more tasks left in the queue than there are threads in the pool, we ensure that no thread will ever become idle. Might be slightly faster than the "old" approach. 2012-05-25 02:24:44 +02:00
428342af21 Fixed HTML code, need to escape the ampersand. 2012-05-20 23:44:50 +02:00
23165c55a0 Some small updates to the file analyzer benchmark code. 2012-05-15 21:34:20 +02:00
c18785ce1e Changed the method to synchronize the analyzer threads: We now use QSet to maintain a list of the thread id's of all threads that are still running - instead of only recording the highest thread id that has finished. This way a thread can now actually check if there still is any running thread with a lower thread id. Before thread n could only check if thread n-1 has finished yet or not. As a result we can relax the waiting now. Only threads that want to emit a file will wait for the "previous" threads to finish. 2012-05-14 00:50:16 +02:00
5f91fc8749 Updated mpg123 decoder binary to v1.14.2 (2012-05-12), compiled with GCC 4.6.1. 2012-05-12 22:37:29 +02:00
df9f181cb4 Bump version. 2012-05-12 13:09:16 +02:00
193488e26f Fix: In order to ensure the "correct" ordering, *all* threads need to wait for the previous threads to finish - not only the threads that will emit a file. If both, thread n and n+1, want to emit a file and thus n+1 has to wait for n, we additionally must allow thread n+2 to terminate before n and n+1, even if n+2 does *not* emit a file. That's because as soon as n+2 finishes, it unblocks all threads x with x < n+2, which includes n and n+1. If that happens and n+1 is still waiting for n, we effectively allow n+1 to emit its file *before* n. By blocking all threads x with x > n+1 until n+1 has finished (regardless of whether they want to emit a file or not) this problem is resolved. As long as we assume that most threads actually *do* emit a file, this commit shouldn't hurt the performance. 2012-05-12 02:51:24 +02:00
68d2a28c7b Updated MediaInfo binary to v0.7.57 (2012-05-02), compiled with ICL 12.1.7 and MSVC 10.0. 2012-05-12 02:41:20 +02:00
9175daae0d Some code refactoring regarding the QWaitCondition/QMutex in FileAnalyzer_Task. 2012-05-09 02:54:41 +02:00
814b725fe3 Slightly improved progress indicator for file analyzer: Additional files from playlists are now taken into account earlier. 2012-05-08 01:12:26 +02:00
21154b10c4 Some speed-optimizations for the Progress model. 2012-05-07 03:03:14 +02:00
72e8558b5f Added progress indicator to CueSheet import thread. 2012-05-06 23:58:18 +02:00
e13b93f51b Implemented progress indicator for the working banner. 2012-05-06 04:57:00 +02:00
a7a776ed82 Implemented a method to disables update signals from the FileList model. This will significantly speed-up adding a lot files, but comes with the drawback that updates won't be visible immediately. 2012-05-05 21:56:14 +02:00
160b997c76 Now using a QWaitCondition to synchronize the FileAnalyzer threads. 2012-05-05 03:55:27 +02:00
2b514558f9 Fixed a regression in b00b527897. 2012-05-04 21:43:44 +02:00
7d36e9d82e Some minor tweaks to the multi-threaded FileAnalyzer class. 2012-05-04 16:40:02 +02:00
b00b527897 Rewrote FileListModel class to use a QHash map internally. This should speed-up the lookup, especially when adding a huge number of files. 2012-05-04 16:39:02 +02:00
5d69b91c5b Fixed a potential stack overflow due to a QApplication::processEvents() that was called from within a slot which may itself be called again while event processing (leading to a recursion that can eventually overflow the stack!) 2012-05-04 16:38:05 +02:00
14492b9c49 Implemented multi-threading for file analyzer. Now multiple files can be analyzed in parallel. This should speed-up adding files quite a bit, especially when a huge number of files is added at once. 2012-05-04 04:01:10 +02:00
1da4db9594 Made tool registry thread-safe, using a QReadWriteLock. 2012-05-03 23:11:16 +02:00
6cfcf067cc Implemented multi-threading for tool extraction. The extraction of the tools is limited by a/v software. Without an a/v software interfering, the extraction takes no time (less than a second on the test machine). With an a/v software slowing down things, it can take up to 20 seconds or longer. By extracting several files in parallel, we give the a/v software the chance to take advantage of multi-threading. Should help quite a bit, on multi-core systems. 2012-04-29 21:17:51 +02:00
c2a41d783f Development open for version 4.05 now. 2012-04-29 18:00:06 +02:00
f9f70514dd Added Swedish translation. Thanks to Åke Engelbrektson <eson57@gmail.com>. 2012-04-29 17:35:14 +02:00
1364183abc Version v4.04 is released! 2012-04-26 13:43:40 +02:00
26694de518 Updated FAQ document. 2012-04-23 22:50:20 +02:00
caf835dbf9 Better method to prevent MediaInfo from detecting playlist files. 2012-04-20 22:39:19 +02:00
5ff45cd494 Changed temporary installer file name. 2012-04-20 21:11:06 +02:00
d326d39a72 Bump version. 2012-04-19 20:25:12 +02:00
9dccdbee57 Workaround for a recent change in MediaInfo's behavior for M3U playlist files. 2012-04-19 14:40:05 +02:00
9481029960 Make it possible to remove items with the DEL key. 2012-04-19 00:56:04 +02:00
80ef7e0563 Bump version. 2012-04-18 23:15:39 +02:00
40c8874313 Updated Chinese/Taiwanese translation. Thanks to 456Vv <123@456vv.com>. 2012-04-18 22:53:07 +02:00
b2bddd9072 Updated VS2008 project files. 2012-04-17 16:42:30 +02:00
20a9e2632b Added one missing NOBR(). 2012-04-16 18:52:45 +02:00
e8864878a1 Updated German translation. 2012-04-16 01:21:54 +02:00
3bdd8e97a6 Updated Polish translation. Thanks to Sir Daniel K <sir.daniel.k@gmail.com>. 2012-04-15 15:35:26 +02:00
d16323d546 Updated dcaenc binary to version 2012-01-14. 2012-04-15 02:15:32 +02:00
b231e078c1 Updated Spanish translation. Thanks to Rub3n CT <rub3nct@gmail.com>. 2012-04-14 20:10:15 +02:00
c41c904ffa Detect Windows 8 and detect if Windows 8 is running in "compatibility mode" for Windows 7. 2012-04-13 16:37:47 +02:00
1972bb3d2d Bump version. 2012-04-12 14:08:56 +02:00
599519efd2 Updated Qt runtime libraries to v4.8.1 (2012-03-14), compiled with MSVC 10.0. 2012-04-12 03:18:48 +02:00
255b21ab2c Added yet another configuration to build LameXP with *static* Qt5 libraries. Still experimental! 2012-04-11 03:08:31 +02:00
48a23c27d7 Added a new configuration for initial Qt 5.0 support. Needed a few code-changes and workarounds. Highly experimental! 2012-04-11 00:44:40 +02:00
6fa4e9e21d Updated MediaInfo binary to v0.7.56 (2012-04-08), compiled with ICL 12.1.7 and MSVC 10.0. 2012-04-10 03:52:03 +02:00
71b125805c Small optimization of lamexp_themes_enabled(). 2012-04-10 03:51:04 +02:00
027471b385 Updated MediaInfo binary to v0.7.55 (2012-04-05), compiled with ICL 12.1.7 and MSVC 10.0. 2012-04-10 01:25:34 +02:00
f05365e383 Fixed a few memory leaks found by VLD. 2012-04-06 23:15:58 +02:00
7016383fbb Added support for the Visual Leak Detector. This effects "Debug" builds only. 2012-04-06 22:24:05 +02:00
2023c98546 Slightly changed temporary installer name. 2012-04-06 16:22:08 +02:00
d16a116a1d Fix potential memory leak: According to the docs, setModel() creates and sets a new SelectionModel, so we need to remember and delete the "old" SelectionModel. 2012-04-06 16:15:19 +02:00
3b2892b2fd Bump version. 2012-04-06 02:00:44 +02:00
65423ba125 Don't check for elevation on Wine. It seems Wine always runs the process elevated (tested under Wine 1.4 on Ubuntu 12.04). 2012-04-05 16:24:33 +02:00
b3df635784 Changed creation of QFileSystemModel. Object will now be created when the user first visits the "Output Folder" tab. Also added option to "refresh" the directory outline, which will effectively destroy and re-create the QFileSystemModel in order to discard all data that may be cached. 2012-04-05 15:24:45 +02:00
cdf300cd22 Some more Wine workarounds: Disable x64 binaries, as it seems they fail to load under Wine (tested with Wine 1.4 under Ubuntu 12.04 x64). 2012-04-05 13:40:52 +02:00
6adb7b94e7 Updated Russian translation. Thanks to Иван Митин <bardak@inbox.ru>. 2012-04-02 23:33:47 +02:00
6dca891474 Slightly changed cache handling. 2012-03-31 22:20:07 +02:00
17278fb7a6 Use the 'FindExInfoBasic' information level on supported OS (Windows 7 and later). Should further speed-up things. 2012-03-31 16:27:37 +02:00
18b0993d3b Now using FindFirstFileEx() on supported OS. Should be a bit faster, as we can request the FindExSearchLimitToDirectories search limit. 2012-03-30 15:28:47 +02:00
602e1691c4 Various tweaks to improve the QFileSystemModel performance. Also slightly improved the initialization. 2012-03-30 03:35:43 +02:00
158588b3ec Some code refactoring and clean-up. 2012-03-29 19:08:33 +02:00
78c73d6d6e Some improvement of the previous commit. 2012-03-29 03:22:24 +02:00
9b41e9c6a9 New workaround to focus the selected item in the "output folder" view: As the focus will get lost again when the QFileSystemModel asynchronously loads a directory, we need to focus again on each directory loaded. Though we must stop focusing on the selected item, as soon as the user expands a folder. Otherwise the view would scroll unexpectedly... 2012-03-29 01:32:47 +02:00
47f0f1629c Some tweaks to the initialization of the QFileSystem model. 2012-03-28 02:21:34 +02:00
28f7a0cd50 Improved output folder LineEdit. 2012-03-27 22:46:01 +02:00
1738ea5b6e Added button to edit the current output path in a simple LineEdit control. 2012-03-26 22:02:11 +02:00
b4aaaccdf2 Use _beginthreadex() instead of calling CreateThread() directly. This is more correct, when using the MSVCRT. 2012-03-26 04:40:49 +02:00
ca933d1b7e Minor code clean-up. 2012-03-24 19:10:37 +01:00
ff452c17ca Yet another workaround for the previous commit. 2012-03-24 01:29:06 +01:00
2da05e2324 Better workaround for the previous commit. 2012-03-23 01:29:50 +01:00
18094c66f0 Workaround for Windows XP: It appears that QThread::isRunning() may return TRUE even after the QThread object has already emitted the "finished" signal. For some reason this only occurs on Windows XP, but never occurs on my Windows 7 machine. As a workaround we will call QThread::yieldCurrentThread() and then try again. This seems to fix the issue on my Windows XP machine. 2012-03-22 22:26:54 +01:00
f058efa87c Updated MediaInfo binary to v0.7.54 (2012-03-13), compiled with ICL 12.1.7 and MSVC 10.0. 2012-03-21 20:54:47 +01:00
89717e440b Updated SoX binary to v14.4.0 (2012-03-04), compiled with ICL 12.1.7 and MSVC 10.0. 2012-03-16 00:54:51 +01:00
a7a77b9e92 Updated mpg123 decoder binary to v1.13.6 (2011-03-11), compiled with GCC 4.6.1. 2012-03-11 20:25:34 +01:00
d1c2e8d764 Updated mpg123 decoder binary to v1.13.5 (2011-03-07), compiled with GCC 4.6.1. 2012-03-10 13:28:18 +01:00
84450ed6b3 Updated GnuPG binaries to v1.4.12, compiled with GCC 4.6.1. 2012-03-10 03:51:22 +01:00
b0937f9001 More FLAC workarounds. Using "--channel-map=none" will fix most cases, although we will loose the channel map for Wave files that contain a valid channel map. On the other hand, FLAC fails most of the time when trying to use the channel map from the Wave file. 2012-03-09 01:11:29 +01:00
53af74148d Some workarounds for FLAC. It seems FLAC doesn't like 1.0, 3.0, 3.1, 4.0 channel files. It also doesn't like more than 6 channels. It still fails with files that have >2 channels and are NOT in the "Wave Extensible" format. 2012-03-09 00:44:55 +01:00
a2dc3bb295 Fixed detection of 32-Bit Float data via SoX. For whatever reason SoX returns a "precision" of "24-Bit" for 32-Bit Float Wave files, so we have to detect the actual precision from the "sample encoding". 2012-03-08 23:04:00 +01:00
f47b033953 Set supported input formats for FHG AAC encoder. 2012-03-08 01:35:04 +01:00
326fd32ef6 Fixed detection of bit depth. 2012-03-08 01:34:00 +01:00
1d52b628d1 Show which AAC encoder is being used in the GUI. 2012-03-06 22:29:55 +01:00
94d50c9d16 Updated docs for the FHG/QAAC AAC encoder add-in's. 2012-03-06 19:22:55 +01:00
c5b692ffd8 Use the Job Object only on Windows XP and later. This avoids a bunch of warnings on Windows 2000, because SetInformationJobObject() is going to fail there. 2012-03-02 14:31:13 +01:00
80df6532cd Updated LAME encoder binary to v3.99.5 Final (2012-02-28), compiled with ICL 12.1.7 and MSVC 10.0. 2012-03-01 23:31:13 +01:00
a450862150 Patched Qt's QProcess class to pass the CREATE_BREAKAWAY_FROM_JOB flag when creating a new process. This is required, because Windows (Vista and later) will add our child processes to the PCA (Program Compatibility Assistant) job object automatically! And then we cannot add the child processes to our own job object, as a process can be assigned to only one job object. With the CREATE_BREAKAWAY_FROM_JOB flag, we ensure that our child processes does NOT get added to the PCA job object automatically and we can add it to our own job object again. Unfortunately QProcess does NOT provide a way to pass process creation flags yet, so we have to patch Qt for now. Passing the CREATE_BREAKAWAY_FROM_JOB flag may not always be desired though... 2012-03-01 23:14:41 +01:00
2ee08c5f4b Fixed a regression in d92fb7fbcc: We must not close the handle to the Job Object, as long as there still might be a process "tool" running. The regression caused child processes to be terminated unexpectedly sometimes! We now use reference counting in order to avoid this problem. 2012-03-01 02:45:21 +01:00
2c7f740fb9 Updated Changelog. 2012-02-26 15:05:18 +01:00
326c788c8a Updated SoX binary to v14.4.0 RC-3 (2012-02-20), compiled with ICL 12.1.7 and MSVC 10.0. Now the default normalization method is "-n" again. 2012-02-24 22:12:28 +01:00
86e17a04ff Bump version + update Changelog file. 2012-02-23 21:21:02 +01:00
3c1938af3c Fixed a potential live-lock situation: Signals from the QThread can get lost, before we reach the QEventLoop->exec(), even if the required connections already exists. It seems that QApplication::processEvents() will discard signals for our QEventLoop, if that QEventLoop is not running yet! Without the QApplication::processEvents(), those signals would simply be enqueued until we call QEventLoop->exec(). In reality this bug was never triggered under normal circumstances, but it seems on some systems it can take longer to perform the "fade in" than to finish the initialization thread. In that situation the bug *was* triggered and caused the live-lock... 2012-02-23 17:00:22 +01:00
d92fb7fbcc Updated Monkey's Audio binary to v4.11 (2011-04-20), including STDERR flush fix. 2012-02-21 22:36:13 +01:00
97ab6bd0be Fix regular expression for new version of Monkey's Audio. 2012-01-27 03:21:59 +01:00
dbd0c860e1 Updated Musepack decoder to output progress info. Also added code to parse the output. 2012-01-26 22:26:52 +01:00
871866606d Updated Musepack decoder binary to revision 475 (2011-08-10), compiled with ICL 12.1.6 and MSVC 10.0. 2012-01-26 21:32:53 +01:00
149910135c Updated Monkey's Audio binary to v4.10 (2011-04-16). 2012-01-26 03:07:03 +01:00
7d95f114a2 Try to keep the window of the Web Updater tool focused. 2012-01-24 02:46:29 +01:00
3630e54f4e Slightly improved "announce" message box. 2012-01-24 01:19:09 +01:00