Log in

View Full Version : LameXP v4.21 Final · Build #2382 (2023-12-29)


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

LoRd_MuldeR
13th May 2012, 14:32
Is any chance that LameXP will use the Fraunhofer AAC dll library (used by Winamp) with the aacPlus wrapper?

Please refer to the FAQ document:
http://lamexp.git.sourceforge.net/git/gitweb.cgi?p=lamexp/lamexp;a=blob_plain;f=doc/FAQ.html;hb=HEAD#71a113b0

Przemek_Sperling
13th May 2012, 17:37
Wow! Thanks a lot! Shame on me - I should check it more before I asked you.

LoRd_MuldeR
15th May 2012, 21:58
Here is a TEST build with the new multi-threaded file analyzer:
http://www.mediafire.com/file/0l8o6uqv6fvvll2/LameXP.2012-05-15.Release-Static.Build-1027.zip

This should make adding a huge number of input files quite a bit faster. Hopefully it doesn't break too many things ;)

(Also fixed a potential crash, when adding a lot of files. Successfully imported ~8000 audio files today)

Przemek_Sperling
19th May 2012, 11:31
I would like to let you know that QAAC and mp3tag do not work very well together. I know that LameXP has nothing to do with it, but I just want to let everybody know. Actually I have tried every possible combination of both (QAAC 1.35 and 1.36, mp3tag 2.50 and 2.51) and every third, forth or so album shows errors in tagging. Tag&Rename worls very well with the codec. Nero and FhG are do not make any problems with mp3tag, only the above combination of QAAC AND mp3tag. I already informed Florian Heidenreich (the creator of mp3tag) about the bug, but no answer yet. I just let you know, because detecting what is wrong took me some time, and I do not want the bug would put on anybody's nerves.

malch
24th May 2012, 04:29
I love LameXP and have been using it for years. Thanks for a wonderful tool.

However, the integrated updater drives me nuts. It creates/executes the file: $TEMP\random_string\lamexp_wget.exe. That's a real problem for those of us who use a software firewall to control outbound connections. The random_string element of the pathname means we cannot whitelist the updater because the pathname changes from one invocation to the next.

Could we have a static pathname for the updater, pretty please?

LoRd_MuldeR
24th May 2012, 12:30
However, the integrated updater drives me nuts. It creates/executes the file: $TEMP\random_string\lamexp_wget.exe. That's a real problem for those of us who use a software firewall to control outbound connections. The random_string element of the pathname means we cannot whitelist the updater because the pathname changes from one invocation to the next.

First of all, installing a software firewall is mostly pointless. All "incoming" connections are blocked by the broadband router anyway, unless you explicitly add a port-forwarding (virtual server) rule. A software firewall may be able to block "outgoing" connections. But as the software that would open these "outgoing" connections is running on your local computer, just as the software firewall does, circumventing the software firewall is quite easily for a malicious application. So if you don't trust a specific software, then simply don't install it on your local computer. And if you do trust it, then just let it do its job. If you want to "sandbox" a suspicious application, a VM is more suitable.

Having said that, for what a software firewall can do, the built-in "Windows Firewall" does a decent job. Consequently there are very few reasons to replace the Windows firewall with a third-party solution. Of course the developers of these third-party firewalls need to give their customers a reason to switch. They need to remind their customers that their firewall software is doing something for the customer's protection. And they need to do this regularly. That's why these firewalls tend to react overly nervous and stubborn. After all you will end up adding zillions of exception rules to shut up the firewall messages, destroying pretty much all the extra protection...

Could we have a static pathname for the updater, pretty please?

Sorry, I'm not going to change the design of LameXP, just because some software firewall is going nuts. I think a firewall shall protect the computer from unwanted connections. It shall NOT prevent wanted software from doing its job. And it certainly should NOT try to force a specif software design on thrid-party applications. A software firewall that interferes with legitimate software doing legitimate things is disqualifying itself.

BTW: If your software firewall doesn't allow you to specify a rule for "unblocking" Wget independent of the executable's fully-qualified path, then you should probably buy a book for first semester computer science students and send it to the developers of that firewall software. They might find the chapters about "regular expressions" and "hash functions" quite interesting...

malch
24th May 2012, 22:34
First of all, installing a software firewall is mostly pointless.

Sorry, I'm not going to change the design of LameXP, just because some software firewall is going nuts.

Okay, I respect your decision even if I do disagree with your views on firewalls.

A software firewall is, in my view, a very effective anti-malware tool that involves a fraction of the system overhead imposed by the commercial AV programs that most people run.

And yes, it would be very simple to use RegExp matching for whitelisted programs. That would however defeat the purpose since of the firewall because malware would (indeed already does) attempt to disguise itself by using filenames that match the names of legitimate executables but installing itself in a different folder.

Finally, the software firewall that I happen to use does not replace the standard Windows firewall. It simply extends the existing capabilities of the Windows firewall via the MS documented API's.

LoRd_MuldeR
24th May 2012, 23:01
And yes, it would be very simple to use RegExp matching for whitelisted programs. That would however defeat the purpose since of the firewall because malware would (indeed already does) attempt to disguise itself by using filenames that match the names of legitimate executables but installing itself in a different folder.

Well, if the "malware" is at the point where it can install itself to an arbitrary location on your system, it may as well disable/reconfigure the software firewall to not get into its way. Also a software firewall can be bypassed in various ways by a malicious application, e.g. by calling a "trusted" application (e.g. your web-browser) in the background and let it do the communication for you. Furthermore I doubt any malware would try to hide itself as "lamexp_something.exe" - it would rather pick a popular application that is more likely to be installed on the machine. But if a RegExp-based exception rule isn't feasible, you may still use a Hash-based one. The included Wget binary is rarely updated, so the Hash won't change...

