Commit Graph

1000 Commits

Author SHA1 Message Date
dadeaec582 Some more updates of the deployment scripts. 2014-12-22 23:38:23 +01:00
0728e01bce Manual: Added the "Tutorial" chapter. Not completed yet. 2014-12-22 16:30:18 +01:00
cc8df6e510 Make the initialization time measurement work again. 2014-12-21 17:13:50 +01:00
c435e4e1c1 Moved translation support into MUtilities library + make clean-up of temporary files work again + various minor fixes. 2014-12-20 23:44:43 +01:00
feb7e8e03c Re-enabled 'async' mode for play_sound_file() function. 2014-12-20 13:37:20 +01:00
537ade07f6 More code refactoring and clean-up. 2014-12-19 23:49:11 +01:00
cc45c1a904 Moved Taskbar progress into MUtilities library. 2014-12-18 22:49:37 +01:00
d3917b5233 Refactored the Main() function into several sub-functions + some improvements of the IPC code. 2014-12-14 19:33:28 +01:00
53b12027e6 Moved all IPC functions into the MUtilities libraries. 2014-12-13 23:27:47 +01:00
3a582a028c Moved JobObject as well as the remaining GUI functions into the MUtilities library. 2014-12-08 22:06:01 +01:00
f064187bb1 Set the system timer precision to 1 ms while encoding, because this seems to improve encoding performance quite a bit. Will be reset to default, when encoding is done, so LameXP won't "eat the battery" while idle. 2014-12-06 22:05:35 +01:00
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
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
8211b417d6 Moved all the Sound-specific functions into MUtilities library. 2014-12-05 21:08:26 +01:00
187f1bbfb8 Moved set_window_icon() function into MUtilities function. 2014-12-04 22:59:30 +01:00
06db588742 Moved some more OS-specific functions into the MUtilities library. 2014-12-04 00:02:42 +01:00
6412989afd Moved code to set up the console icon into the MUtilities library. 2014-12-03 22:19:18 +01:00
6eb4de942c Raised limit for maximum number of parallel instances to 32. 2014-11-30 22:11:47 +01:00
dc98131fd1 Moved various auxiliary macros into the MUtils library. 2014-11-30 21:32:23 +01:00
e579a5057d Fixed possible memory corruption in ProcessThread::init(). 2014-11-30 20:25:22 +01:00
5a290e1560 Moved Natural String Sort functions into MUtils library + moved the "Prerequisites" out of the project directory. 2014-11-30 18:47:53 +01:00
751fd85056 Don't delete QApplication object, since MUtils will take care of this. 2014-11-29 05:12:23 +01:00
ac38eb9f8d Fixed ProgramDataBaseFileName. 2014-11-29 02:27:59 +01:00
6f4b0589c3 Moved more functions into MUtils library, especially all the Qt initialization code and some more OS-specific stuff. 2014-11-29 01:25:18 +01:00
a2f1885717 Moved startup and error handling routines into MUtilities library. 2014-11-26 02:39:02 +01:00
29d8b98a3f Moved all terminal support functions into MUtilities library. 2014-11-25 22:34:20 +01:00
26ac505329 Moved get_os_version() function into MUtilities library. 2014-11-25 17:33:27 +01:00
52142c6e6b Moved the CPU detection code into the MUtils library. 2014-11-25 03:15:03 +01:00
035699c84e Moved various functions into MUtils library and removed obsolete code from LameXP. 2014-11-25 02:14:42 +01:00
d7100e2207 Fixed static build with MUtils library. 2014-11-24 22:26:00 +01:00
004a201b19 Now using UpdateChecker and KeccakHash from the MUtils library. Removed obsolete files. 2014-11-24 19:33:12 +01:00
5d8816961f Added MUtils library to the solution + some adjustments of the project file. 2014-11-24 18:28:53 +01:00
db3b152415 Added support for Visual Studio 2013 with Update-4. 2014-11-19 02:06:42 +01:00
b2be8c9ac0 Updated MediaInfo binaries to v0.7.71 (2014-11-09), compiled with ICL 15.0 and MSVC 12.0. 2014-11-17 14:51:41 +01:00
add0de2472 Overhaul of the Windows version detection code + added support for Windows 10 (Technical Preview). 2014-11-12 16:00:40 +01:00
f02f8ce0d9 Bump version. 2014-11-11 01:37:05 +01:00
7502e3ea83 Added one more update mirror. 2014-11-02 16:36:41 +01:00
2925f842e7 Updated GnuPG binary to v1.4.18 (2014-06-30), compiled with GCC 4.9.1. 2014-10-08 23:29:23 +02:00
373702e07e Updated SoX binary to v14.4.2-Git (2014-10-06), compiled with ICL 15.0 and MSVC 12.0. 2014-10-06 16:46:41 +02:00
e47206b768 Updated MediaInfo binaries to v0.7.70 (2014-09-03), compiled with ICL 15.0 and MSVC 12.0. 2014-10-05 21:17:50 +02:00
2a29e1ae94 Make sure the "queued" slots in the FileAnalyzer thread are really executed in the context of the proper thread. 2014-08-17 16:35:29 +02:00
57deb0f08a Updated list of known hosts. 2014-08-16 15:19:10 +02:00
0a65e42012 Fixed potential crash when trying to import Cue Sheet where *all* files are missing: If none of the files exist, we shouldn't try to analyze them. The real problem, however, was a potential NULL-pointer access in the FileAnalyzer thread's destructor code. Thanks to XhmikosR for reporting! 2014-08-16 14:45:18 +02:00
a63baad374 Added support for Visual Studio 2013 with Update-3. 2014-08-13 14:54:54 +02:00
c4414e1802 Added web-link to bug-tracker on GitHub. 2014-06-27 21:06:33 +02:00
f02043bd21 Some improvements and simplifications to error handling functions. 2014-06-27 16:20:47 +02:00
21498ebc80 Updated OggEnc2 binaries to v2.87 using libvorbis v1.3.4 and aoTuV v6.03_2014 (2014-06-24), compiled with MSVC 9.0 and ICL 14.0. 2014-06-26 00:10:30 +02:00
30f6d6c9c2 Bumped version. 2014-06-23 19:50:23 +02:00
40f1df4037 Removed dependency on QtMain: Simply call mainCRTStartup() instead of WinMainCRTStartup(). 2014-06-23 17:41:40 +02:00
70792d3bb5 Updated list of known hosts. 2014-05-30 20:58:42 +02:00
b7b4fa31bd Tweaked LAME algorithm quality modes a bit. 2014-05-30 16:50:41 +02:00
b97d383e39 Updated Korean translation. Thanks to JaeHyung Lee <kolanp@gmail.com>. 2014-05-29 13:54:12 +02:00
e44d9937bc Updated VS2010 project file to include the compatibility manifest. 2014-05-29 01:00:07 +02:00
4accd22659 Make sure we don't try to delete the input file when running in "overwrite existing file" mode and the input/output happen to be identical. 2014-05-28 16:49:58 +02:00
e808cb2949 Got rid of some more Windows 2000 compatibility cruft. 2014-05-21 15:23:56 +02:00
223461afd9 Fixed "mailto:" links in about dialog box. 2014-05-19 22:21:35 +02:00
92c80cfd46 Added compiler detection for Visual Studio 2013 with Update-2. 2014-05-19 17:45:45 +02:00
70dc9c4510 Properly translate the corner widget in changeEvent(). 2014-05-04 21:00:59 +02:00
aaaa9f970a Bum version. 2014-05-04 19:15:34 +02:00
62aa72d283 Implemented menubar corner widget. 2014-05-04 16:59:06 +02:00
7ec2a8d9d7 Updated MediaInfo binaries to v0.7.69 (2014-04-26), compiled with ICL 14.1 and MSVC 12.0. 2014-04-28 21:29:23 +02:00
51f1fbbca1 Updated the translator's guide. 2014-04-28 21:14:02 +02:00
729b386056 Updated Qt runtime libraries to v4.8.6 (2014-04-25), compiled with MSVC 12.0. 2014-04-25 20:26:31 +02:00
e5b605d1e4 Updated Opus encoder/decoder libraries v1.1.x and Opus-Tools v0.1.8 to latest Git Master (2014-04-13). 2014-04-13 19:08:38 +02:00
555f8709a6 Updated MediaInfo binaries to v0.7.68 (2014-04-08), compiled with ICL 14.1 and MSVC 12.0. 2014-04-09 17:09:52 +02:00
5ca4cc8917 Added command-line options to control the application font size. 2014-03-12 20:11:03 +01:00
b4ee0af400 Open development for version 4.10. 2014-02-08 17:23:44 +01:00
14baf8d52d Refactored host connectivity check into a separate function. Also decrease the number of remaining connection attempts *only* if the connection failed. 2014-02-02 21:37:22 +01:00
272214778a Disable Auto-Update, by default, when running in "portable" mode. 2014-02-02 18:01:26 +01:00
9f816e9aa6 Bump version. 2014-01-26 18:31:20 +01:00
ee3bd21fd9 Updated Korean translation. Thanks to JaeHyung Lee <kolanp@gmail.com>. 2014-01-22 01:38:45 +01:00
794ea65ddf Fixed compilation with VS2010 solution/project files. 2014-01-19 21:34:55 +01:00
7aea8ce063 Updated the QAAC add-in for LameXP to QAAC v2.33 (2014-01-14), compiled with MSVC 12.0. 2014-01-19 17:19:01 +01:00
3c5a448d30 Updated Swedish translation. Thanks to Åke Engelbrektson <eson57@gmail.com>. 2014-01-18 15:57:48 +01:00
9f0aba42f8 Updated changelog file. 2014-01-17 01:47:24 +01:00
d29f292264 Now using Unix 'zip' for generating the ZIP packages. Eliminates dependency on external 7-Zip and allows for adding an archive comment. 2014-01-08 21:43:24 +01:00
0cbe3953bb Fixed compilation under VS2012. 2014-01-01 17:51:20 +01:00
cc38035087 Happy new year 2014! 2014-01-01 17:05:52 +01:00
df5aaee581 Some code clean-up. Also removed some obsolete compatibility code. 2013-12-17 22:36:16 +01:00
0b1644e287 Make sure the user has "admin" privileges before checking for updates, because it's kind of pointless to download the update if you won't be able install it anyway. This is especially important for Windows XP, where we don't have UAC. Note that UAC implies "admin" privileges, because the installer process will be elevated as needed - even if the current user is *not* an administrator. 2013-12-16 18:07:45 +01:00
e08b187f37 Updated WavPack decoder binary to v4.70.0 (2013-10-19), compiled with ICL 14.0 and MSVC 12.0. 2013-12-08 17:01:59 +01:00
e7a87c8dd1 Updated Opus encoder/decoder libraries to v1.1-final and Opus-Tools to v0.1.8 (2013-12-05). 2013-12-07 15:21:01 +01:00
9eb8ecaa62 Updated MediaInfo binaries to v0.7.65 (2013-11-20), compiled with ICL 14.1 and MSVC 12.0. 2013-12-06 14:22:51 +01:00
60cb91665f Updated Monkey's Audio binary to v4.12 (2013-06-26). Also added encoding support for Monkey's Audio format, including APEv2 tagging support. Since the MAC tool does NOT support tagging, a custom tagging utility support is used. 2013-12-04 22:36:19 +01:00
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
4635d9bf76 Make sure splash screen gets focus. Also better key press/release handling in working banner. 2013-11-30 13:10:34 +01:00
9d9e9336c8 Bump version. 2013-11-29 13:23:27 +01:00
5e9d8bf850 Some code clean-up. 2013-11-29 03:48:11 +01:00
1d8709689b Improved initialization of the TEMP directory. 2013-11-29 01:21:52 +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
ee05308c0e Only re-extract installer executable, if it doesn't exist or differs. 2013-11-25 19:52:53 +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
f641ddd9f0 Some improvements to Working Banner: Now use a pointer member variable for the UI. Also update Taskbar progress indicator. 2013-11-25 13:58:21 +01:00
f3ae451b32 Make sure the TEMP path is *not* replaced when running the web-update tool, as this will prevent the updater from working correctly. 2013-11-25 02:20:44 +01:00
0bc1157906 Fixed a possible NULL-pointer access in DWMAPI wrapper code when DWM is not available. 2013-11-24 22:40:39 +01:00
3d5b9541ed More improvements to Splash Screen and the working banner. 2013-11-24 17:55:35 +01:00
1f98e90244 More improvements to Splash Screen. 2013-11-24 00:02:32 +01:00
b8b11e59aa Improved splash screen. 2013-11-23 20:57:38 +01:00
d5dcb9ad42 Refactored update checks into a separate thread, for better code reusability. 2013-11-17 21:53:28 +01:00
a5602cf04d Reorganized global functions: The file "Global.h" was split into multiple file in order to reduce the dependencies and to make things a bit more logic. 2013-11-03 23:43:21 +01:00
7b2ca53f3f Added function to calculate the number threads from the number of cores. This function is a cubic spline that resembles the current benchmarking results. 2013-11-02 16:39:59 +01:00
a3fdbee680 Slightly improved benchmark code (outliers will now be dropped). 2013-11-02 14:28:52 +01:00
9b376cd2a8 Remember previous dropbox position and restore it on next startup. 2013-11-02 01:07:23 +01:00
d2a7406fc3 Tweaked the number of extractor threads. Also added a simple benchmark function (disabled in regular builds). 2013-11-01 19:34:27 +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
086849928c Updated GNU Wget binary to v1.14.0 (2012-08-05), compiled with GCC 4.8.1. This also fixes a strange crash of Wget that only occurred on one my old Windows XP laptop (not in any of the Windows XP VM's). 2013-10-28 23:57:40 +01:00
083af203a3 Added "tick" sound when switching tabs. 2013-10-28 00:26:54 +01:00
3b0577c733 More improvements in Splash Screen (application initialization) code. It's now completely event-driven. 2013-10-27 16:13:14 +01:00
75fad0f0fd Some code clean-up. 2013-10-26 15:49:16 +02:00
655427d7a6 Slightly improved debugger thread code. 2013-10-25 17:55:27 +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
18b645f349 Improved file analyzer to retain the original ordering of files imported from a playlist. 2013-10-25 00:48:18 +02:00
7b016d5fec Updated license info. 2013-10-23 22:25:04 +02:00
a2e02220dc Fix compatibility to WindowsXP: The GetErrorMode() API requires Vista or newer, so don't use it! 2013-10-21 18:48:51 +02:00
496f9cda7b Fix compilation with VS2012. 2013-10-21 16:17:42 +02:00
b54886f242 Introduce QUTF8 macro and replace ".toUtf8().constData()" everywhere. 2013-10-21 15:00:55 +02:00
bb687bdc45 Some improvements in Splash Screen (application initialization) code. 2013-10-20 23:36:53 +02:00
be9cf25645 Improved Windows version detection code. 2013-10-20 19:12:00 +02:00
26d186cdf8 Fix detection of Windows 8.1: Starting with Windows 8.1, the GetVersion(Ex) API has been broken and will now pretend to be Windows 8.0. Since GetVersion(Ex) can no longer be relied on, we will use VerifyVersionInfo() from now on, in the hope that they won't break this one too. 2013-10-19 16:02:22 +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
1af32090dd Added project/solution files for Visual Studio 2013. 2013-10-18 01:59:08 +02:00
33e04007fb Properly detect Windows 8, now that Qt supports it officially. 2013-10-16 18:23:53 +02:00
477e76d5c3 Updated GnuPG binary to v1.4.15 (2013-10-05), compiled with GCC 4.8.1. 2013-10-16 03:33:15 +02:00
d206eccac9 Improved CueSheet import progress indicator. 2013-10-13 21:28:06 +02:00
5e5fbe06f9 Updated CueImportDialog and CueSheetModel as well as the CueSheet helper classes to use AudioFileModel_MetaInfo. Significant code simplification. 2013-10-13 20:50:12 +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
feccffdfd1 Major redesign of the AudioFileModel class: Split data into separate AudioFileModel_MetaInfo and AudioFileModel_TechInfo classes. 2013-10-12 20:38:07 +02:00
8fd45dc4dd Split ProcessThread::start() method into ProcessThread::init() and ProcessThread::start(). 2013-10-11 20:43:31 +02:00
2190c254f8 Got rid of some more legacy compatibility code in the FileSystemModelEx class. 2013-10-10 01:46:30 +02:00
cb3f50e5f3 Moved some initialization stuff out of the ProcessThread::run() function into a new initialization function. Also got rid of one Mutex, because file names are now generated in the init function, i.e. by the "main" thread. 2013-10-09 16:11:58 +02:00
94c199d849 Make ProcessingDialog use a QThreadPool and, accordingly, make ProcessThread inherit from QRunnable rather than QThread. 2013-10-09 03:14:38 +02:00
10001f4ef0 Fixed compilation with VS2010 and removed an obsolete file. 2013-10-09 01:07:19 +02:00
7ddbdb240b Updated mpg123 decoder binary to v1.16.0 (2013-10-06), compiled with GCC 4.8.1. 2013-10-08 22:45:42 +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
70a117078b Bump version. 2013-10-02 16:37:41 +02:00
ccb19ec07f Added new AbstractEncoderInfo class, which provides information about a specific encoder's configuration options. Also moved code for creating encoder instances into a separate EncoderRegistry class. 2013-09-30 21:39:56 +02:00
db95584256 Bump version. 2013-09-04 00:35:55 +02:00