Commit Graph

824 Commits

Author SHA1 Message Date
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
af75929e00 Added Swedish translation. Thanks to Åke Engelbrektson <eson57@gmail.com>. 2012-04-29 17:41:16 +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
1bff20e6b9 Fixed a type in German translation. 2012-04-21 13:36:56 +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
6e3f038941 Fixed language codes. 2012-04-18 23:04:51 +02:00
40c8874313 Updated Chinese/Taiwanese translation. Thanks to 456Vv <123@456vv.com>. 2012-04-18 22:53:07 +02:00
171e5938aa Updated Russian translation. Thanks to Иван Митин <bardak@inbox.ru>. 2012-04-18 22:52:05 +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
1d6b4a866b Updated Korean translation. Thanks to JaeHyung Lee <kolanp@gmail.com>. 2012-04-15 15:34:47 +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
fc29c67f93 Small update to translator's guide. 2012-04-14 17:35:00 +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
Andriy Bilous'ko
d2d9a60b13 Updated Ukrainian translation. 2012-04-13 09:03:30 +03: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