Commit Graph

150 Commits

Author SHA1 Message Date
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
7b4f57ad21 Fixed a stupid typo. 2012-10-09 17:52:11 +02:00
0fac4fbb8f Slightly improved seeding of the PRNG (again). 2012-10-09 17:43:17 +02:00
7f3bcbedb7 Improved lamexp_get_os_version() function. 2012-09-09 23:05:00 +02:00
c6fcad10c4 Slightly tweaked initialization checks. 2012-08-19 14:34:04 +02:00
9a7f0d5176 Small optimization of known_folder() function. Will now return a const reference. 2012-08-18 22:37:10 +02:00
f282cff154 Updated Visual Studio 2008 project file. 2012-08-18 20:55:59 +02:00
eb88a05341 Turned more global objects into pointers in order to allow late initialization. Also slightly restructured the global locks and added another global lock to guard the IPC struct. 2012-08-18 16:36:39 +02:00
cb2b770a88 Made lamexp_arguments() thread-safe, just to be sure. 2012-08-17 23:47:01 +02:00
81011c6e40 Updated Opus-Tools binaries to v0.1.4 with latest libopus (2012-08-16), compiled with ICL 12.1.7 and MSVC 10.0. 2012-08-16 23:28:45 +02:00
1af98225a1 Made the lamexp_known_folder() function cached. 2012-08-13 23:12:19 +02:00
Git User
8724767980 Made some more global functions thread-safe by using locks. Avoids a race condition in the multi-threaded initialization code. 2012-08-12 17:01:17 +02:00
3c89d3c2ef Include the file "PRE_RELEASE_INFO.txt" in all pre-release builds of LameXP. 2012-07-01 21:11:04 +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
1da4db9594 Made tool registry thread-safe, using a QReadWriteLock. 2012-05-03 23:11:16 +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
599519efd2 Updated Qt runtime libraries to v4.8.1 (2012-03-14), compiled with MSVC 10.0. 2012-04-12 03:18:48 +02:00
255b21ab2c Added yet another configuration to build LameXP with *static* Qt5 libraries. Still experimental! 2012-04-11 03:08:31 +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
71b125805c Small optimization of lamexp_themes_enabled(). 2012-04-10 03:51:04 +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
f05365e383 Fixed a few memory leaks found by VLD. 2012-04-06 23:15:58 +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
cdf300cd22 Some more Wine workarounds: Disable x64 binaries, as it seems they fail to load under Wine (tested with Wine 1.4 under Ubuntu 12.04 x64). 2012-04-05 13:40:52 +02:00
b4aaaccdf2 Use _beginthreadex() instead of calling CreateThread() directly. This is more correct, when using the MSVCRT. 2012-03-26 04:40:49 +02:00
326c788c8a Updated SoX binary to v14.4.0 RC-3 (2012-02-20), compiled with ICL 12.1.7 and MSVC 10.0. Now the default normalization method is "-n" again. 2012-02-24 22:12:28 +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
1bbda2c030 Added simple log-file support. Use environment variable "LAMEXP_LOGFILE" to setup a log file. 2011-12-27 20:10:19 +01:00
d5a4aa72e3 Windows will kill our process immediately after we return from handling the WM_ENDSESSION message, so we have to clean-up explicitly *before* returning from the message handler. Not nice, but there is no other way. Also, as Windows will kill our process anyway and thus prevent a proper application shutdown, we can just call exit() from the message handler. This makes sure nothing "unexpected" can happen in the short moment that our application would continue to run after returning from the message handler. 2011-12-27 05:47:38 +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
805d3f7393 Added one more "special" application icon. 2011-12-25 22:29:04 +01:00
30f1795d32 Added some more "special" application icons. 2011-12-25 01:00:11 +01:00
3141ebf2ee Improved detection of default language: Each language file can now have a country id in addition to the language id. This is required, because some languages (e.g. Chinese) have country-specific variants. 2011-12-19 17:26:20 +01:00
612f744afe Added 'Traditional Chinese' (Taiwanese) translation by 456Vv <123@456vv.com>. 2011-12-19 15:48:50 +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
9f3777bbde Check Qt build date and build key. 2011-12-17 15:56:24 +01:00
621ddc8179 Added a new global function to get a list of all available Text Codecs. 2011-12-10 23:12:47 +01:00
20f425c284 More reliable method to detect QAAC and make sure the required CoreAudioToolbox library is available. 2011-11-21 14:40:32 +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
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
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
0e6058df9e Moved Windows 8 64-Bit hack to a better place. MPress will not be fixed soon for Windows 8, so we will have to keep that hack for a while... 2011-10-21 16:17:22 +02:00
de5b2458c1 Updated Qt Framework to v4.8.0 RC-1, built with Visual Studio 2010. Also improved OS detection a bit. 2011-10-14 18:02:37 +02:00
f8512798a2 Added hack to disable 'x64' support on Windows 8 Developer Preview, as our MPress-compressed x64 binaries currently crash on that platform. It's not yet clear whether Windows 8 or MPress is at fault... 2011-09-30 20:17:42 +02:00