Commit Graph

27 Commits

Author SHA1 Message Date
b704d5161f Use QElapsedTimer class instead of MUtils::OS::perfcounter_read() where appropriate. 2014-12-06 15:54:58 +01:00
f602bfa6c9 Re-implemented reference counting for JobObject. 2014-12-06 01:10:27 +01:00
1da760139a AbstractTool optimization: Only wait for the *remaining* delay time, rather than the complete delay time. 2014-12-05 23:01:38 +01:00
67429fbada Fixed a bug in AbstractTool class that could cause a severe slow-down on process creation, especially with a large number of threads: The same mutex was used in the constructor and the startProcess() function, which is unnecessary anyway. But even worse, there was a sleep() call in the startProcess() function that could *block* the mutex for a very long time! So if the "main" thread tried to create a new object while one of the "worker" threads was sleeping inside startProcess(), this blocked the whole "main" thread. D'oh! 2014-12-05 22:39:31 +01:00
06db588742 Moved some more OS-specific functions into the MUtilities library. 2014-12-04 00:02:42 +01:00
dc98131fd1 Moved various auxiliary macros into the MUtils library. 2014-11-30 21:32:23 +01:00
035699c84e Moved various functions into MUtils library and removed obsolete code from LameXP. 2014-11-25 02:14:42 +01:00
cc38035087 Happy new year 2014! 2014-01-01 17:05:52 +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
7b016d5fec Updated license info. 2013-10-23 22:25:04 +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
bd0a370aee Welcome to year 2013 ;-) 2013-02-08 23:57:50 +01:00
7f3bcbedb7 Improved lamexp_get_os_version() function. 2012-09-09 23:05:00 +02:00
f05365e383 Fixed a few memory leaks found by VLD. 2012-04-06 23:15:58 +02:00
17278fb7a6 Use the 'FindExInfoBasic' information level on supported OS (Windows 7 and later). Should further speed-up things. 2012-03-31 16:27:37 +02:00
c5b692ffd8 Use the Job Object only on Windows XP and later. This avoids a bunch of warnings on Windows 2000, because SetInformationJobObject() is going to fail there. 2012-03-02 14:31:13 +01:00
a450862150 Patched Qt's QProcess class to pass the CREATE_BREAKAWAY_FROM_JOB flag when creating a new process. This is required, because Windows (Vista and later) will add our child processes to the PCA (Program Compatibility Assistant) job object automatically! And then we cannot add the child processes to our own job object, as a process can be assigned to only one job object. With the CREATE_BREAKAWAY_FROM_JOB flag, we ensure that our child processes does NOT get added to the PCA job object automatically and we can add it to our own job object again. Unfortunately QProcess does NOT provide a way to pass process creation flags yet, so we have to patch Qt for now. Passing the CREATE_BREAKAWAY_FROM_JOB flag may not always be desired though... 2012-03-01 23:14:41 +01:00
2ee08c5f4b Fixed a regression in d92fb7fbcc: We must not close the handle to the Job Object, as long as there still might be a process "tool" running. The regression caused child processes to be terminated unexpectedly sometimes! We now use reference counting in order to avoid this problem. 2012-03-01 02:45:21 +01:00
d92fb7fbcc Updated Monkey's Audio binary to v4.11 (2011-04-20), including STDERR flush fix. 2012-02-21 22:36:13 +01:00
9b687fff9a Happy New Year 2012! 2012-01-02 00:52:27 +01:00
6235115429 Setup TMP and TEMP environment variables for *all* tools. Also add "$EXEDIR\QTfiles" to the PATH for QAAC. 2011-11-22 12:43:32 +01:00
fc538b24d5 Updated MediaInfo and wma2wav binaries with Win2k-compatible versions + installer tweaks. 2011-08-15 21:32:47 +02:00
8977e0073f Clean up #include directives: Don't include 'Windows.h' directly, as it's included from 'Global.h' header file. 2011-04-11 21:55:34 +02:00
96db5e86c2 Happy new year! 2011-01-01 17:04:25 +01:00
c2f132007f Added support for Windows 7 taskbar features (progress and overlay icons). 2010-12-05 23:11:03 +01:00
6eb959e406 Added support for dedicated decoders. Only Vorbis and MP3 so far. 2010-12-01 23:14:47 +01:00