Commit Graph

850 Commits

Author SHA1 Message Date
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
8e4b622144 Updated Ukrainian translation file. 2012-07-29 16:58:22 +02:00
7a04d503eb Merge branch 'master' of github.com:lordmulder/LameXP
Conflicts:
	etc/Translation/LameXP_UK.ts
2012-07-29 16:56:42 +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
arestarh
9e83f4cf0a Updated Ukrainian translation (fix for previous commit). 2012-07-28 00:16:06 +03:00
arestarh
b8d459130f Updated Ukrainian translation. 2012-07-28 00:11:15 +03: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
4c69411a19 Added Opus patch for Unicode support and real-time progress updates (flush). 2012-07-22 00:09:28 +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
eb590289aa Popup "PRE_RELEASE_INFO.txt" during the setup procedure, if the file exists. 2012-07-01 21:33:04 +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
61dc8e34c4 Updated VS2008 project file. 2012-05-24 12:59:58 +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