LoRd_MuldeR
25th May 2012, 00:15
LameXP v4.05 Alpha-3

Changes between v4.04 and v4.05:
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated mpg123 decoder to v1.14.2 (2012-05-12), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.57 (2012-05-02), compiled with ICL 12.1.7 and MSVC 10.0
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files

VzK
29th May 2012, 02:35
A problem appeared using v4.05 Alpha-3 build 1030.

When using Cue Sheet Importer, if cue filename ends with an ellipsis (...), an error message appears:
http://i.imgur.com/uyJWm.jpg

This happens often, I just have to click OK and then Browse and Select; but this time when I click Browse the program hangs and I'm forced to give it the three-finger salute.

LoRd_MuldeR
29th May 2012, 09:35
Okay, I see what the problem is here:

A folder or file name must not end with a . character. Thus a folder of such name cannot be created and we will have a problem :eek:

This problem is not specific to v4.05 though. Probably exists ever since the CueSheet importer was added...

LoRd_MuldeR
29th May 2012, 20:48
LameXP v4.05 Alpha-4

Changes between v4.04 and v4.05:
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated mpg123 decoder to v1.14.2 (2012-05-12), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.57 (2012-05-02), compiled with ICL 12.1.7 and MSVC 10.0
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name

Przemek_Sperling
30th May 2012, 05:46
I found an interesting review of LameXP yesterday http://www.addictivetips.com/windows-tips/lamexp-audio-encoder-highly-powerful-feature-rich-audio-converter/ A bit brief but shows pretty well what LameXP can do.

Kadai
19th June 2012, 21:21
First of all, thank you for this very nice piece of software. I totally love it (on windows).

Yet, it has some bugs and stuff that can help a lot to improve it. I have seen all of them on Windows 7 64bits.

Not sure if someone have already reported this, but when you are about to split a cuesheet, and the created folder has the same name than a file on the folder, LameXP is unable to create the folder (So far I know, this may be an issue of the system itself), there is a way to detect this collition on LameXP and prevent this? (appending something to the name of the folder, for example).

Also, Other things I have noticed is that LameXP "discards" tracks when they have a name "too long". This have happened me with some japanese albums that have "long names". You have to manually rename folders and try again in order to get the ommited tracks included the next time. A bit annoyning, but not so really an issue of LameXP, but detecting this too might be nice.

Continuing with the topic, but this time talking about cue sheets in general... There is a way to prevent to loss the already added splitted tracks?
Let's say that you had a LameXP crash while trying to add a cue sheet, but you had added previously other cues to the convertion queue. All of them get lost after that. While it is not a big deal when you have splitted only an album... it can be annoyning if you had 20 or more getting ready to be transcoded... because you have to split them all again (to keep the metadata), so far I know.

And of course, the last one is also related to the cuesheets. There is a way to "batch add" cueshets? Like we do with regular files? Havng the splitter is wonderfull, but maybe the dropzone might also work as a detection zone (if a cue sheet is dropped there) and try to "split" the cue in the bagground and add the resulting files to the queue. But this will be a plus.

Other things I have found are related to the tags of th encoded files. For example, if the file has a "Composer" tag, it is not copied to the newy encoded file. That happens not only to that tag, but to many others (most of them outside of the basic and extended tags). Copying all the tags might be awesome. Also, I have seen that LameXP doe snot properly detects "tags" on vorbis comment (used mostly on flac files) and either ignores them, or join them "Artist / Composer". Other software, like soundKonverter, does tag the fiels properly using the vorbis comment from the flac file.

Oh, and also, LameXP works perfectly on Linux with Wine 1.5.6 (Kubuntu 12.04, as a portable application). Too bad it does not have drag and drop support.

Sorry for the long post, but those are my observations after being using Lame after 4 months so far! Hope you keep the nice work with it. And thank you!

-Phantom-
20th June 2012, 04:51
I have a problem in converting flac 24b\96kHz to flac 16b\44.1kHz with lamexp
In program interface i can swich only sample rate.

Also there is a field for custom encoder parameters, but i need to know switches for changing bps and sample rate...

I would like to request to add cli reference (like "flac --help") for custom encoding parameters. Something like a "?" button near edit field.

ps:
parameters is
--bps=16 --sample-rate=44100

