|
8a64624ba4
|
Use the THROW macro instead of plain "throw" in the complete project.
|
2013-10-18 21:37:40 +02:00 |
|
|
e7872a52ae
|
Small improvement in InitializationThread class.
|
2013-10-16 03:31:14 +02:00 |
|
|
9dbb317a5c
|
Redesigned FileAnalyzer and Analyzer task. New design is much cleaner, resulting in simpler code and faster file import performance. Also, playlist files are now handled ahead of everything else, which makes sure the progress indicator increases monotonically. Preliminary tests show that file import performance has been more than doubled! For example, the time for importing ~1000 files decreased from 116 seconds to 46 seconds on the development machine, which corresponds to a 2.5x speed-up.
|
2013-10-06 19:26:08 +02:00 |
|
|
8f77ee3b5f
|
Ignore case when sorting file names.
|
2013-08-23 19:16:40 +02:00 |
|
|
409117ec39
|
Implemented "natural ordering" for sorting the input files. Code is based on the strnatcmp() by Martin Pool, released under the "zlib" license.
|
2013-08-23 00:19:00 +02:00 |
|
|
bd0a370aee
|
Welcome to year 2013 ;-)
|
2013-02-08 23:57:50 +01: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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
7d36e9d82e
|
Some minor tweaks to the multi-threaded FileAnalyzer class.
|
2012-05-04 16:40:02 +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 |
|
|
caf835dbf9
|
Better method to prevent MediaInfo from detecting playlist files.
|
2012-04-20 22:39:19 +02:00 |
|
|
9dccdbee57
|
Workaround for a recent change in MediaInfo's behavior for M3U playlist files.
|
2012-04-19 14:40:05 +02:00 |
|
|
326fd32ef6
|
Fixed detection of bit depth.
|
2012-03-08 01:34:00 +01:00 |
|
|
0fc8c5bae4
|
Updated MediaInfo binaries with latest fix to properly handle tags with a "\n" when the "--inform" mode is used. Also improved internal handling of multiple streams.
|
2012-01-14 20:28:43 +01:00 |
|
|
603d21545b
|
Updated file analyzer to use the "--inform" parameter of MediaInfo with a template file. Much simplifies the parsing of MediaInfo's output. Also much improved cover art retrieval.
|
2012-01-14 01:11:58 +01:00 |
|
|
9b687fff9a
|
Happy New Year 2012!
|
2012-01-02 00:52:27 +01:00 |
|
|
5cac3faa8b
|
Make sure that the extracted "cover art" image file is valid.
|
2011-11-19 14:06:39 +01:00 |
|
|
84053a76f4
|
Use qMin() and qMax() instead of min() and max() macros. Also use qBound() where appropriate.
|
2011-11-08 15:12:31 +01:00 |
|
|
282528ea67
|
Set text codec to UTF-8, so qDebug/qWarning/qFatal don't destroy Unicode strings. Also remove qDebug64() and friends, as we don't need them any more.
|
2011-09-29 20:06:09 +02:00 |
|
|
85cc4daac3
|
Make the FileAnalyzer remember the recently analyzed files. This way the audio files won't be MediaInfo'ed twice, when adding a folder that contains audio files *and* a playlist references these audio files.
|
2011-09-06 00:51:00 +02:00 |
|
|
ff622e29c0
|
Fixed a bug that could files to be added twice. Files weren't actually added two times, because we have a check for duplicate files later, but the error message for unsupported/rejected files did pop up twice!
|
2011-07-28 13:37:00 +02:00 |
|
|
d452e92bd4
|
Detect and show audio bitrate + added an option to copy a file's meta info to the 'meta info' tab + do not jump to first tab on minimize/restore.
|
2011-05-31 19:04:45 +02:00 |
|
|
e83b2149f5
|
Once again updated 'avs2wav' tool. Should now create more correct Wave files that Nero AAC encoder will accept.
|
2011-05-22 20:35:17 +02:00 |
|
|
b0a6432b88
|
Make Avisynth analyzer check the exit code of avs2wav.
|
2011-05-21 23:51:28 +02:00 |
|
|
eece27de06
|
Much improved Avisynth input. Now actually detect Avisynth scripts and read meta-info.
|
2011-05-21 21:08:10 +02:00 |
|
|
773576b3a4
|
Added support for Avisynth input (audio only!) using the 'avs2wav' tool. This is a stripped-down and cleaned-up version of the tool by Jory Stone <jcsston@toughguy.net>.
|
2011-05-19 23:07:46 +02:00 |
|
|
db661fc50c
|
Show a warning when the user tries to add a Cue Sheet like a normal file.
|
2011-05-17 01:14:50 +02:00 |
|
|
5cccd4de81
|
Implemented a better method to abort FileAnalyzer thread.
|
2011-05-16 21:02:24 +02:00 |
|
|
fe33e70247
|
Updated MediaInfo binaries to v0.7.45 Beta/Trunk (2011-05-02), compiled with ICL 12.0.3 and MSVC 10.0 + remove workaround for MediaInfo line-break bug.
|
2011-05-02 12:31:50 +02:00 |
|
|
837cc90840
|
Added workaround for MediaInfo's line break bug (regression in latest MediaInfo).
|
2011-04-25 21:13:52 +02:00 |
|
|
4bb7185a0f
|
Added global exception handler routine.
|
2011-04-17 15:53:28 +02:00 |
|
|
fa2a5a3754
|
Make it possible to abort the operation when adding files or when scanning for directories. Press "ESC" key to abort!
|
2011-04-11 21:57:16 +02:00 |
|
|
431ed392e2
|
Rewrote initialization code: Instead of extracting all binaries at startup and later selecting the suitable binary for the detected CPU, we will now extract only the binaries that are suitable for the detected CPU. This way we need to extract fewer files at startup. Also CPU selection can be skipped later, as there will be only one registered binary for each tool (the one suitable for the CPU).
|
2011-04-11 02:53:29 +02:00 |
|
|
1115a33264
|
Added support for adding, editing and clearing cover artwork by the user.
|
2011-03-22 17:33:03 +01:00 |
|
|
bbf7e8f446
|
Refactored the handling of cover artwork files into a separate class.
|
2011-03-21 22:51:47 +01:00 |
|
|
157542f730
|
Initial support for cover artwork.
|
2011-03-20 23:32:11 +01:00 |
|
|
cf45f0391f
|
Detect the .cda files that can be found in the root of the "dummy" file systems that Windows emulates for Audio-CD's. If such files are encountered, we tell the user gently to rip the audio tracks with EAC.
|
2011-03-19 15:35:17 +01:00 |
|
|
c4983e3a4c
|
Added macros for a Unicode-safe version of qDebug(), qWarning() and qFatal(). These will pass the UFT-8 string with a Base64 encoding.
|
2011-03-12 21:58:46 +01:00 |
|
|
4973aeca68
|
Implemented a workaround to pass UTF-8 strings through qDebug(): As the argument of qDebug() is defined as char*, we cannot pass UTF-16 strings. And as qDebug() mangles UTF-8 strings, we cannot pass UTF-8 encoded strings directly either. Consequently we will now encode UTF-8 strings as Base64 before passing them to qDebug(). A special prefix ("@BASE64@") is used to indicate Base64 encoded strings.
|
2011-03-10 02:07:51 +01:00 |
|
|
b210b0e826
|
Refactor playlist importer into a separate class.
|
2011-01-31 21:02:47 +01:00 |
|
|
628bf3de25
|
Improve ASX/WPL parser. Should be more XML-conform now.
|
2011-01-31 16:55:24 +01:00 |
|
|
571625a032
|
Added support for playlist import (M3U, PLS, ASX and WPL).
|
2011-01-30 21:49:32 +01:00 |
|
|
96db5e86c2
|
Happy new year!
|
2011-01-01 17:04:25 +01:00 |
|