Commit Graph

1015 Commits

Author SHA1 Message Date
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