Commit Graph

1076 Commits

Author SHA1 Message Date
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
72f2ef3617 Also adjust the *width* of the about dialog. 2013-11-30 13:09:36 +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
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
4eef80fdc3 Some updates to the updater thread. 2013-11-29 01:18:36 +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
ff30f71c13 Refactored finalization code, so each "Global..." file can have its own finalization function. 2013-11-26 23:00:33 +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
3932df90f8 Properly clean-up hidden files. 2013-11-17 21:52:02 +01:00
1903247e35 Implemented signal handlers. 2013-11-17 21:51:41 +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
9001726df1 Tweaked number of threads a bit. 2013-11-02 01:06:45 +01:00
a849831cc2 Fixed LockedFile to make it work with non-static Qt again. Regression in previous commit. 2013-11-02 01:06:15 +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
d888855e4a Fixed a resource (file descriptor) leak: If a QFile object was created from a C Runtime file descriptor, it will *not* close the file, when QFile::close() is called or when the QFile object is destroyed. Furthermore, if a C Runtime file descriptor is obtained via _open_osfhandle(), we *must* to close that file descriptor via _close() function. Closing the underlying system HANDLE via CloseHandle() is *not* sufficient, as the file descriptor is won't be freed! On the other hand, the _close() function *does* close the underlying system HANDLE for us. In order to avoid a resource (file descriptor) leak, we will now store the file descriptor and close it properly via _close() in the destructor.
Note: The resource leak probably did not cause any harm, simply because we did not create many LockedFile objects. But it *did* cause serious issues when running the benchmark. Anyway, it should be fixed now.
2013-11-01 19:32:47 +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
2fa32af174 Updated GNU Wget binary to a version that doesn't use SYSTEM_WGETRC. 2013-10-29 02:05:00 +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
dcca2f0dd0 Do not set Title or Cover Art for the global meta info object, when assigning the info from a file. 2013-10-28 00:28:47 +01:00
992b21a3d0 Tweaked fade in/out delta value. 2013-10-28 00:27:29 +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
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
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
61409ee2e6 Fixed a problem in VS2013 project to file that always triggered a rebuild, even if nothing had been changed. 2013-10-21 16:51:01 +02:00
496f9cda7b Fix compilation with VS2012. 2013-10-21 16:17:42 +02:00
026735a25b Fixed a typo. 2013-10-21 15:09:44 +02:00
b54886f242 Introduce QUTF8 macro and replace ".toUtf8().constData()" everywhere. 2013-10-21 15:00:55 +02:00
b3046a46a7 Added compatibility manifest file. This allows for detection Windows 8.1 correctly via GetVersionEx(), though GetVersionEx() will still be broken for *future* Windows versions. 2013-10-21 15:00:03 +02:00
bb687bdc45 Some improvements in Splash Screen (application initialization) code. 2013-10-20 23:36:53 +02:00
3d7fbf70f5 Improved compatibility mode detection, taking into account Windows 8.1. 2013-10-20 23:34:04 +02:00
8a3094653c Improved InitializationThread::selfTest() function: It will now verify the hashes of *all* tools (it still is called in DEBUG builds only). 2013-10-20 19:12:55 +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
f47e9c950d Better method to check the network status. 2013-10-19 16:00:13 +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
2f543e11ab Some more improvements of ExtractorTask class. 2013-10-16 18:24:16 +02:00
33e04007fb Properly detect Windows 8, now that Qt supports it officially. 2013-10-16 18:23:53 +02:00
8b0d60dbeb Updated Nero AAC web-site URL. 2013-10-16 18:23:12 +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
e7872a52ae Small improvement in InitializationThread class. 2013-10-16 03:31:14 +02:00
d0e994b347 Removed some obsolete compatibility code in lamexp_detect_cpu_features(). 2013-10-16 03:29:43 +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
f57f65d709 Improved lamexp_version_date() function. 2013-10-13 20:46:47 +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
82b1249c0d Redesign of the ArtworkModel in order to improve the handling of the implicitly shared data. 2013-10-12 20:36:45 +02:00
ae72ce1fcf Yet another small overhaul of ProcessingDialog and ProcessThread. 2013-10-12 20:34:59 +02:00
c878013200 Small improvement in lamexp_finalization() function. 2013-10-12 20:33:13 +02:00
8fd45dc4dd Split ProcessThread::start() method into ProcessThread::init() and ProcessThread::start(). 2013-10-11 20:43:31 +02:00
a8114d6677 Got ride of more legacy compatibility code. 2013-10-11 20:40:28 +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
c8242b494c Improved lamexp_rand_str() function. Also this function now returns shorter strings (by default), which still should be enough to avoid name clashes. 2013-10-09 16:09:20 +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
df2d696f71 Updated Simplified Chinese translation, thanks to <kidneybean@sohu.com>. 2013-10-08 22:41:40 +02:00
81de5f2300 Implemented AbstractEncoderInfo for the AAC encoders too. 2013-10-07 02:28:01 +02:00
3e51bbabf1 Added one more mirror to the list. 2013-10-07 00:10:05 +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
9dbb317a5c Redesigned FileAnalyzer and Analyzer task. New design is much cleaner, resulting in simpler code and faster file import performance. Also, playlist files are now handled ahead of everything else, which makes sure the progress indicator increases monotonically. Preliminary tests show that file import performance has been more than doubled! For example, the time for importing ~1000 files decreased from 116 seconds to 46 seconds on the development machine, which corresponds to a 2.5x speed-up. 2013-10-06 19:26:08 +02:00
a8cdb050fb Replaced the 64-Bit binaries with versions compressed by UPX (does now support 64-Bit Windows executables, yay!) instead of MPRESS. Results in slightly bigger files, but noticeably faster startup times. 2013-10-06 19:18:31 +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
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
fa4eadbd31 Updated Polish translation. Thanks to Sir Daniel K <sir.daniel.k@gmail.com>. 2013-08-28 12:06:01 +02:00
6d6f0ee943 Some improvements/simplifications in strnatcmp() function. 2013-08-25 15:34:41 +02:00
8f77ee3b5f Ignore case when sorting file names. 2013-08-23 19:16:40 +02:00
11268cd5b1 Some improvements (hopefully) to the strnatcmp() function. 2013-08-23 14:00:25 +02:00
409117ec39 Implemented "natural ordering" for sorting the input files. Code is based on the strnatcmp() by Martin Pool, released under the "zlib" license. 2013-08-23 00:19:00 +02:00
5094abe699 Updated GnuPG binary to v1.4.14 (2013-07-25), compiled with GCC 4.8.1 + updated WUpdate accordingly. 2013-08-21 19:20:39 +02:00
f2f0783ca6 Updated Opus encoder/decoder libraries to v1.1-beta and Opus-Tools to v0.1.6git (2013-07-22). 2013-07-23 00:05:43 +02:00
1f241a1045 Refactored AAC encoder selection code. 2013-07-14 19:45:28 +02:00
ceec5fa5e2 Some code refactoring. 2013-07-14 19:04:32 +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
78d1bf5773 Updated GNU Wget binary to v1.13.4 (2011-09-17). 2013-07-13 00:11:54 +02:00
d21ec67da6 Updated list of known hosts. 2013-07-13 00:11:43 +02:00
5eec75c2bb Updated MediaInfo binaries to v0.7.64 (2013-07-05), compiled with ICL 13.1 and MSVC 10.0. 2013-07-11 00:39:10 +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
de5fe6e058 Added support for MSVC 2012 with Update-3 + moved 3rd party Qt src file to prerequisites. 2013-06-30 00:50:38 +02:00
a8348b01e8 Refactored lamexp_temp_folder2() function. This also fixes a potential deadlock at application when %TMP% points to an invalid folder. Now using separate locks for lamexp_temp_folder2() and lamexp_known_folder(). 2013-06-29 18:06:21 +02:00
03c2a9fccc Updated project configuration for Qt 4.8.5. 2013-06-21 22:18:58 +02:00
d3c6428787 Updated Opus encoder/decoder libraries to v1.1.x and Opus-Tools to v0.1.6 (2013-06-17). 2013-06-17 22:58:44 +02:00
7ee53d4a55 Added new source file view overlay icon. 2013-06-16 22:07:28 +02:00
81b2f4ad08 Updated Opus encoder/decoder libraries to v1.1.x and Opus-Tools to v0.1.6 (2013-06-16). 2013-06-16 22:06:58 +02:00
2bd468ee76 Added VER_LAMEXP_CONSOLE_ENABLED config option. 2013-06-16 14:00:56 +02:00
f85afb6627 Updated FLAC encoder/decoder binaries to v1.3.0 (2013-05-27), compiled with ICL 13.0. 2013-06-16 13:50:24 +02:00
ead3b0456b Updated mirror list. 2013-06-14 20:32:24 +02:00
5af2963729 Updated Ukrainian translation. Thanks to Arestarh <arestarh@ukr.net>. 2013-05-06 01:26:59 +02:00
1c21516604 Got rid of a superfluous Beep() that was triggered on application startup. 2013-05-02 23:02:02 +02:00
da3c312aed Added another update mirror. 2013-05-02 23:01:00 +02:00
c2db2acd20 Now using a separate version/build number for the configuration, so INI settings don't get invalidated with each build. 2013-05-02 23:00:26 +02:00
614fbfac54 Bump version. 2013-04-28 22:42:17 +02:00
e44bf3b087 Fixed one URL. 2013-04-28 21:44:36 +02:00
482ff55758 Some fixes for German translation, contributed by Bodo Thevissen <bodo@thevissen.de>. 2013-04-25 22:34:49 +02:00
601a4a6d7e Some tweaks to previewContextActionTriggered() function. 2013-04-24 23:58:07 +02:00
933d29cf87 Bump version. 2013-04-23 23:41:31 +02:00
bc2d1416aa Updated Opus encoder/decoder libraries to v1.1.x and Opus-Tools to v0.1.6 (2013-04-23). 2013-04-23 23:37:56 +02:00
aefe502044 Update Spanish translation. Thanks to Rub3nCT <rub3nct@gmail.com>. 2013-04-21 18:53:26 +02:00
cab51b22e4 Updated Opus encoder/decoder libraries to v1.1.x and Opus-Tools to v0.1.6 (2013-04-21). 2013-04-21 13:25:27 +02:00
692943bde7 Updated Changelog. 2013-04-19 21:09:05 +02:00
e3811a739a Updated Opus encoder/decoder libraries to v1.1.x and Opus-Tools to v0.1.6 (2013-04-18). 2013-04-18 22:56:03 +02:00
51e12e3f72 Added one more link. 2013-04-18 22:54:51 +02:00
978da1214d Added built-time option to make "portable" version. 2013-04-17 22:05:45 +02:00
9c83fd4b68 Fixed lamexp_clean_filename() to also handle double-quote characters. 2013-04-16 22:43:52 +02:00
4e7859def5 Updated Swedish translation. Thanks to Åke Engelbrektson <eson57@gmail.com>. 2013-04-16 21:54:28 +02:00