upd:
after specifying the parameters, lame xp encode audiofiles without changing bps and sr
LameXP v4.05 (Build #1038), compiled on 2012-06-21 at 18:26:06

-------------------------------

C:/Temp/53389f20806a42b2a7a4c3476198ac42/lamexp_flac.exe -d -F -f -o C:\Temp\53389f20806a42b2a7a4c3476198ac42\68b4f6fc28a34c9db5ae312a0b06cd23.wav "G:\Downloads Torrents\Kreator-Phantom_Antichrist-EP-FLAC-2012-SCORN\a1. phantom antichrist (edit).flac"

flac 1.2.1, Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
welcome to redistribute it under certain conditions. Type `flac' for details.
a1. phantom antichrist (edit).flac: done

Exited with code: 0x0000

-------------------------------

C:/Temp/53389f20806a42b2a7a4c3476198ac42/lamexp_sox.exe --i C:/Temp/53389f20806a42b2a7a4c3476198ac42/68b4f6fc28a34c9db5ae312a0b06cd23.wav

Input File : 'C:/Temp/53389f20806a42b2a7a4c3476198ac42/68b4f6fc28a34c9db5ae312a0b06cd23.wav'
Channels : 2
Sample Rate : 96000
Precision : 24-bit
Duration : 00:04:24.56 = 25397760 samples ~ 19842 CDDA sectors
File Size : 152M
Bit Rate : 4.61M
Sample Encoding: 24-bit Signed Integer PCM

Exited with code: 0x0000

-------------------------------

C:/Temp/53389f20806a42b2a7a4c3476198ac42/lamexp_flac.exe -8 --channel-map=none -T "title=Phantom Antichrist (edit)" -T artist=Kreator -T "album=Phantom antichrist" -T "genre=Thrash Metal" -T date=2012 -T track=1 --bps=16 --sample-rate=44100 -f -o "G:\Downloads Torrents\Kreator-Phantom_Antichrist-EP-FLAC-2012-SCORN\a1. phantom antichrist (edit) (3).flac" C:\Temp\53389f20806a42b2a7a4c3476198ac42\68b4f6fc28a34c9db5ae312a0b06cd23.wav

flac 1.2.1, Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
welcome to redistribute it under certain conditions. Type `flac' for details.
68b4f6fc28a34c9db5ae312a0b06cd23.wav: WARNING: legacy WAVE file has format type 1 but bits-per-sample=24
68b4f6fc28a34c9db5ae312a0b06cd23.wav: wrote 104742704 bytes, ratio=0,687

Exited with code: 0x0000

LoRd_MuldeR
20th June 2012, 21:33
First of all, thank you for this very nice piece of software. I totally love it (on windows).

You are welcome.

Not sure if someone have already reported this, but when you are about to split a cuesheet, and the created folder has the same name than a file on the folder, LameXP is unable to create the folder (So far I know, this may be an issue of the system itself), there is a way to detect this collition on LameXP and prevent this? (appending something to the name of the folder, for example).

It's a limitation of the file system. There can not be two items (files or sub-folders) within the same directory.

When LameXP generates the initial sub-folder name, it will check for existing folders and it will append "... (2)" when necessary.

It does not check for existing files of that name though. Collisions with files are highly unlikely, because files almost always have an extension (while folders almost always do not).

Anyway, I will make the check more throughout to avoid problems...

Also, Other things I have noticed is that LameXP "discards" tracks when they have a name "too long". This have happened me with some japanese albums that have "long names". You have to manually rename folders and try again in order to get the ommited tracks included the next time. A bit annoyning, but not so really an issue of LameXP, but detecting this too might be nice.

Maybe you were running into the MAX_PATH (http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx#maxpath) limitation of the file system. If so, there's not much we can do here...

Continuing with the topic, but this time talking about cue sheets in general... There is a way to prevent to loss the already added splitted tracks?
Let's say that you had a LameXP crash while trying to add a cue sheet, but you had added previously other cues to the convertion queue. All of them get lost after that. While it is not a big deal when you have splitted only an album... it can be annoyning if you had 20 or more getting ready to be transcoded... because you have to split them all again (to keep the metadata), so far I know.

LameXP usually won't crash :p

But if it did crash, you could simply re-add the files that have been split previosuly. You don't have to split them again. They'll still be there.

And of course, the last one is also related to the cuesheets. There is a way to "batch add" cueshets? Like we do with regular files? Havng the splitter is wonderfull, but maybe the dropzone might also work as a detection zone (if a cue sheet is dropped there) and try to "split" the cue in the bagground and add the resulting files to the queue. But this will be a plus.

This is not currently implemented. And it would not be easy to implement that on top of current Cue Sheet import dialog.

Other things I have found are related to the tags of th encoded files. For example, if the file has a "Composer" tag, it is not copied to the newy encoded file. That happens not only to that tag, but to many others (most of them outside of the basic and extended tags). Copying all the tags might be awesome. Also, I have seen that LameXP doe snot properly detects "tags" on vorbis comment (used mostly on flac files) and either ignores them, or join them "Artist / Composer". Other software, like soundKonverter, does tag the fiels properly using the vorbis comment from the flac file.

Well, this is not as easy as you might think. In order to "copy" a specific meta tag, you need to extract/parse that info from the original file first. Then you need to re-embedd it into the new file.

To make thinks worse, different file formats use/support different tags. Sometimes the same thing is called slightly different in different file formats. Or there is no clear standard on what tags are supported.

For LameXP I tried to find the "lowest common denominator" for alle file formats we deal with. "Composer" currently is not one of the tags supported by LameXP's internal representation...

Oh, and also, LameXP works perfectly on Linux with Wine 1.5.6 (Kubuntu 12.04, as a portable application). Too bad it does not have drag and drop support.

LameXP does support Drag&Drop, so this might be a bug/limitation of Wine. There are other problems with Wine.

So using LameXP under Linux via Wine is not the prefect way. A native Linux version of LameXP is on my TODO list and thanks to Qt this shouldn't be impossible.

But as quite some Windows-specific code has aggregated over the years, this will be a huge project :rolleyes:

(First step will be making LameXP compile with MinGW/GCC under Windows)

mariush
20th June 2012, 22:21
It's a limitation of the default functions you use to handle files in the application.



Maybe you were running into the MAX_PATH limitation of the file system. If so, there's not much we can do here...


This is also false. You can... Read on.

By default, the API functions will not (or should not) allow you to create files or folders with dot or space at the end. The file system can handle it just fine.

But an application can work around that, by using UNC names... read this page on MSDN: http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx#fully_qualified_vs._relative_paths

Basically, for example ... create a folder TEMP in C:\

Create a text file called "a.txt" - this works.
Create a folder called "a" - this works.

So far, it's possible to create a folder with the same name as a file, as long as there's no extension or dot at the end

Create a folder called "a." - by default it won't let you. However, you can open a command prompt and type there:

C:\> mkdir "\\?\C:\temp\a."

and you'll see a folder titled "a." in that folder. Windows should open it, you might even copy and delete files in it, but you won't be able to delete it.

Run

c:\> rmdir "\\?\C:\temp\a."

to delete it.

You can use this prefix to create paths longer than 257 ASCII (well, whatever the default Windows page is) characters... just be sure to send each character as two bytes in the API functions... as in "\ \ ? \ C : \ ... "

User will be able to do whatever it wants with the files and everything but some applications may have problems with it... for example Windows Explorer may not delete the folder if the whole path is longer than 257 characters. User can rename a folder that's before the folder with the music, to bring the whole path below the 257 character limit and then he'll be able to move/delete/etc the folder with the music.

So... I don't know what to say, it may be a future worth implementing, but user should at least be warned if the total path will be longer than 257 characters (or whatever MAX_PATH is set to)

LoRd_MuldeR
20th June 2012, 22:32
Well, technically some of the functions in the Win32 API may be "forced" to accept paths longer than MAX_PATH by using UNC paths. But not all of them.

Also the following warning should be considered:
The shell and the file system have different requirements. It is possible to create a path with the Windows API that the shell user interface is not able to interpret properly.

AFAIK the Windows Explorer doesn't permit the user to create folders with a path exceeding MAX_PATH characters. And it might not be able to access such a folder created by another application.

Last but not least: LameXP avoids using the Win32 API directly and instead uses the appropriate Qt classes for file access. I have no idea if these can work with UNC names.

(And even if they did, on the Windows platform, this probably would destroy portability)

Kadai
21st June 2012, 08:00
First, thank you for the answers!

Now...



But if it did crash, you could simply re-add the files that have been split previosuly. You don't have to split them again. They'll still be there.



I have seen them when I have splitted from cue sheets, but for what I was referring is that, since they are wav files, they do not have any metadata on them... or they have?
To be honest, I have never added the splitted wav files. Just assumed that the metadata got lost. And after all, that is the important if you are splitting many files.




Well, this is not as easy as you might think. In order to "copy" a specific meta tag, you need to extract/parse that info from the original file first. Then you need to re-embedd it into the new file.

To make thinks worse, different file formats use/support different tags. Sometimes the same thing is called slightly different in different file formats. Or there is no clear standard on what tags are supported.

For LameXP I tried to find the "lowest common denominator" for alle file formats we deal with. "Composer" currently is not one of the tags supported by LameXP's internal representation...


Yup, I do myself understand that. But to what I was referring is that I see very different results from LameXP and from other encoding software (namely, soundKonverter). See the screenshots:

Original Flac Files, and LameXP output files:
http://img820.imageshack.us/img820/5463/lamexpoutput.png (http://imageshack.us/photo/my-images/820/lamexpoutput.png/)


Original Files, and soundKonverter output files:
http://img207.imageshack.us/img207/2743/soundk.png (http://imageshack.us/photo/my-images/207/soundk.png/)

The main thing is that maybe LameXP is reading a tag it is not supposed to read )on that case), because it places there the "Arranger" rather than the "Artist". But it may be an isolated case, because those flac files appear to use this scheme: http://i.imgur.com/UAazk.png

