Commit Graph

71 Commits

Author SHA1 Message Date
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
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
822e1e1ffb Implemented caching for settings model. 2013-07-14 17:13:01 +02:00
a94e6ecd34 Increase priority of "main" thread. 2013-04-16 21:54:01 +02:00
bd0a370aee Welcome to year 2013 ;-) 2013-02-08 23:57:50 +01:00
cb042bbf3c Added new function to detect the current date. Slightly more robust against manipulations. 2013-01-12 01:53:43 +01:00
30507937de Added global lamexp_fatal_exit() function. 2012-12-11 23:22:20 +01:00
7c5ccbe417 Fixed "always recompile" problem with VS2012 project file. Also removed a superfluous include. 2012-12-10 23:35:14 +01:00
bf34e9e78f Improved handling of fatal/critical messages in lamexp_message_handler() function. 2012-12-08 00:21:58 +01: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
17794881a4 Extinguished some remaining uses of argv[] or QApplication::arguments(). 2012-06-23 18:18:57 +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
027471b385 Updated MediaInfo binary to v0.7.55 (2012-04-05), compiled with ICL 12.1.7 and MSVC 10.0. 2012-04-10 01:25:34 +02:00
7016383fbb Added support for the Visual Leak Detector. This effects "Debug" builds only. 2012-04-06 22:24:05 +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
805d3f7393 Added one more "special" application icon. 2011-12-25 22:29:04 +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
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
6a04c29ad9 Some refactoring: Moved tools info into a separate header file + added simple self-test to Thread_Initialization. 2011-10-19 00:24:03 +02:00
1fc851af2b Added CLI parameters to overwrite the CPU feature flags. Useful for testing. 2011-09-20 00:03:51 +02:00
2da39922ca Added warnings when LAME algorithm quality is set to "extreme" values. 2011-08-25 03:44:46 +02:00
7e14e0f1a7 Restored Windows 2000 support (experimental!). 2011-08-15 15:27:56 +02:00
327ca1ae75 Added 'wma2wav' as WMA decoder and removed all support for WMA decoder by NCH Swift Sound. 2011-07-26 22:17:14 +02:00
3ad816f660 Show a warning to the use in case of "slow" startup (i.e. when buggy a/v is slowing down the startup procedure) 2011-06-24 18:17:04 +02:00
8eba258624 Use structured exception handling. 2011-06-22 01:10:53 +02:00
4bb7185a0f Added global exception handler routine. 2011-04-17 15:53:28 +02:00
60ac414c30 Updated LAME binary to v3.99 Beta-0 (2011-04-16), compiled with ICL 12.0.3. Also updated LAME switches accordingly. 2011-04-16 21:21:08 +02:00
26fe0b0499 Slightly refactored macros. 2011-04-14 01:40:11 +02:00
431ed392e2 Rewrote initialization code: Instead of extracting all binaries at startup and later selecting the suitable binary for the detected CPU, we will now extract only the binaries that are suitable for the detected CPU. This way we need to extract fewer files at startup. Also CPU selection can be skipped later, as there will be only one registered binary for each tool (the one suitable for the CPU). 2011-04-11 02:53:29 +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
f2ab4c0467 Changed behavior of lamexp_temp_folder() function: Try to create the temporary folder in %TMP% first and fall back to "%LOCALAPPDATA%\Temp" only if %TMP% doesn't exist or isn't writable. 2011-03-08 01:12:40 +01:00
698480e185 Dummy commit. 2011-03-05 03:51:12 +01:00
f0a7686b72 Dummy commit. 2011-03-05 03:01:36 +01:00
3f718caa2d Updated MediaInfo binaries to v0.7.42 (2011-03-03), compiled with ICL 12.0.2 and MSVC 9.0. 2011-03-05 01:56:00 +01:00
0e0f63fe0d Output log messages as debug strings, if no console is attached. 2011-03-04 23:46:00 +01:00
8016e186dc Fix a bug in the CPU detection code that could result in an infinite loop, if the CPU doesn't provide 'Extended Function CPUID Information'. Core of this problem is that VC's __cpuid() intrinsic has the parameters defined as 'int', but returns values of type 'unsigned int'. 2011-02-07 22:01:06 +01:00
cedb9c21a8 Increase expire interval for pre-release version to 30 days (was 14 before). 2011-01-20 22:06:59 +01:00
96db5e86c2 Happy new year! 2011-01-01 17:04:25 +01:00
b45f345fa3 Simplify compatibility mode detection + check for process elevation 2010-12-27 01:50:22 +01:00
8e38c1d3e2 Implemented the DropBox widget. 2010-12-22 01:01:01 +01:00
40b0300284 Implemented a method to "detect" the user's TEMP folder that doesn't depend on the %TMP% environment variable. QDir::temp() internally uses GetTempPath(), which *does* depend on %TMP%. 2010-12-07 22:58:28 +01:00
be4ce0d81c Added AAC encoding support. 2010-12-03 23:01:17 +01:00