Commit Graph

297 Commits

Author SHA1 Message Date
d1cdbd77cd Refactored EncoderRegistry::createInstance() method to handle all common encoder parameters at a single place. Also added function to load/store the custom parameters. 2013-10-03 17:01:37 +02:00
4faf3a2e40 More refactoring of the SettingsModel. Also moved encoder reset function from MainWindow to EncoderRegistry. 2013-10-03 15:56:10 +02:00
d76c4a1702 Implemented AbstractEncoderInfo for some more encoders. Remaining encoders not yet working. 2013-10-02 19:17:33 +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
94d6d16ce3 Added GUI option to reset all encoder settings. 2013-07-14 18:14:26 +02:00
822e1e1ffb Implemented caching for settings model. 2013-07-14 17:13:01 +02:00
7771e1127e Silenced some debug outputs. 2013-07-11 00:37:23 +02:00
88142733d2 Fixed a copy&paste bug that cause the output directory to be reset when actually the most recent input directory should be reset. 2013-07-09 22:34:06 +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
7ee53d4a55 Added new source file view overlay icon. 2013-06-16 22:07:28 +02:00
1c21516604 Got rid of a superfluous Beep() that was triggered on application startup. 2013-05-02 23:02:02 +02:00
601a4a6d7e Some tweaks to previewContextActionTriggered() function. 2013-04-24 23:58:07 +02:00
62d8bd9376 Updated web-site links. 2013-03-17 21:50:29 +01:00
62af2f575e Synced MP3 algorithm quality settings to LAME manual. Now we only use values 9, 7, 3 and 0. Also note that, in VBR mode, there are only two settings (9-5 and 4-0). 2013-03-13 22:59:54 +01:00
00d531f178 Improved handling of the VBR parameter for AAC encoders. 2013-02-26 21:24:48 +01:00
a69a1f6dbe Improved lamexp_themes_enabled() function. 2013-02-25 23:12:14 +01:00
bd0a370aee Welcome to year 2013 ;-) 2013-02-08 23:57:50 +01:00
f68523efd6 Properly handle plurals in translation files. 2013-01-23 23:25:31 +01:00
3b99433226 Expose "disable resampling" option for Opus decoder in the GUI. 2013-01-18 02:42:37 +01:00
4a8dd85d7e Fix executable name for OpusEnc. 2013-01-14 00:36:54 +01:00
cb042bbf3c Added new function to detect the current date. Slightly more robust against manipulations. 2013-01-12 01:53:43 +01:00
f689ce5646 Some style-specific tweaks. 2012-12-19 23:43:27 +01:00
a48dfadc98 Added "folder up" action to the context menu of the "output folder" tab. 2012-12-14 23:50:56 +01:00
e21c61788e Don't update buttons when output folder view is disabled. Also slightly changed "folder up" icon. 2012-12-14 01:20:23 +01:00
12db5d2c81 Added "Folder Up" button to the "Output Folder" tab. Also some code refactoring. 2012-12-14 00:34: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
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
4d3bce8fc3 Added option for "Overwrite Mode" (keep both, skip file, replace) to "Advanced Options" tab. Does not do anything yet. 2012-11-08 00:42:55 +01:00
eb75c942ee Bump version. 2012-10-19 21:05:33 +02:00
a2fd0f2460 Added an "About..." entry to the system menu. 2012-10-17 23:34:42 +02:00
61d440303b Small code clean-up. 2012-10-15 00:41:38 +02:00
4ed70b7bea If a QM file is used instead of a built-in translation, the QM file will now be remembered. Also the translation system can now be re-initialized by pressing CTRL+F5 in the Main window. 2012-10-14 22:22:30 +02:00
50e9d01cfb Now using rand_s() to generate random numbers, which doesn't need a seed. Falling back to qsrand() + qrand() on platforms that don't support rand_s(). 2012-10-13 12:36:41 +02:00
3fc27a2e17 Slightly modified license checking code. 2012-10-10 23:01:58 +02:00
057cb6fe4f Some optimizations in GUI resize code. 2012-09-20 22:52:52 +02:00
a4e78633e6 Fixed a regression in 3e18116dd5. 2012-09-07 02:14:29 +02:00
8d6774ba24 Updated some URL string. 2012-08-20 22:23:38 +02:00
0deb759096 Updated F.A.Q. document. 2012-08-02 23:32:21 +02:00
87ebf07930 Removed a superfluous MessageBeep(). 2012-07-31 21:03:43 +02:00
36c8ba7822 Some more refactoring of the event filter functions: De-uglify the "global" event filter function by using more fine-grained filter functions. 2012-07-30 21:44:44 +02: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
30bc239cd8 Now using our own command-line parser, based on GetCommandLineW() + CommandLineToArgvW , instead of using QApplication::arguments(). This is less portable, but Qt's internal command-line parser has some rather strange behavior with processing certain characters. As a result, with Qt's command-line parser, some path names passed to LameXP got screwed up! Specifically "C:\Some Path\''Foo''.mp3" got mangled to "C:\Some Path''Foo''.mp3", i.e. the Backslash disappeared! Should be fixed now. 2012-06-22 15:49:56 +02:00
accee3da7a When generating the initial output-folder name for the Cue Sheet dialog, make sure there is no folder *or* file of that name yet. The previous code did check for folders only! 2012-06-21 18:31:36 +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
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
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
9481029960 Make it possible to remove items with the DEL key. 2012-04-19 00:56:04 +02:00
20a9e2632b Added one missing NOBR(). 2012-04-16 18:52:45 +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
f05365e383 Fixed a few memory leaks found by VLD. 2012-04-06 23:15:58 +02:00
d16a116a1d Fix potential memory leak: According to the docs, setModel() creates and sets a new SelectionModel, so we need to remember and delete the "old" SelectionModel. 2012-04-06 16:15:19 +02:00
65423ba125 Don't check for elevation on Wine. It seems Wine always runs the process elevated (tested under Wine 1.4 on Ubuntu 12.04). 2012-04-05 16:24:33 +02:00
b3df635784 Changed creation of QFileSystemModel. Object will now be created when the user first visits the "Output Folder" tab. Also added option to "refresh" the directory outline, which will effectively destroy and re-create the QFileSystemModel in order to discard all data that may be cached. 2012-04-05 15:24:45 +02:00
6dca891474 Slightly changed cache handling. 2012-03-31 22:20:07 +02:00
602e1691c4 Various tweaks to improve the QFileSystemModel performance. Also slightly improved the initialization. 2012-03-30 03:35:43 +02:00
158588b3ec Some code refactoring and clean-up. 2012-03-29 19:08:33 +02:00
78c73d6d6e Some improvement of the previous commit. 2012-03-29 03:22:24 +02:00
9b41e9c6a9 New workaround to focus the selected item in the "output folder" view: As the focus will get lost again when the QFileSystemModel asynchronously loads a directory, we need to focus again on each directory loaded. Though we must stop focusing on the selected item, as soon as the user expands a folder. Otherwise the view would scroll unexpectedly... 2012-03-29 01:32:47 +02:00
47f0f1629c Some tweaks to the initialization of the QFileSystem model. 2012-03-28 02:21:34 +02:00
28f7a0cd50 Improved output folder LineEdit. 2012-03-27 22:46:01 +02:00
1738ea5b6e Added button to edit the current output path in a simple LineEdit control. 2012-03-26 22:02:11 +02:00
1d52b628d1 Show which AAC encoder is being used in the GUI. 2012-03-06 22:29:55 +01:00
3630e54f4e Slightly improved "announce" message box. 2012-01-24 01:19:09 +01:00
f857054dda Added support for importing Meta tags from a CSV files. 2012-01-04 21:10:33 +01:00
8e65917d9c Added support for exporting Meta tags to a simple CSV file. 2012-01-04 03:23:07 +01: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
db587fe228 Prevent some more dialogs from blocking a quick system shutdown. 2011-12-27 13:51:01 +01:00
d574745043 Restrict bitrate selector for dcaenc to a sane range. It seems everything above 4096 kbps will fail, even with 6 channels. 2011-12-23 02:29:06 +01:00
a0a29b9551 Experimental support for dcaenc, by Alexander E. Patrakov <patrakov@gmail.com>. 2011-12-22 21:53:25 +01:00
683b7a82a5 QDesktopServices::openUrl() fails horribly, if we try to explore a folder like "C:\Foo\Bar" while there is a file "C:\Foo\Bar.exe". Going back to ShellExecute() for now. 2011-12-19 02:09:45 +01:00
97170324e3 Added "Ignore" button to message box. 2011-12-18 18:19:14 +01:00
c49ce7e530 Artwork can now be changed by double-click. 2011-12-18 15:19:28 +01:00
44da665abc Force column resize, after an item in the source file list has been edited. 2011-12-17 22:01:42 +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
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
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
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
6c67cb0012 Check if hibernation is support on the computer. If not, disable the hibernate option. 2011-10-22 01:34:24 +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
1a9aa81d3a More extensive use of the NOBR macro + code clan-up. 2011-10-16 16:38:01 +02:00
9d652fb2e0 Added support for /Force to uninstaller. Required some tweaks for the 'parameters.nsh' include file. 2011-10-07 16:06:48 +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
c80f45f704 Use ShellExecute() to run the Uninstaller, because the Uninstaller now needs to be elevated (and thus QProcess can fail). 2011-10-06 14:35:13 +02:00
866fb13e2e Updated MediaInfo and wma2wav binaries. Now compiled with new stdout/stderr Unicode fix. 2011-10-01 03:40:49 +02:00
48efab12eb Updated Web-Updater and Elevator binary. NSIS updated again. 2011-09-29 20:59:54 +02:00
2d4770e277 Merge branch 'master' of github.com:lordmulder/LameXP
Conflicts:
	src/Config.h
2011-09-29 20:07:26 +02:00