But this may help LameXP to improve about tag accuracy when re-embedding them.



LameXP does support Drag&Drop, so this might be a bug/limitation of Wine. There are other problems with Wine.

So using LameXP under Linux via Wine is not the prefect way. A native Linux version of LameXP is on my TODO list and thanks to Qt this shouldn't be impossible.

But as quite some Windows-specific code has aggregated over the years, this will be a huge project :rolleyes:

(First step will be making LameXP compile with MinGW/GCC under Windows)

Thank you for your effort on this! And when I was talking about "Drag & Drop", I was referring about Linux! (It does not work, at least not on my system).

Despite that, I'm using LameXP over the native soundKonverter because your software is way better on doing the job and options.

...

Oh, and a last issue that I have remembered: When loading a cue-sheet that its on ANSII coding, it would be nice to have the encodings have a name attached to it. Having, for example, "IBM-1234" as an option is not as descriptive as maybe "IBM-567 (Languaje)". But I have work-around it myself converting the files to UTF-8 before dropping them on Lame.

By the way, thanks again!

LoRd_MuldeR
21st June 2012, 19:52
LameXP v4.05 Alpha-5

Changes between v4.04 and v4.05:
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated mpg123 decoder to v1.14.2 (2012-05-12), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.57 (2012-05-02), compiled with ICL 12.1.7 and MSVC 10.0
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name

LoRd_MuldeR
8th July 2012, 23:39
LameXP v4.05 Alpha-6

Changes between v4.04 and v4.05:
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated Qt runtime libraries to v4.8.2 (2012-04-26), compiled with MSVC 10.0
* Updated mpg123 decoder to v1.14.2 (2012-05-12), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.57 (2012-05-02), compiled with ICL 12.1.7 and MSVC 10.0
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name

LoRd_MuldeR
12th July 2012, 23:08
LameXP v4.05 Alpha-7

Changes between v4.04 and v4.05:
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated Qt runtime libraries to v4.8.2 (2012-04-26), compiled with MSVC 10.0
* Updated mpg123 decoder to v1.14.3 (2012-07-01), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.58 (2012-05-28), compiled with ICL 12.1.7 and MSVC 10.0
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name
* Workaround for a bug (feature?) of Qt's command-line parser that screwed up some arguments

LoRd_MuldeR
20th July 2012, 23:59
LameXP v4.05 Alpha-8

