Commit Graph

122 Commits

Author SHA1 Message Date
24217c3b71 More code refactoring: Moved most of the Win32 API dependencies into wrapper functions in Global.cpp, which greatly reduces platform-specific includes. 2013-10-07 00:01:15 +02:00
7602317652 Some code-clean up. Removed "Windows.h" include from "Global.h", because most source files won't need the Win32 API stuff. Also got rid of some Windows 2000 compatibility cruft. 2013-10-06 19:28:12 +02:00
6c9e3c562f Refactored Main window to use AbstractEncoderInfo rather than having all the encoder-specific information hardcoded in the GUI code. Also much improved EncoderReistry class and some clean-up in SettingsModel class. 2013-10-02 16:39:26 +02:00
1f241a1045 Refactored AAC encoder selection code. 2013-07-14 19:45:28 +02:00
9323260e32 The encoder configuration (rc-mode, bitrate, quality-level) is now maintained *separately* for each encoder. This was quite a massive change and needs more testing! Also a bug where OggEnc quality modes -2 and -1 would be clipped 0 has been fixed. 2013-07-07 23:49:29 +02:00
bd0a370aee Welcome to year 2013 ;-) 2013-02-08 23:57:50 +01:00
b4cd7c3a29 Handle two more plurals correctly. 2013-01-28 22:22:49 +01:00
5ac220ea30 Handle one more plural correctly. 2013-01-23 23:39:30 +01:00
f68523efd6 Properly handle plurals in translation files. 2013-01-23 23:25:31 +01:00
5b57083210 Updated Opus binaries. Also added option to disable the resampling in Opus decoder (i.e. always output 48.000 Hz). 2013-01-18 01:08:58 +01:00
fb00b2b11e Switched the method of how the Designer UI file is used in the ProcessingDialog class to "The Single Inheritance Approach" (with "Using a Pointer Member Variable"). This is the method which Qt recommends for large projects. 2012-12-08 00:21:10 +01:00
7077650bb6 Switched the method of how the Designer UI file is used in the MainWindow class to "The Single Inheritance Approach" (with "Using a Pointer Member Variable"). This is the method which Qt recommends for large projects. 2012-12-04 01:35:48 +01:00
c220a0b73f Updated Opus encoder/decoder libraries to v1.1.x and Opus-Tools to v0.1.5 (2012-11-23). Also removed obsolete Opus options. 2012-11-23 21:03:59 +01:00
93f8e28620 Made the ProgressModel expose the QIcon's, so we can re-use them int the ProcessingDialog instead of maintaining a separate set of icons there. 2012-11-17 19:26:55 +01:00
c90a5f4542 If no item matches the current filter, hide all items and show an overlay message rather than disabling the filter. 2012-11-15 18:06:04 +01:00
20d7a2cb58 Bugfix: One of the context menu items was never connected. 2012-11-11 19:36:31 +01:00
07dfd3211a Added an option to filter the progress model entries. If filter is enabled, only progress items that match the filter will be shown in the TableView. 2012-11-11 18:33:55 +01:00
977f4d4213 "Overwrite Mode" should actually be working now. 2012-11-08 21:19:45 +01: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
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
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
17794881a4 Extinguished some remaining uses of argv[] or QApplication::arguments(). 2012-06-23 18:18:57 +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
48a23c27d7 Added a new configuration for initial Qt 5.0 support. Needed a few code-changes and workarounds. Highly experimental! 2012-04-11 00:44:40 +02:00
9b687fff9a Happy New Year 2012! 2012-01-02 00:52:27 +01:00
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