Commit Graph

130 Commits

Author SHA1 Message Date
d0e994b347 Removed some obsolete compatibility code in lamexp_detect_cpu_features(). 2013-10-16 03:29:43 +02:00
5e5fbe06f9 Updated CueImportDialog and CueSheetModel as well as the CueSheet helper classes to use AudioFileModel_MetaInfo. Significant code simplification. 2013-10-13 20:50:12 +02:00
449e438787 Use AudioFileModel_MetaInfo instead of AudioFileModel where appropriate. Also updated MetaInfoModel to work with a AudioFileModel_MetaInfo (not only with a full AudioFileModel). 2013-10-13 00:21:37 +02:00
0435637c75 Fix compilation after previous changes to AudioFileModel in previous commit. 2013-10-12 22:55:41 +02:00
ae72ce1fcf Yet another small overhaul of ProcessingDialog and ProcessThread. 2013-10-12 20:34:59 +02:00
8fd45dc4dd Split ProcessThread::start() method into ProcessThread::init() and ProcessThread::start(). 2013-10-11 20:43:31 +02:00
cb3f50e5f3 Moved some initialization stuff out of the ProcessThread::run() function into a new initialization function. Also got rid of one Mutex, because file names are now generated in the init function, i.e. by the "main" thread. 2013-10-09 16:11:58 +02:00
94c199d849 Make ProcessingDialog use a QThreadPool and, accordingly, make ProcessThread inherit from QRunnable rather than QThread. 2013-10-09 03:14:38 +02:00
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