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