Changes between v4.04 and v4.05:
* Added support for Opus Audio Codec, based on Opus-Tools v0.1.3 (2012-07-10) by Xiph.org/Mozilla
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated Qt runtime libraries to v4.8.2 (2012-05-22), compiled with MSVC 10.0
* Updated mpg123 decoder to v1.14.3 (2012-07-01), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.58 (2012-05-28), compiled with ICL 12.1.7 and MSVC 10.0
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name
* Workaround for a bug (feature?) of Qt's command-line parser that screwed up some arguments

Limitations regarding Opus support:
* Opus-Tools don't support Unicode filenames (on the Windows platform), so I will have to fix that myself - at a later time
* Opus-Tools don't report real-time progress while encoding/decoding (actually the encoder does report progress, but the required flush operation appears to be missing)
* Detection of input Opus files is provisional, most info is not detected. This will be fixed as soon as we update to a newer MediaInfo with Opus support.

LoRd_MuldeR
21st July 2012, 22:59
LameXP v4.05 Alpha-10

Changes between v4.04 and v4.05:
* Added support for Opus Audio Codec, based on Opus-Tools v0.1.3 (2012-07-10) by Xiph.org/Mozilla
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated Qt runtime libraries to v4.8.2 (2012-05-22), compiled with MSVC 10.0
* Updated mpg123 decoder to v1.14.3 (2012-07-01), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.58 (2012-05-28), compiled with ICL 12.1.7 and MSVC 10.0
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name
* Workaround for a bug (feature?) of Qt's command-line parser that screwed up some arguments

