9a7f0d5176Small optimization of known_folder() function. Will now return a const reference.LoRd_MuldeR2012-08-18 22:37:10 +02:00
f282cff154Updated Visual Studio 2008 project file.lordmulder2012-08-18 20:55:59 +02:00
eb88a05341Turned 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.LoRd_MuldeR2012-08-18 16:36:39 +02:00
2cb3ec7719Update Taiwanese translation. Thanks to 456Vv <123@456vv.com>.LoRd_MuldeR2012-08-18 03:34:49 +02:00
cb2b770a88Made lamexp_arguments() thread-safe, just to be sure.LoRd_MuldeR2012-08-17 23:47:01 +02:00
81011c6e40Updated Opus-Tools binaries to v0.1.4 with latest libopus (2012-08-16), compiled with ICL 12.1.7 and MSVC 10.0.LoRd_MuldeR2012-08-16 23:28:45 +02:00
123706d87eUpdate Chinese translation. Thanks to 456Vv <123@456vv.com>.LoRd_MuldeR2012-08-15 21:22:46 +02:00
1af98225a1Made the lamexp_known_folder() function cached.LoRd_MuldeR2012-08-13 23:12:19 +02:00
b9e4649964Updated Korean translation. Thanks to JaeHyung Lee <kolanp@gmail.com>.lordmulder2012-08-13 17:52:52 +02:00
f026dce18eUpdated Visual Studio 2008 project file.lordmulder2012-08-13 17:42:28 +02:00
fb79a81013Updated Visual Studio 2008 project file.lordmulder2012-08-12 20:00:26 +02:00
0cf40d56d8Updated Polish translation. Thanks to Sir Daniel K <sir.daniel.k@gmail.com>.
Git User
2012-08-12 17:26:26 +02:00
8724767980Made some more global functions thread-safe by using locks. Avoids a race condition in the multi-threaded initialization code.
Git User
2012-08-12 17:01:17 +02:00
a4f3abf6a0Updated MediaInfo binaries to v0.7.59 (2012-08-08), compiled with ICL 12.1.7 and MSVC 10.0.
Git User
2012-08-12 17:00:31 +02:00
df15c53629Bump minimum required FhgAacEnc version to 2012-08-06.lordmulder2012-08-06 23:42:46 +02:00
c8ad241132Bump minimum required QAAC version v1.39.lordmulder2012-08-05 22:40:56 +02:00
637cc4d884Updated Opus-Tools binaries to v0.1.4, compiled with ICL 12.1.7 and MSVC 10.0.lordmulder2012-08-05 21:28:43 +02:00
531660516dUpdated mpg123 decoder binary to v1.14.4 (2012-07-26), compiled with GCC 4.6.1. Also includes Windows 2000 bugfix now.lordmulder2012-08-05 14:46:11 +02:00
2cd7fb1fafUpdated MediaInfo binary to a current SVN/Trunk version with Opus support. Also removed the preliminary Opus detection hack.lordmulder2012-08-01 00:17:12 +02:00
87ebf07930Removed a superfluous MessageBeep().lordmulder2012-07-31 21:03:43 +02:00
36c8ba7822Some more refactoring of the event filter functions: De-uglify the "global" event filter function by using more fine-grained filter functions.lordmulder2012-07-30 21:44:44 +02:00
3e18116dd5Added "custom parameters" options for Opus. Also added a "help" button for all "custom parameters" edit boxes, which will simply show the CLI help screen.lordmulder2012-07-29 22:55:02 +02:00
c095bbee95Some refactoring of the macros. Use the "do {...} while(0)" template where it makes sense.lordmulder2012-07-29 19:09:15 +02:00
7a04d503ebMerge branch 'master' of github.com:lordmulder/LameXPlordmulder2012-07-29 16:56:42 +02:00
d44c57e009Updated 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.lordmulder2012-07-29 16:46:01 +02:00
701390b7f7Updated Opus binaries with version the reports progress as percent. Also added SSE2 versions of opusdec/opusenc binaries.lordmulder2012-07-24 23:15:10 +02:00
4c69411a19Added Opus patch for Unicode support and real-time progress updates (flush).lordmulder2012-07-22 00:09:28 +02:00
278f9091fbReplaced 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.lordmulder2012-07-21 19:16:12 +02:00
fcceeeaaacAdded support for Opus Audio Codec, based on Opus-Tools v0.1.3 (2012-07-10) by Xiph.org/Mozillalordmulder2012-07-20 23:19:08 +02:00
a49c58a96aUpdated mpg123 decoder binary to v1.14.3 (2012-07-01), compiled with GCC 4.6.1.lordmulder2012-07-12 00:32:09 +02:00
c8bd61db92Updated deployment scripts to keep file attributes,lordmulder2012-07-02 01:19:32 +02:00
eb590289aaPopup "PRE_RELEASE_INFO.txt" during the setup procedure, if the file exists.lordmulder2012-07-01 21:33:04 +02:00
3c89d3c2efInclude the file "PRE_RELEASE_INFO.txt" in all pre-release builds of LameXP.lordmulder2012-07-01 21:11:04 +02:00
e49093c5c7Updated MediaInfo binary to v0.7.58 (2012-05-28), compiled with ICL 12.1.7 and MSVC 10.0.lordmulder2012-06-25 21:59:28 +02:00
17794881a4Extinguished some remaining uses of argv[] or QApplication::arguments().lordmulder2012-06-23 18:18:57 +02:00
30bc239cd8Now 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.lordmulder2012-06-22 15:49:56 +02:00
accee3da7aWhen 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!lordmulder2012-06-21 18:31:36 +02:00
e69391919aCueSheet Importer: Fixed generation of the initial (suggested) output folder name when the CUE file name ends with one or multiple dots (now really).lordmulder2012-05-29 20:52:45 +02:00
285746235eCueSheet Importer: Fixed generation of the initial (suggested) output folder name when the CUE file name ends with one or multiple dots.lordmulder2012-05-29 18:32:28 +02:00
a291771153Now 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.lordmulder2012-05-25 02:24:44 +02:00
428342af21Fixed HTML code, need to escape the ampersand.lordmulder2012-05-20 23:44:50 +02:00
23165c55a0Some small updates to the file analyzer benchmark code.lordmulder2012-05-15 21:34:20 +02:00
c18785ce1eChanged 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.lordmulder2012-05-14 00:50:16 +02:00
5f91fc8749Updated mpg123 decoder binary to v1.14.2 (2012-05-12), compiled with GCC 4.6.1.lordmulder2012-05-12 22:37:29 +02:00
193488e26fFix: 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.lordmulder2012-05-12 02:51:24 +02:00
68d2a28c7bUpdated MediaInfo binary to v0.7.57 (2012-05-02), compiled with ICL 12.1.7 and MSVC 10.0.lordmulder2012-05-12 02:41:20 +02:00
9175daae0dSome code refactoring regarding the QWaitCondition/QMutex in FileAnalyzer_Task.lordmulder2012-05-09 02:54:41 +02:00
814b725fe3Slightly improved progress indicator for file analyzer: Additional files from playlists are now taken into account earlier.lordmulder2012-05-08 01:12:26 +02:00
21154b10c4Some speed-optimizations for the Progress model.lordmulder2012-05-07 03:03:14 +02:00
72e8558b5fAdded progress indicator to CueSheet import thread.lordmulder2012-05-06 23:58:18 +02:00
e13b93f51bImplemented progress indicator for the working banner.lordmulder2012-05-06 04:57:00 +02:00
a7a776ed82Implemented 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.lordmulder2012-05-05 21:56:14 +02:00
160b997c76Now using a QWaitCondition to synchronize the FileAnalyzer threads.lordmulder2012-05-05 03:55:27 +02:00
2b514558f9Fixed a regression in b00b5278971615fb2601072abd39264cc59b4652.lordmulder2012-05-04 21:43:44 +02:00
7d36e9d82eSome minor tweaks to the multi-threaded FileAnalyzer class.lordmulder2012-05-04 16:40:02 +02:00
b00b527897Rewrote FileListModel class to use a QHash map internally. This should speed-up the lookup, especially when adding a huge number of files.lordmulder2012-05-04 16:39:02 +02:00
5d69b91c5bFixed 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!)lordmulder2012-05-04 16:38:05 +02:00
14492b9c49Implemented 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.lordmulder2012-05-04 04:01:10 +02:00
1da4db9594Made tool registry thread-safe, using a QReadWriteLock.lordmulder2012-05-03 23:11:16 +02:00
6cfcf067ccImplemented 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.lordmulder2012-04-29 21:17:51 +02:00
c2a41d783fDevelopment open for version 4.05 now.lordmulder2012-04-29 18:00:06 +02:00
af75929e00Added Swedish translation. Thanks to Åke Engelbrektson <eson57@gmail.com>.lordmulder2012-04-29 17:41:16 +02:00
f9f70514ddAdded Swedish translation. Thanks to Åke Engelbrektson <eson57@gmail.com>.lordmulder2012-04-29 17:35:14 +02:00