b05a7ac3ef
Moved all sound effects into Qt-style resources. Sound files can be played back directly from program memory by passing a pointer to the WAVE data into PlaySound as the first argument (and using the SND_MEMORY flag), it's just not documented very well.
2013-12-03 22:19:11 +01:00
ed34cf1fc8
Improved initialization of the working banner. Also banner can now be minimized using the "M" key.
2013-11-29 01:20:59 +01:00
dd39addb39
More improvements to the working banner. Now using QWindowsVistaSytle when "sheet of glass" effect is enabled, for more consistent look. Also fixes some drawing glitches.
2013-11-26 23:01:37 +01:00
9b5334ba27
Improved processing dialog + setup a proper "big" window icon for application windows (improves the look on the taskbar in Windows 7+)
2013-11-25 18:34:59 +01:00
2ea758c079
Improved dropbox widget, including proper multi-monitor (virtual desktop) support.
2013-11-01 00:08:40 +01:00
175e5a56d1
Added new drop zone image, adopted from VLC Media Player.
2013-10-31 01:22:21 +01:00
6a862013eb
Added lamexp_init_process() function, which can be used to setup a QProcess object.
2013-10-29 02:05:43 +01:00
083af203a3
Added "tick" sound when switching tabs.
2013-10-28 00:26:54 +01:00
1b519d48c7
Fix copying a file's Meta Info into the Meta Data tab: Retain original "position" value rather than overwriting it.
2013-10-25 17:53:47 +02:00
dd98a78fad
Improved LameXP message logging code. This also fixes an invocation of the invalid message handler, when the console window gets closed unexpectedly.
2013-10-25 15:38:43 +02:00
7b016d5fec
Updated license info.
2013-10-23 22:25:04 +02:00
b54886f242
Introduce QUTF8 macro and replace ".toUtf8().constData()" everywhere.
2013-10-21 15:00:55 +02:00
e13e6b7fec
Updated changelog and removed some debug code.
2013-10-18 22:12:55 +02:00
8a64624ba4
Use the THROW macro instead of plain "throw" in the complete project.
2013-10-18 21:37:40 +02:00
414b261c0d
Improved tool extraction code in InitializationThread. Also implemented better exception handling.
2013-10-18 20:49:22 +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
81de5f2300
Implemented AbstractEncoderInfo for the AAC encoders too.
2013-10-07 02:28:01 +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
33b55de005
Tweaked default values for encoder settings.
2013-10-03 19:14:24 +02:00
df1da97f4e
Implemented AbstractEncoder for the remaining encoders, except AAC for now.
2013-10-03 18:48:07 +02:00
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