Now LameXP using a custom Opus encoder, which should resolve most of the limitations (patch (https://git.xiph.org/?p=users/greg/opus-tools.git;a=commitdiff;h=58347273ab4c9e9d30ab8ffd62acbac348f7e0c8;hp=4cc06a7f0fe7cd93196e3078bcf1b7c1b0e0c934)). Also more Opus-specific options are exposed now!

BTW: If you are looking for an Opus-capable player software, you may want to give foobar2000 v1.1.14 beta-1 (http://www.foobar2000.org/) a try ;)

LoRd_MuldeR
29th July 2012, 16:10
LameXP v4.05 Alpha-12

Changes between v4.04 and v4.05:
* Added support for Opus Audio Codec, based on Opus-Tools v0.1.3+ (2012-07-26) by Xiph.org/Mozilla
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated Qt runtime libraries to v4.8.2 (2012-05-22), compiled with MSVC 10.0
* Updated mpg123 decoder to v1.14.3 (2012-07-01), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.58 (2012-05-28), compiled with ICL 12.1.7 and MSVC 10.0
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name
* Workaround for a bug (feature?) of Qt's command-line parser that screwed up some arguments

Note: LameXP now includes a build of the Opus encoder with "experimental encoder perceptual tuning" (exp_analysis7).

hoboX10
29th July 2012, 23:39
Hey Mulder, I just want to let you know that your latest stable release has a weird bug when you encode to AAC. (At least from MP3). The output file contains both the AAC audio track AND the MP3 track, but they aren't listed as separate audio tracks like different audio languages are. They play at the same time and it is very strange.

If this is already known, then I'm sorry for the spam. Thanks for the awesome program I've been using LameXP for years.

Edit: I installed one of the alpha builds and it doesn't have the issue. It's good enough for me, I was just letting you know of it.

LoRd_MuldeR
30th July 2012, 00:05
hoboX10, LameXP certainly does not multiplex multiple audio streams into a single file. Also the (default) AAC encoder used by LameXP, Nero AAC, hasn't changed in years and won't do anything like that.

Thus I assume this is actually a playback issue. Your playback software probably assumes that the .MP4 file is a video and loads the .MP3 file as an additional audio track ;)

If you are 100% sure that this is NOT some playback issue, then please create a MediaInfo (http://mediainfo.sourceforge.net/en) report (in "text" mode!) from the "problematic" MP4 file (as generated by LameXP) and send the report to me via PM.

Furthermore you may want to post your LameXP log: Once the encoding process has finished, don't close the processing window, double-click on one of the items in the list and then copy the text...

LoRd_MuldeR
1st August 2012, 22:03
LameXP v4.05 Alpha-13

Changes between v4.04 and v4.05:
* Added support for Opus Audio Codec, based on Opus-Tools v0.1.3+ (2012-07-26) by Xiph.org/Mozilla
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated Qt runtime libraries to v4.8.2 (2012-05-22), compiled with MSVC 10.0
* Updated mpg123 decoder to v1.14.3 (2012-07-01), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.58 (2012-07-31), compiled with ICL 12.1.7 and MSVC 10.0
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name
* Workaround for a bug (feature?) of Qt's command-line parser that screwed up some arguments

The updated version of MediaInfo will now properly detect Opus files with full info. Provisional Opus detection code was removed.

LoRd_MuldeR
5th August 2012, 15:46
LameXP v4.05 Beta-1

Changes between v4.04 and v4.05:
* Added support for Opus Audio Codec, based on Opus-Tools v0.1.3+ (2012-07-26) by Xiph.org/Mozilla
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated Qt runtime libraries to v4.8.2 (2012-05-22), compiled with MSVC 10.0
* Updated mpg123 decoder to v1.14.4 (2012-07-26), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.58 (2012-07-31), compiled with ICL 12.1.7 and MSVC 10.0
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name
* Workaround for a bug (feature?) of Qt's command-line parser that screwed up some arguments

SeeMoreDigital
5th August 2012, 21:19
LameXP v4.05 Alpha-8
Added support for Opus Audio Codec, based on Opus-Tools v0.1.3+ (2012-07-26) by Xiph.org/Mozilla
Well... I had a quick look on the forum but was unable to find a decoder filter for Opus. Can anyone oblige?

LoRd_MuldeR
5th August 2012, 21:25
Well... I had a quick look on the forum but was unable to find a decoder filter for Opus. Can anyone oblige?

I'm not exactly sure what kind of "filter" you are referring to, but the Opus Tools include both, an encoder and decoder tool.

I have put up a stand-alone download here:
https://code.google.com/p/mulder/downloads/list?can=2&q=Opus+Tools

Of course the easiest way would be using LameXP to decode the Opus files ;)

And, as mentioned before, if you are looking for player software that handles Opus files directly, get the latest Foobar2000.

Last but not least, an up-to-date Firefox will handle Opus via HTML 5 <audio> tag.

SeeMoreDigital
5th August 2012, 21:35
And, as mentioned before, if you are looking for player software that handles Opus files directly, get the latest Foobar2000.

Bummer... Is that the only player able to decode/play Opus audio files :eek:

By-the-way... Have you tried muxing .opus files using MKVmerge GUI? It would not work for me!

LoRd_MuldeR
5th August 2012, 21:46
Keep in mind that Opus is still pretty new and has just been standardized ;)

At this point, I don't know of any Opus-enabled players other than Foobar2000 and Firefox. But you can be sure Opus support will be added to VLC, MPlayer and friends soon (if not done yet).

Also I would really be surprised if nobody writes a Winamp plug-in and a DirectShow decoder for Opus...

[EDIT]

As for your question about MKVmerge, I have no idea :o

As far as I know, storing Opus streams in Matroska containers is supposed to work, but is the specification for that fixed yet? And if so, is it implemented in MKVmerge already?

Brazil2
7th August 2012, 11:41
At this point, I don't know of any Opus-enabled players other than Foobar2000 and Firefox.

Also I would really be surprised if nobody writes a Winamp plug-in and a DirectShow decoder for Opus...
Any BASS (http://www.un4seen.com) based player (XMPlay, AIMP, 1by1, <more>) can play OPUS using this DLL:
http://www.un4seen.com/forum/?topic=13870.0

And DirectShow players can use DC-Bass Source Mod for OPUS playback:
http://reino.degeelebosch.nl

LoRd_MuldeR
7th August 2012, 21:36
LameXP v4.05 Beta-2

Changes between v4.04 and v4.05:
* Added support for Opus Audio Codec, based on Opus-Tools v0.1.4 (2012-08-05) by Xiph.org/Mozilla
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated Qt runtime libraries to v4.8.2 (2012-05-22), compiled with MSVC 10.0
* Updated mpg123 decoder to v1.14.4 (2012-07-26), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.58 (2012-07-31), compiled with ICL 12.1.7 and MSVC 10.0
* Updated optional add-ins for QAAC encoder and FHG AAC encoder (see FAQ doc (http://lamexp.git.sourceforge.net/git/gitweb.cgi?p=lamexp/lamexp;a=blob_plain;f=doc/FAQ.html;hb=HEAD#71a113b0) for details)
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name
* Workaround for a bug (feature?) of Qt's command-line parser that screwed up some arguments

manolito
8th August 2012, 18:53
From the changelog of MkvТоMp4 v0.221:
6. Ability to use QT library for encoding without having to install QuickTime player or iTunes.

Looks like oreons found a way to use qaac without installing Apple Application Support...

Could this be implemented in LameXP?


Cheers
manolito


//Edit//
Looks like oreons promised too much...
qaac encoding does not work on my machine without QuickTime or iTunes

LoRd_MuldeR
8th August 2012, 20:45
AFAIK, older versions of QAAC were accessing the Apple AAC encoder through QuickTime (or some component of it), thus an installation of QuickTime was inevitable.

However "since [version] 1.00, qaac directly uses CoreAudioToolbox.dll. Therefore, QuickTime installation is no more required. However, Apple Application Support is required" (source (https://sites.google.com/site/qaacpage/)).

I think that's all what oreons was referring to! Also note that you can install either iTunes, QuickTime or Safari in order to obtain the required Apple Application Support...

QAAC probably will never work without CoreAudioToolbox.dll, for obvious reasons. And installing the Apple Application Support is the only way to get that DLL pus its dependencies.

(BTW: I don't know if Apple offers the "AppleApplicationSupport.msi" as a stand-alone download, but you may extract it from the "QuickTimeInstaller.exe" via 7-Zip)

LoRd_MuldeR
13th August 2012, 20:27
LameXP v4.05 Beta-3

Changes between v4.04 and v4.05:
* Added support for Opus Audio Codec, based on Opus-Tools v0.1.4 (2012-08-05) by Xiph.org/Mozilla
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated Qt runtime libraries to v4.8.2 (2012-05-22), compiled with MSVC 10.0
* Updated mpg123 decoder to v1.14.4 (2012-07-26), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.59 (2012-08-08), compiled with ICL 12.1.7 and MSVC 10.0
* Updated optional add-ins for QAAC encoder and FHG AAC encoder (see FAQ doc (http://lamexp.git.sourceforge.net/git/gitweb.cgi?p=lamexp/lamexp;a=blob_plain;f=doc/FAQ.html;hb=HEAD#71a113b0) for details)
* Updated DCA Enc to v2 (2012-04-19), compiled with ICL 12.1.7 and MSVC 10.0
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name
* Workaround for a bug (feature?) of Qt's command-line parser that screwed up some arguments

Note: This update also fixes a regression, introduced in v4.05 Alpha-1, which could cause multiple temporary folders to be created in your %TEMP% directory, but only one of them gets clean-up.
If you used any of the previous LameXP v4.05 Alpha/Beta versions, then it is highly recommended that you check your %TEMP% directory and clean it up manually, if required...

manolito
16th August 2012, 16:43
QAAC probably will never work without CoreAudioToolbox.dll, for obvious reasons. And installing the Apple Application Support is the only way to get that DLL pus its dependencies.

Well, oreons actually did manage to support qaac without installing Apple Application support. I just set it up wrong (I ticked "QuickTime" when I should have ticked "CoreAudioToolbox").

Now of course my question again if this could be implemented in LameXP. As far as I can see it only requires 4 DLLs in the program folder. I have no idea about dependencies, but MkvToMp4 comes without an installer, so it cannot be too hard...


Cheers
manolito

LoRd_MuldeR
16th August 2012, 19:05
Well, as said before, QAAC will unavoidably require the CoreAudioToolbox.dll, because that is where the Apple AAC encoder is implemented.

Whether you need to run the Apple Application Support installer to get CoreAudioToolbox working, that is a different question ;)

It probably is sufficient to just drop CoreAudioToolbox.dll plus its dependencies (I count at least eight (http://img440.imageshack.us/img440/1010/coreaudiodll.png) more dependencies!) into the application directory or the System directory, so QAAC can find and load it.

But, as we cannot redistribute CoreAudioToolbox.dll (and friends) for legal reasons, the users will have to download the Apple Application Support (or a product that contains it) from the Apple site anyway.

And for most users it will be much easier to just let the installer do its job, instead of trying to extract the required DLL's from the setup package manually...

manolito
16th August 2012, 22:17
Of course your reply is not really satisfactory for me, so I did a little research...

Apple Application Support can be extracted from QuickTime or iTunes and can be installed separately, but it is still bloated. It uses more than 60 MB on the HDD, it installs an autorun entry for APSDaemon.exe, and it adds a Windows Firewall exception for WebKit. A little much for my taste.

Since oreons succeeded in making MkvToMp4 use qaac without installing Apple Application Support, my first attempt was to make LameXP use the CoreAudio files from MkvToMp4. But this did not work so far.

The second best approach was to install Apple Application Support, but strip it down to only the essential files. And this did work...:D


This is the procedure:

1. Download QuickTime or iTunes, open the file with 7-Zip and extract AppleApplicationSupport.msi. Install it by doubleclicking it.

2. Open RegEdit, go to HKLM/Software/Microsoft/Windows/CurrentVersion/Run and delete the entry for APSDaemon.

3. Open your Firewall settings and remove the exception for WebKit.

4. Run Explorer, navigate to Program Files/Common Files/Apple/Apple Application Support. Delete all subfolders. Delete all files in the root folder except:
ASL.dll
CoreAudioToolbox.dll
CoreFoundation.dll
icudt46.dll
libdispatch.dll
libicuin.dll
libicuuc.dll
obj.dll
pthreadVC2.dll

5. Reboot


The size of your Apple folder will now be only 23 MB, and the software will not make home calls any more...


Cheers
manolito

LoRd_MuldeR
16th August 2012, 22:42
You really worry about 60 MB in times where the OS alone easily takes 10-15 GB of HDD space? :confused:

Anyway, if you want to be really paranoid and avoid installing Apple Application Support by all means, you can extract the CoreAudioToolbox DLL files from the "AppleApplicationSupport.msi" file via 7-Zip.

Put them into a sub-folder called "QTfiles" which you create inside the directory where the "qaac.exe" resides and you are done. There is no MkvToMp4 "magic" needed for that...

manolito
16th August 2012, 23:31
You really worry about 60 MB in times where the OS alone easily takes 10-15 GB of HDD space?
It is not so much the size as the "Call-Home" feature. And I remember some person quite recently also had strong reservations against installing this kind of software:
About iTunes: The only thing I can say is that personally I wouldn't infect my computer with a mess like iTunes or QuickTime...


you can extract the CoreAudioToolbox DLL files from the "AppleApplicationSupport.msi" file via 7-Zip.

Put them into a sub-folder called "QTfiles" which you create inside the directory where the "qaac.exe" resides and you are done. There is no MkvToMp4 "magic" needed for that...

That would have been nice, but it does not work. Using the latest LameXP beta, qaac addin version from 05-08-2012. Still getting the error
QAAC version couldn't be determined -> QAAC support will be disabled!


Cheers
manolito


//Edit//
Alright, I think I figured it out...:)
The subfolder QTfiles needs another subfolder called "Microsoft.VC80.CRT" which must contain the files
msvcr80.dll
msvcp80.dll
Microsoft.VC80.CRT.manifest

It looks like the easiest way to make this work under LameXP is to pull the whole QTFiles folder from MkvToMp4 and copy it into the LameXP folder.

LoRd_MuldeR
16th August 2012, 23:51
It does work for me. Tested on a "clean" VM.

Make sure "qaac.exe" as well as "libsoxrate.dll" are located in your LameXP directory. All the CoreAudioToolbox DLL's go into a sub-folder "QTfiles".

You may verify that QAAC is working properly by running "qaac.exe --check" from the LameXP directory...

[EDIT]

Indeed, the Apple Application Support DLL's depend on the Visual C++ 2005 Runtime libraries. Thus you will need the Microsoft Visual C++ 2005 Redistributable Package (http://www.microsoft.com/en-us/download/details.aspx?id=3387), if you happen to not have that installed yet.

Also you don't need a "special" QAAC binary from MkvToMp4, the build included in the LameXP Add-in should work fine. The CoreAudioToolbox DLL's need to be obtained from Apple web-site for legal reasons...

manolito
17th August 2012, 01:06
Indeed, the Apple Application Support DLL's depend on the Visual C++ 2005 Runtime libraries. Thus you will need the Microsoft Visual C++ 2005 Redistributable Package (http://www.microsoft.com/en-us/download/details.aspx?id=3387), if you happen to not have that installed yet.

Well, I do not have a "Clean Machine", but I do have several versions of the VC runtimes installed. Whenever an application needed to install a VC runtime, I let it do it. And my Windows updates are done through WSUSOffline, so my VC redistributables are always up to date. My uninstall window looks like this:
http://www.bilderload.com/bild/236509/vcZ2SYK.png (http://www.bilderload.com)

Still qaac refused to work without the "Microsoft.VC80.CRT" subfolder under the Qtfiles folder. Oh well...:(

I've got another request, though. When more than one AAC encoder is installed, FHG takes precedence over Nero, and qaac takes precedence over FHG. For people like me who always love to have choices, would it be possible to add a selection box to LameXP so if more than one AAC encoder is installed we could easily pick the one we want from within the GUI?



Cheers
manolito

LoRd_MuldeR
17th August 2012, 12:17
The VS2005 and VS2008 runtime libraries are handled by WinSxS (Windows Side-by-Side) and thus they actually need to be installed. Just putting the runtime DLL's into the application directory won't work with these VS versions. Once the VS2005/VS2008 redistributable package has been installed, WinSxS will take care of providing each applications with the proper DLL (version). Also Windows Update will take care of keeping the DLL's managed by WinSxS up-to-date. It is also possible to provide assemblies (DLL files) as "private assemblies" (http://msdn.microsoft.com/en-us/library/ff951638%28v=vs.85%29) by putting them into a specific sub-folder along with a suitable Manifest file. This is intended for assemblies that, unlike the C++ Runtime libs, are not supposed to be used by multiple applications. Starting with VS2010, the C++ Runtime libs are no longer maintained by WinSxS though.

About adding an option to choose the AAC encoder at runtime: This certainly would be possible, but it would be yet another complication. I see that such an option would be nice for switching between the different encoders quickly, in case you are doing some encoder comparison. But most users will probably install their preferred AAC encoder once and then stick with it. If, for example, somebody installs the Add-in for FHG-AAC or for QAAC, we can be pretty sure the user actually wants to use that encoder...

GrofLuigi
17th August 2012, 18:16
From using Safari on Windows (and thus AAS) i know that it requires a very fresh version of VS redistributables. Probably the "ATL security update" or even later. It is compiled that way.

GL

LoRd_MuldeR
17th August 2012, 20:29
LameXP v4.05 Beta-4

Changes between v4.04 and v4.05:
* Added support for Opus Audio Codec, based on Opus-Tools v0.1.4 (2012-08-16) by Xiph.org/Mozilla
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated Qt runtime libraries to v4.8.2 (2012-05-22), compiled with MSVC 10.0
* Updated mpg123 decoder to v1.14.4 (2012-07-26), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.59 (2012-08-08), compiled with ICL 12.1.7 and MSVC 10.0
* Updated optional add-ins for QAAC encoder and FHG AAC encoder (see FAQ doc (http://lamexp.sourceforge.net/doc/FAQ.html#71a113b0) for details)
* Updated DCA Enc to v2 (2012-04-19), compiled with ICL 12.1.7 and MSVC 10.0
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name
* Workaround for a bug (feature?) of Qt's command-line parser that screwed up some arguments

Note: This update also fixes a regression, introduced in v4.05 Alpha-1, which could cause multiple temporary folders to be created in your %TEMP% directory, but only one of them gets clean-up.
If you used any of the previous LameXP v4.05 Alpha/Beta versions, then it is highly recommended that you check your %TEMP% directory and clean it up manually, if required...

manolito
17th August 2012, 21:21
Just a quick note for users of the stable version 4.04:
Make sure "qaac.exe" as well as "libsoxrate.dll" are located in your LameXP directory. All the CoreAudioToolbox DLL's go into a sub-folder "QTfiles".
This method also works with version 4.04 using the LameXP.qaac-addin.2012-03-06.zip.

And it is not necessary to copy All the CoreAudioToolbox DLL's. Only these 9 files need to be copied:
ASL.dll
CoreAudioToolbox.dll
CoreFoundation.dll
icudt46.dll
libdispatch.dll
libicuin.dll
libicuuc.dll
obj.dll
pthreadVC2.dll



Cheers
manolito

LoRd_MuldeR
21st August 2012, 23:16
LameXP v4.05 RC-1

Changes between v4.04 and v4.05:
* Added support for Opus Audio Codec, based on Opus-Tools v0.1.4 (2012-08-16) by Xiph.org/Mozilla
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated Qt runtime libraries to v4.8.2 (2012-05-22), compiled with MSVC 10.0
* Updated mpg123 decoder to v1.14.4 (2012-07-26), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.59 (2012-08-08), compiled with ICL 12.1.7 and MSVC 10.0
* Updated optional add-ins for QAAC encoder and FHG AAC encoder (see FAQ doc (http://lamexp.sourceforge.net/doc/FAQ.html#71a113b0) for details)
* Updated DCA Enc to v2 (2012-04-19), compiled with ICL 12.1.7 and MSVC 10.0
* Updated language files (big thank-you to all contributors !!!)
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name
* Workaround for a bug (feature?) of Qt's command-line parser that screwed up some arguments

If you found any regressions in version 4.05, please report now ;)