Commit Graph

145 Commits

Author SHA1 Message Date
1f001a65e2 Better handling of system shutdown. Now using the Qt event system to broadcast a special event when the system is going to shutdown (i.e. WM_QUERYENDSESSION or WM_ENDSESSION). This gives each top-level widget the chance to react to the system shutdown *before* we return from the message handler. Doing any clean-up after returning from the message handler is impossible, because Windows will kill the process immediately after WM_ENDSESSION has been processed. Note that Windows XP (and earlier) will NOT send WM_QUERYENDSESSION or WM_ENDSESSION to processes that have a console attached! Therefore, if we have a debug console attached, we cannot do anything on these systems. Our process will be killed without any notification...
Also improved LameXP's IPC mechanism: There now are several slots for IPC-commands in the shared memory area ("queue support"). This way, the sender can post several commands in sequence without getting blocked. The receiver can process those at a later time.
2011-12-29 14:42:20 +01:00
9a9d2e6819 Explicitly handle WM_QUERYENDSESSION and WM_ENDSESSION messages to make sure LameXP won't block Windows from shutting down. 2011-12-27 05:04:53 +01:00
a96237e6b2 Some refactoring of the icon initialization code. 2011-12-26 21:02:55 +01:00
30f1795d32 Added some more "special" application icons. 2011-12-25 01:00:11 +01:00
a0a29b9551 Experimental support for dcaenc, by Alexander E. Patrakov <patrakov@gmail.com>. 2011-12-22 21:53:25 +01:00
d5c5aacb8b Apply Horner scheme to avoid costly exponentiation. 2011-11-28 15:38:45 +01:00
5585d53fc7 Print the total duration when the process is completed. 2011-11-28 00:35:43 +01:00
c1b88a7d07 Slightly tweaked formula to selected the number of instances based on CPU count. Maximum value is now 16. 2011-11-27 02:06:03 +01:00
431bf4b9ff Much simplify cores2instances() function by using a LUT. 2011-11-26 17:25:33 +01:00
d81f65e7e7 Yet another new formula to selected the number of instances based on CPU count. This time a few desired 'sample points' have been defined and a 'cubic spline' through these sample points has been approximated. This solution should be more mathematically correct. 2011-11-26 15:30:24 +01:00
284e796e72 New formula to selected the number of instances based on CPU count. 2011-11-26 02:47:48 +01:00
6a90dad03f Adjusted QAAC detection for shared 'libsoxrate' library. 2011-11-22 23:48:54 +01:00
3e7ae9642c Changed detection of QAAC for the new fully-static build. 2011-11-21 22:28:14 +01:00
da5dfdc85e Added optional support for the QAAC encoder. Requires QuickTime v7.7.1 (or later) and the QAAC front-end. 2011-11-21 01:22:41 +01:00
a2cae5c288 Slightly tweak algorithm to automatically set the number of instances: Instead of restricting the number of instances to 4, we now use '(cpu_cores / 2) + 2' instances for more than 4 CPU cores. For at most 4 CPU cores, we still use 'cpu_cores' instances. This way we can use more than 4 instances on CPU's with more than 4 cores, but the number of instances won't grow linearly with the number of CPU cores - should help a bit to avoid HDD thrashing. 2011-11-16 22:53:18 +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
5a32fc3b82 Implemented a more correct way to initialize the ITaskbarList3 interface. We now actually wait for the "TaskbarButtonCreated" message. 2011-11-07 17:13:41 +01:00
623d149917 Fixed context menu position mapping in "processing" dialog. 2011-10-30 22:23:33 +01:00
a7126f42d2 Display "N/A" if CPU usage cannot be determined (as on Win2k). 2011-10-30 21:41:00 +01:00
b1098f4177 Bump patch version + minor improvements to previous commit. 2011-10-29 21:11:51 +02:00
02b7cdc3e1 Added indicators for current CPU usage, RAM usage and free disk space to the processing window. 2011-10-29 16:26:09 +02:00
0126635669 Fixed a bug with the "Prepend relative source file path to output file" option: This option should not be in effect when "Save output files to the same location where the input file is located" is enabled. Therefore, in the GUI, the "Prepend relative source file path to output file" option was correctly disabled (greyed out) when "Save output files to the same location where the input file is located" was checked. Nonetheless "Prepend relative source file path to output file" could still be in effect, if the user had checked that option *before* it had been disabled (greyed out). This is fixed now. 2011-10-24 00:31:46 +02:00
01bc64859d Added a hint that the version number in the name of the ZIP file, which Nero offers for download, doesn't tell the whole truth. 2011-10-23 18:05:27 +02:00
a98206bd70 Added an option to hibernate the computer ("suspend to disk") instead of shutting it down ("power off"). 2011-10-22 01:13:28 +02:00
af7bb2026a Made the channel equalization mode of the "normalization" filter an advanced option. The "-ne" mode still is default, be you can use "-nb" or even "-n" now. The last one still has problems with multi-channel files. 2011-10-06 23:55:42 +02:00
c08fa1493a Added support for a few Playlist file name prefixes. Will be chosen based on the file names in the Playlist. 2011-09-06 18:47:13 +02:00
bcbd8defce Revert: Avoid applying the Downmix filter on Mono/Stereo sources. Otherwise we need to decode (i.e. copy) Wave files, even when the Downmix filter does nothing. 2011-08-27 21:28:20 +02:00
10ae6c8451 Better workaround for "ResizeToContents not updating" bug. 2011-08-23 17:01:11 +02:00
137535927a Workaround for a bug in Qt's TableView that causes column widths to not be updated immediately when ResizeToContents is used. We have to force the update via event filter. 2011-08-22 00:03:36 +02:00
95f627ee1a Some more clean-up for FhgAacEnc support + updated documents. 2011-08-21 14:43:18 +02:00
84883ab519 Added experimental(!) support for FhgAacEnc. Replaces the Nero AAC encoder, if available. 2011-08-19 15:27:58 +02:00
dae4def2fa Downmix filter will now check if the input already is Mono/Stereo, so we can safely invoke the filter for ALL sources. 2011-08-07 14:04:17 +02:00
1fdfab1160 Refactored code to insert the Downmix filter in processing thread. 2011-08-06 18:56:09 +02:00
ce872af94c Apply "Force Stereo Downmix" only for sources with more than two channels. 2011-08-06 14:12:20 +02:00
fbee147f07 Added an option option to enforce Stereo Downmix. 2011-08-05 21:52:43 +02:00
7e1f790e9b Added an option to rename the output files (based on an user-defined pattern). More macros might be added at a later time. 2011-08-04 23:26:38 +02:00
5c2961e109 Don't display more than 50 table items in the processing window. It seems Qt is getting a bit slow on updates when there are a lot of items in the table view... 2011-06-13 18:59:21 +02:00
e076c5b5ec Create proper .m3u8 playlist with UTF-8 BOM, if the file names contain Unicode characters. Otherwise create a simple .m3u playlist with Latin-1 encoding. 2011-06-02 02:11:47 +02:00
e01f6853e3 Added more options for Aften to the "Advanced Options" tab. 2011-05-07 00:50:18 +02:00
0d2b16424f Implemented encoding mode and bitrate selection for AC-3 encoder. Also support for custom parameters. 2011-05-05 12:27:25 +02:00
be71e483b1 Initial ATSC A/52 (aka "AC-3", aka "Dolby Digital") encoding support, based on the Aften encoder. 2011-05-04 01:15:05 +02:00
8977e0073f Clean up #include directives: Don't include 'Windows.h' directly, as it's included from 'Global.h' header file. 2011-04-11 21:55:34 +02:00
eeab6155e5 Updated version info: v4.01 RC-1. 2011-03-28 21:58:01 +02:00
23665ed4c9 Implemented a new "disk observer" thread which will constantly check the free diskspace of the disk where the TEMP folder is located. If the diskspace drops below a critical limit (currently 100 MB) a warning message is emitted. 2011-03-28 04:26:47 +02:00
f60515ca50 Use custom Wave files instead of Beep(), as the Beep() function doesn't work reliably on all platforms. 2011-03-18 12:37:18 +01:00
108c167767 Added an option to shutdown the computer as soon as all files are completed. 2011-03-18 01:12:17 +01:00
63d6708fc1 Refactored a few constants. 2011-02-28 01:28:27 +01:00
f829d69636 Added an option to select a user-defined TEMP directory. 2011-02-25 22:03:39 +01:00
f75c3ca496 Added an option to manually specify the number of parallel instances. 2011-02-25 00:22:18 +01:00
979205e4a1 Fixed one typo. 2011-02-21 13:22:00 +01:00
c1cde1acd8 Invoke the "resampling" filter only if the target sampling rate is really different from the file's current sampling rate. 2011-02-20 20:19:48 +01:00
c967a013be Properly map the popup menu position to global coordinates. 2011-02-14 19:03:36 +01:00
b12e524a96 Add option "Brose Output File Location" to context menu in processing window. 2011-02-11 23:16:11 +01:00
cfb20fe3cb Added support for custom encoder parameters. 2011-02-09 23:36:17 +01:00
0fd4b56a87 Refactor audio file model. 2011-02-06 23:43:26 +01:00
18bc47cb9a Fixed a bug that caused files to fail to convert when writing meta tags is disabled. 2011-02-06 17:34:14 +01:00
d9e775b4b8 Show notification in progress window, if multi-threading is activated. 2011-02-02 22:56:45 +01:00
d13050c3db Added "Resample" filter, based on SoX. Used for encoders that don't support "native" resampling. Also added a "Tone Adjustment" filter, based on SoX too. 2011-01-26 20:16:46 +01:00
58ded8c2e4 Added a normalization filter, based on SoX. 2011-01-25 23:12:56 +01:00
dcf4181974 Make sampling rate option work with Vorbis encoder. 2011-01-23 23:03:44 +01:00
7e44c69c03 Actually make the Nero AAC Profile/2-Pass options work. Also make the MP3 Channel Mode and Sampling Rate options work. 2011-01-23 02:19:18 +01:00
3f0796d288 Added support for bitrate management to LAME and OggEnc2 encoders. 2011-01-21 23:25:55 +01:00
476edebda8 Initial support for advanced options. Only "LAME Algorithm Quality" so far. 2011-01-21 19:14:11 +01:00
f6465c7c74 Make 5 more strings translatable. 2011-01-14 19:45:14 +01:00
c4e0415e90 Fix to more typos. 2011-01-13 08:57:34 +01:00
8c0fa11803 make more strings translatable + try to load a default translation that suits the user's system language 2011-01-02 01:09:05 +01:00
5a1ff67e42 Make more strings translatable. 2011-01-01 19:28:19 +01:00
96db5e86c2 Happy new year! 2011-01-01 17:04:25 +01:00
38d60fe627 Fix context menu in progress dialog. 2010-12-22 23:45:36 +01:00
fc148e5e65 Implement filter framework + currently only the "downmix" filter is implemented, so we can support multichannel to MP3 encoding from now on. 2010-12-19 00:50:22 +01:00
e189eb08c2 Support for Wave (PCM) output. 2010-12-17 01:12:12 +01:00
e6460b9779 FLAC encoding support. 2010-12-14 23:53:14 +01:00
063c53017f Added an option to prepend the source file's relative path to the output file's path. This might be useful when converting a lot of files at once that originate from different source folders. 2010-12-14 01:30:50 +01:00
0534264be0 WMA decoding support. Limitations in the WMA decoder we cannot do anything about: WMA decoder doesn't handle Unicode filenames, WMA decoder will deadlock if we more than one instance is running at a time (we use a semaphore to prevent that!) and WMA decoder doesn't output any progress information. 2010-12-12 19:25:06 +01:00
18bed9ea38 Added a system tray icon. 2010-12-10 22:17:44 +01:00
6491965610 Add items to the playlist in the order the jobs are created, rather than in the order the jobs finish. As the jobs are created in source list order (but may finish in arbitrary order) this should result in "correct" playlist order. 2010-12-10 21:24:42 +01:00
c2f132007f Added support for Windows 7 taskbar features (progress and overlay icons). 2010-12-05 23:11:03 +01:00
be4ce0d81c Added AAC encoding support. 2010-12-03 23:01:17 +01:00
d6e5b9e069 AAC decoding support added. 2010-12-02 23:26:30 +01:00
53a1bf6e38 Implement update reminder + added options to disable the update reminder and/or the sound effects + improved installer 2010-11-29 20:36:27 +01:00
11f57aecfe Ogg Vorbis encoding support. 2010-11-26 00:29:53 +01:00
4fd8ec068e Addded context menu to "source file" view + make the "output folder" view update the output path more frequently on selection change. 2010-11-25 20:41:59 +01:00
09bac5a0ea Add more SFX for the user's pleasure. 2010-11-25 18:28:42 +01:00
a29780ef2a Don't try to encode from source files that aren't supported by the encoder. No real support for upstream decoders yet. 2010-11-25 18:09:31 +01:00
9947e9c839 Detect the entry points for some of the Win32 API functions on Runtime, so the executable works even on antiqutated Windows versions (e.g. Windows 2000). 2010-11-25 16:56:32 +01:00
571df62e39 Implement support for Job Objects + improve log view. 2010-11-24 21:00:59 +01:00
c0ece99b69 Implemented logging and added a log file view. 2010-11-22 21:45:00 +01:00
47a6c2fdff Make "Save output files to the same location where the input file is located" option work. 2010-11-21 21:51:22 +01:00
970f2cd8fb Create playlist file + serialize filename generation, just to be sure. 2010-11-20 22:14:10 +01:00
cffa6a2454 Correctly forward meta info to MP3 encoder and apply. 2010-11-20 19:16:04 +01:00
1633489aaf Actually use selected encoder in progress dialog + forward output dir. 2010-11-20 02:14:22 +01:00
28a926b820 Implement multi-theaded processing in progress dialog. 2010-11-19 21:11:54 +01:00
092e664ad1 More detailed error output when process failed to create + use UUID's to index jobs. 2010-11-18 22:37:35 +01:00
3170f358fe Implement processing thread and connect to processing dialog. 2010-11-18 00:32:46 +01:00
7a79c476a3 Implemented processing dialog, no functionality yet. 2010-11-17 19:35:50 +01:00