diff --git a/doc/Manual.html b/doc/Manual.html index c068d648..0ab4e020 100644 --- a/doc/Manual.html +++ b/doc/Manual.html @@ -36,7 +36,7 @@ Spyware or other forms of PUP (potentially unwanted programs). It is perfectly allowed to bundle the LameXP software with other software, provided that the LameXP software still CAN be installed and launched from the bundle WITHOUT installing and/or launching any other components. -Other components contained in the bundle MUST be opt-in, NOT opt-out.

3 Anti-Virus Notes

Occasionally, it may happen that your anti-virus software mistakenly detects malware (virus, trojan horse, worm, etc.) while you are trying to run the LameXP application or the LameXP setup program. This is called a false positive and the file actually is not malware. Instead, this is an error (bug) in your particular anti-virus software! In case that you encounter this kind problem, we highly recommend using VirusTotal.com, Virscan.org or a similar web-service to check the file in question with multiple anti-virus engines. Unless the vast majority of the anti-virus engines detect malware, it can be assumed that the file is really harmless. However, please take care with heuristic scan results, such as "suspicious", "generic" or "packed". Those results are not malware detections – they are highly speculative and (almost certainly) can be ignored safely!

Defective anti-virus software is an ongoing annoyance! For example, anti-virus programs tend to suspect installers (or uninstallers) created with NSIS – which includes the LameXP setup program. But, of course, installers created with NSIS are perfectly legitimate. Thus, if your anti-virus program complains about the LameXP setup program, please ignore the nonsensical warning! Furthermore, it seems that some anti-virus programs accuse all "packed" executables of being malware. Nonetheless, using so-called "executable packers", e.g. UPX, is perfectly legitimate. Executable packers are commonly used by legitimate software, including numerous OpenSource projects – and so does LameXP. Thus, if your anti-virus program complains about the LameXP program file, because it has been "packed" by UPX, please ignore the nonsensical warning!

Last but not least: Always keep in mind that LameXP is free software, which means that the source codes of LameXP are freely available. Everybody can easily see that there is no malware of any kind included in the LameXP source code! If you do not trust the provided binaries of LameXP, you may build your own binary directly from the LameXP source codes…

3.1 Reporting False Positives

An important fact to consider is, that, for the developer of a legitimate application, it is impossible to know why a specific anti-virus software may be misinterpreting his or her application as malware. That is because anti-virus programs generally are proprietary (ClosedSource) software – anti-virus companies don not publish their source codes or reveal their algorithms. Moreover, a zillion of different anti-virus programs exist nowadays. For these reasons, the application developer can not know what is going on "behind the scenes" in a particular anti-virus software. Consequently, any assumptions on the reasons that are causing the false positive would be nothing but pure speculation! Even worse, anti-virus software is updated frequently, so the reasons why the anti-virus software is misinterpreting the application as malware may change constantly!

At this point, it should be clear that implementing workarounds for defective anti-virus software is not a viable option for application developers. Instead, since the false positive is an error (bug) in the particular anti-virus software, it can be fixed only by the developer of the anti-virus software. Therefore, it is important that you, the (paying) customer of the anti-virus company, contact the support team of the anti-virus company and report the problem to them! Most anti-virus companies provide ways to report false positives in a standardized way, e.g. by means of a webform. However, it is not possible to list them all here. So please refer to the anti-virus developer's web-site. Also, when reporting false positives, please be self-confident! As a paying customer, you can demand that false positives are fixed promptly. Otherwise, get your money back!

3.2 Performance Issues

During the startup procedure, the LameXP software has to perform a number of file-system operations. This can take a few moments. However, the startup procedure should never take longer than approximately 5 seconds. Even on our test system – Windows 7 running on an ancient Intel Core2 processor with 4 GB of RAM – the startup procedure takes only about 1.5 seconds. And that is with the "real-time protection" of Microsoft Security Essentials (MSE) enabled! If we disable the MSE "real-time protection" feature, the startup procedure takes less than 0.5 seconds. Unfortunately, it has been brought to our attention, that some other anti-virus products may slow down the startup procedure significantly! Startup delays of up to 20 seconds have been reported by users, which corresponds to a slow down factor of 40× – caused by the anti-virus software!

Consequently, if you think that LameXP is starting up "slow" on your machine, we recommend to temporarily disable or uninstall your current anti-virus software. If your anti-virus software has a so-called "real-time protection" or "guard" feature, please be sure to deactivate that feature too! As soon as the anti-virus software has been neutralized and no longer affects legitimate applications, please try launching the LameXP software again. If it turns out that the startup procedure of LameXP has become significantly faster when the anti-virus software is not interfering, then you know one thing for sure: It is the anti-virus software that was causing the slow down! Please recognize that we can not fix this kind of problems. Instead, since the problem is actually a defect of the anti-virus software, please report the problem to the developer of the anti-virus software!

Another way of detecting performance issues that are caused by sloppy anti-virus software is monitoring the CPU usage in Task Manager (or Process Explorer) while LameXP is starting up. Please make sure that you are not looking at the "overall" CPU usage, but at the CPU usage caused by the individual processes, and that "show processes from all users" is enabled. Then you will probably notice that LameXP.exe is sitting "idle", more or less, while some service process belonging to the anti-virus software is "hogging" the CPU. The anti-virus software is hindering LameXP startup! A typical example looks like this:

Please report performance issues to the anti-virus software's developer. Also, when reporting performance issues, please be self-confident! As a paying customer, you can demand that such bugs are fixed promptly. Otherwise, get your money back!

3.3 Anti-Virus Conclusions

The code of conduct regarding problems and annoyances related to so-called "anti-virus" software:

4 Install Instructions

This chapter explains how to install the LameXP software on your computer. If LameXP has already been installed on your computer, you may skip this chapter.

4.1 Install the LameXP Software

Distribution packages of the LameXP software is provided in two different flavours: a self-running setup program and a ZIP package. For regular users, using the setup program is highly recommended!

4.1.1 Setup Program

In order to start the installation process, simply double-click on the downloaded LameXP setup program, e.g. LameXP.yyyy-mm-dd.Release-Static.Build-xxxx.exe.

Shortly after launching the setup program, an UAC (User Access Control) dialogue may appear. This is a standard Windows security feature, so don't worry! You have to choose "Yes", if you wish to continue the installation process.

Note: If you wonder why Windows suggests that the LameXP setup program originates from an "unknown publisher", despite the fact that it was downloaded from the official web-site, then please the explanation here!

Now simply follow the instructions of the setup wizard, which will guide you through the installation process…

Note: Please do not change the "Destionation Folder", unless you know exactly what you are doing. The "Destionation Folder" cannot be changed, when upgrading an existing LameXP installation.

Congratulation, LameXP has been installed successfully on your computer!

Note: If you keep the "Run LameXP …" option enabled and click on the "Finish" button, the LameXP software will be launched immediately.

4.1.2 ZIP Package

If you decided for the ZIP package, you need to open the downloaded ZIP file, e.g. LameXP.yyyy-mm-dd.Release-Static.Build-xxxx.zip, in your favorite file archive software (we recommend using 7-Zip or WinRAR).

This step may be slightly different, depending on what file archive software (e.g. 7-Zip or WinRAR) you are using. Select all files in the LameXP ZIP archive and extract them to a new/empty directory of your choice.

Note: It is very important that you have write-access to the chosen destination directory. So make sure that you choose a directory where the required access rights are granted!

Congratulation, LameXP has been installed successfully on your computer! Now double-click on the LameXP.exe program file in order to launch the application!

4.2 Portable Mode

First of all, it is important to note that there is no such thing as a separate "portable version" or "portable edition" of the LameXP software. Instead, all versions of the LameXP software always are "portable" – in the sense that the LameXP software is fully self-contained and thus no additional dependencies (libraries, frameworks, codecs or whatsoever) need to be installed on the computer separately. Or, in other words, the LameXP software is designed to work "out of the box". And this applies regardless of whether you choose the setup program or the ZIP package!

Nonetheless, the LameXP software supports a so-called "portable mode", which can be enabled or disabled at any time. By default, i.e. when the "portable mode" is not enabled, LameXP will store all of its configuration files in the current user's %APPDATA% directory. This is the correct way of storing user-specific configuration files on a modern multi-user operating system. Some users, however, may wish to use LameXP as a portable application. For example, they may wish to run the LameXP software directly off an USB flash drive – and do that on many different machines. In this particular situation, storing the configuration files in the same location where the LameXP program file resides (e.g. on the USB flash drive), instead of the local %APPDATA% directory, may come in handy! And that is exactly what LameXP does when the "portable mode" is enabled.

4.2.1 Enable the Portable Mode

If you fully understand what the consequences of the "portable mode" are and still want to enable this mode, then simply rename the LameXP program file form LameXP.exe to LameXP-Portable.exe. You must exit LameXP, before you can rename the program file!

Note: By default, the LameXP installation directory is either C:\Program Files (x86)\MuldeR\LameXP or C:\Program Files\MuldeR\LameXP. However, this can be changed by the user during the setup process.

Portable Mode Warning

While the "portable mode" is in effect, it is the user's responsibility to ensure that LameXP will be provided with the proper access rights to save/load its configuration files to/from the LameXP program directory!

Note: The directories C:\Program Files (x86) and C:\Program Files usually are "protected" by the operating system, so LameXP probably will not be able to write into these directories.

4.2.2 Disable the Portable Mode

If you wish to disable the "portable mode" again, then all you need to do is renaming the LameXP program file form LameXP-Portable.exe back to LameXP.exe. You must exit LameXP, before you can rename the program file!

Note: After the "portable mode" has been disabled, any configurations files that may have been created in the LameXP installation directory will no longer be recognized. Therefore, you can delete these files safely…

4.3 Install the AAC Encoder

For legal reasons, the AAC (Advanced Audio Coding) encoder can not be included in the official LameXP distribution packages. Therefore, you need to download and install the AAC encoder manually. Don't worry, it's easy!

LameXP can use the Nero Digital AAC encoder as well as the QAAC (Apple iTunes/QuickTime) encoder. This chapter describes how to set up one of these AAC encoders for use with the LameXP software.

Note: If you are uncertain which AAC encoder to choose, please be aware that the QAAC encoder may produce better sound quality, according to listening tests, while the Nero Digital encoder is less hassle to install.

4.3.1 QAAC (Apple AAC) Encoder

Setting up the Apple/QuickTime AAC encoder involves two separate steps: In the first step we will install the QAAC application, and in the second step we will add the required Apple AAC encoder libraries.

Install QAAC Encoder

First of all, you need to download the QAAC application, which provides a CLI font-end to the Apple/QuickTime AAC encoder. QAAC is provided as an add-in for LameXP and is available from the following download locations:

Now open the downloaded ZIP file, e.g. LameXP.qaac-addin.yyyy-mm-dd.zip, with your favorite file archiver utility (we recommend using 7-Zip or WinRAR) to find the required QAAC program files.

Note: The LameXP software generally expects the latest version of the QAAC add-in; and the QAAC add-in is designed to work with the latest version of the LameXP software. Make sure your files are up-to-date!

Please extract the program file qaac.exe as well as the DLLs files libsoxr.dll and libsoxconvolver.dll into the LameXP installation directory. That is the directory where your LameXP executable file, i.e. the LameXP.exe, is located.

Alternately, if running on a 64-Bit (x64) version of Windows, you may also use the 64-Bit version of the QAAC program. In this case, extract qaac64.exe as well as libsoxr64.dll and libsoxconvolver64.dll into the LameXP installation directory. Also, if you want to use an optimized "SSE2" or "AVX2" version of QAAC, which requires support from the CPU, the file qaac.sse2.exe, qaac.avx2.exe or qaac64.avx2.exe must be renamed to qaac.exe or qaac64.exe, respectively.

Note: By default, the LameXP installation directory is either C:\Program Files (x86)\MuldeR\LameXP or C:\Program Files\MuldeR\LameXP. However, this can be changed by the user during the setup process.

Install Apple AAC Encoder Libraries

Next, the actual Apple/QuickTime AAC encoder libraries (CoreAudioToolbox), which are part of the so-called "Apple Application Support" package, need to be installed on your computer. QAAC can not work without these libraries!

The required "Apple Application Support" package is included, for example, in the official setup packages of QuickTime or iTunes for Windows, which can be obtained from the Apple web-site free of charge.

A more simple approach is to download the required Apple/QuickTime AAC encoder libraries as a standalone package, as kindly provided by GitHub user "AnimMouse", which can be obtained from the following download locations:

Note: If you are using the 32-Bit version of QAAC (qaac.exe), the package QTfiles.7z needs to be obtained. But, if you are using the 64-Bit version of QAAC (qaac64.exe), the package QTfiles64.7z needs to be obtained instead!

Finally, extract the complete contents of the package QTfiles.7z or QTfiles64.7z into a new sub-directory named QTfiles or QTfiles64, respectively, inside of the the LameXP installation directory.

If a suitable version of the Visual C++ Redistributable is not already installed on your system, then you must additionally download and extract the package QTfiles-msvc.7z or QTfiles64-msvc.7z into the same sub-directory.

Once the QAAC encoder application as well as the required Apple AAC encoder libraries have been installed properly, simply restart LameXP in order to enable the AAC encoding support!

You may run qaac.exe --check from the command prompt in order to ensure that QAAC has been set up correctly.

4.3.2 Nero Digital AAC Encoder

First of all, you need to download the Nero AAC Codec (Version 1.5.4) as a ZIP archive from one of the following mirror sites, because the original Nero AAC product web-site no longer seems to be functional:

Now open the downloaded ZIP file NeroAACCodec-1.5.4.zip with your favourite file archiver utility (we recommend using 7-Zip or WinRAR) and then navigate to the "win32" sub-directory.

Finally, extract all the three files neroAacDec.exe, neroAacEnc.exe and neroAacTag.exe into the LameXP installation directory. That is the directory where your LameXP executable file, i.e. the LameXP.exe, is located.

Note: By default, the LameXP installation directory is either C:\Program Files (x86)\MuldeR\LameXP or C:\Program Files\MuldeR\LameXP. However, this can be changed by the user during the setup process.

Once all of the required Nero AAC encoder program files have been installed to the proper location, simply restart LameXP in order to enable the AAC encoding support!

5 Tutorial (Step-by-Step Guide)

This tutorial will teach you, step by step, how to convert your audio files using the LameXP software. The tutorial assumes that LameXP is already installed on your computer.

5.1 Source Files

First of all, you need to add all source files that you want to convert. So switch to the "Source Files" tab, just in case that tab is not active already, and then click the "Add File(s)" button.

This will bring up a standard file selection dialogue. Now simply select the files that you want to add and click the "Open" button. You can repeat this step multiple times, e.g. to add files from different directories.

All files you have added, so far, will show up in the list. You can click the "Remove" button to remove a single file from the list or "Clear" to remove them all. You can also click the "Show details" button to show details about the selected file.

If you want to add an entire directory, you can select "Open Folder" from the "File" menu, which will bring up a directory selection dialogue. "Open Folder Recursively" works in a similar way, but also includes all sub-directories.

Did you know? Files can also be added via Drag & Drop. Just grab the files that you want to add in your Explorer window and drop them onto the LameXP main window (or onto the LameXP "dropbox" widget).

5.2 Output Directory

Next, you need to choose the output directory, i.e. the directory where the converted files will be saved. Switch to the "Output Directory" tab and choose the desired output directory from the directory tree view.

Note: There are several quick navigation buttons below, which will allow you to jump quickly to your personal "Home" folder, "Desktop" folder and "Music" folder, respectively.

Sometimes you may wish to store the converted files in a new (sub-)folder. In this case, simply click the "Make New Folder" button, enter the desired folder name and hit the "OK" button.

The new folder is going to be created inside the current directory and will be selected automatically. You can repeat this step multiple times in order to created nested sub-folders.

Did you know? If you enable the "Save output files in the same directory where the input file is located" option, each output file will be saved to the same location where the corresponding source file resides.

5.3 Compression Settings

Finally, you need to choose your compression settings. Most important, you must decide for an output format (encoder). Depending on your needs and preferences, you can choose between MP3, Ogg/Vorbis, Opus, AAC/MP4, FLAC and others.

Note: If you are uncertain which audio format to choose, then this article by Lifehacker is a good starting point. Also see the comparison of audio coding formats on Wikipedia. If still uncertain, just go with good old MP3 😉

Once you have decided for an audio format, you need to choose a rate-control mode next. This controls how the bits are allocated for the compressed audio files. The available rate-control modes are CBR, VBR and ABR:

Note: If you are uncertain which rate-control mode to chose, the rule of thumb is that VBR mode should be preferred over ABR mode when possible. And CBR mode should be avoided. See also Wikipedia's article on variable bitrate encoding.

Last but not least, you need to choose the desired target bitrate (kbps) or the desired quality-level. Put simply, this controls the "quality vs. file size" trade-off. You choose a target quality-level in case of VBR mode. And you choose a target (average) bitrate in case of ABR or CBR mode. A higher target bitrate or a higher target quality level results in improved audio quality, but also comes at the cost of larger files. Conversely, a lower target bitrate or a lower target quality level results in smaller files, but also comes at the cost of reduced audio quality. The "optimal" setting highly depends on your personal preferences.

Note: If you are uncertain which bitrate or quality-level to choose, "Level 2" (VBR) or "192 kbps" (ABR) is a common choice for MP3. If the size of the resulting file is not a primary concern, you can go with "Level 0" (VBR) or "320 kbps" (ABR) right away.

Did you know? You can click the "Reset" link in order to reset all compression settings for all encoders to their factory defaults.

5.4 File Processing

When everything has been set up properly, the time has come to actually start the encoding process. So simply click the "Encode Now" button in order to get going!

This will bring up the "Processing" dialogue. LameXP will now convert all your audio files on the list. Depending on the number of audio files and depending on the performance of your system, this may take several minutes, so please be patient 😉

Note: In order to leverage the power "multi-core" processors and thus massively speed-up the encoding process, LameXP will run multiple encoding jobs in parallel – provided that your system has multiple processor cores and that there are enough encoding jobs left in the queue.

The "Processing" dialogue is going to turn green, as soon as all encoding jobs have finished successfully. If anything went wrong, e.g. if one of the encoding jobs failed for some reason, it will turn red instead.

Did you know? You can double-click on a completed (or failed) job in the list, in order to bring up a dialogue with all details about the specific job. This is especially useful, if something went wrong.

6 Command-line Usage

Additional command-line options may be passed to LameXP when launching the application. You may do so, for example, by typing the complete command-line into the command prompt or by creating a shortcut with the desired command-line options. The basic command-line syntax of LameXP is as follows: Each command-line option has to start with a -- prefix. So if you intend to pass the option called "foo", then you actually need to type --foo. Furthermore, while some command-line options are just flags, i.e. they can either be present or not (but that's it!), there also are command-line options that take an argument. The argument is appended directly to the option name to which it belongs to, but a = sign must to be inserted as a separator. If, for example, you wish to set the command-line option "foo" to an argument value of "bar", then the proper syntax is --foo=bar. Sometimes your argument value may contain whitespaces though, in which case the whole command-line option (name + argument) must be enclosed with double quotes. For example, in order to set the option "foo" to a value of "C:\Some File.bar" (note the space character between "Some" and "File"), the proper syntax is "--foo=C:\Some File.bar". Last but not least, please note that the same command-line option may appear multiple times on the command-line – whether that actually makes any sense depends on the individual option though.

6.1 Add Files and/or Folders

Command-line options for adding files and/or folders:

6.1.1 Examples

Here are some examples on how to use the above command-line options correctly:

6.2 GUI Adjustment Options

Command-line options for adjusting the graphical user-interface:

6.3 Options for Debugging

Command-line options that are intended for testing and debugging:

6.4 Miscellaneous Options

Miscellaneous command-line options that may come in handy in certain situations:

7 Help & Support

Before you report any problems that you may have encountered with the LameXP software, please make sure that the problem can be reproduced with the latest release version of LameXP!

7.1 Download Mirrors

The latest official release of the LameXP software can be obtained from one of the following official download mirrors:

The following web-sites, which are not affiliated with the developer of LameXP, provide additional download mirrors:

It is highly recommended to download LameXP only from one of the mirrors listed above. We are not responsible for the integrity and trustworthiness of LameXP downloads you may have received from other locations!

7.2 Diagnostic Output

If you want to report any problems that you have encountered with the LameXP software, please provide as much details as possible. Diagnostic output can be especially helpful here!

Note: We highly recommend using a web-service like Gist, Pastie or Pastebin in order to share your diagnostic information. Please avoid posting long log files directly on the forums!

7.3 Bugtracker

The recommended way to submit bug reports or feature requests to the LameXP developers is using the issue tracking system at our GitHub project site:

Note: In order to use the issue tracking system, you need to log in with your GitHub account. Creating a GitHub account is easy and completely free of charge, simply click here!

7.4 Support Forum

If you want to discuss the development of the LameXP software, help other users or receive help from other users, please use the LameXP thread at Doom9's Forum:

Note: Due to the massive amount of spam attacks, Doom9 has established strict anti-spam measures. Therefore, it takes a few days until your account will be approved.

8 Developer Center

While LameXP originally was written in Delphi/Pascal, the current version 4 series of the software has been re-written in the C++ programming language. LameXP v4 uses the Qt cross-platform application framework and provides full Unicode support. Furthermore, LameXP is tightly coupled with the MUtilities library, a vast collection of "utility" routines and classes to extend the Qt framework. Build files are currently provided for Microsoft Visual Studio only. Linux support is currently provided via Wine; a native Linux port of LameXP is planned for a future version.

8.1 Source Code Access

The source code of the LameXP software is managed using the Git version control system. The Git repository can be cloned from one of the official Git mirrors:

The source code of the MUtilities library is managed using the Git version control system. The Git repository can be cloned from one of the official Git mirrors:

Remarks: In case you are new to Git or want to extend your knowledge, have a look at the Pro Git book by Scott Chacon! For Windows users, we highly recommend using MSYS Git in conjunction with the superb Tortoise Git front-end.

8.2 Build Prerequisites

LameXP is currently being developed and built using the following development tools and libraries:

In order to create LameXP release packages, using the included deployment scripts, you need the following additional tools:

8.3 Directory Layout

In order to build LameXP using the provided project/solution files or the provided deployment script, please make sure you have the following directory layout, where <sources_root> is a new/empty directory:

The Qt libraries need to be located at the following location, where the <toolset_version> identifies your compiler version (e.g. v140_xp for VS2015) and the <build_type> identifies the build configuration (Shared, Static or Debug):

8.4 Environment variables

In order to build LameXP using the provided project/solution files or the provided deployment script, make sure the following environment variables are configured on your system:

8.5 Using the deployment script

In order to create LameXP release packages, using the included deployment scripts, copy the configuration template file buildenv.template.txt, located at <sources_root>\LameXP_Qt\etc\Deployment, to the file buildenv.txt in the same directory. Now edit your buildenv.txt and adjust all the path variables as needed. All paths must be set up correctly, otherwise the build process is going to fail! Once everything has been set up, you can run release.bat or release_static.bat in order to create a new release package.

8.6 Qt as Static Libraries

In order to create a "fully static" build of LameXP, i.e. a build that does not depend on any "external" DLL files (except for the obligatory operating system DLL's that you cannot get around), you'll need to compile Qt as "static" libraries. The official Qt web-site does provide pre-compiled Qt libraries. However, they only provide DLL versions, they do not provide "static" libraries. Consequently, you need to build the required "static" Qt libraries yourself. The following simple instructions should make it easy to build Qt from the sources and as "static" libraries:

  1. Make sure Visual Studio 2015 with Update-1 (or later) is installed

  2. Make sure Strawberry Perl for Windows and Python 2.7 are installed

  3. Download and extract the Qt 4.8.x source code package (e.g. to C:\QtSources\4.8.x)

  4. Edit the qmake configuration file (e.g. mkspecs\win32-msvc2015\qmake.conf) from your Qt Sources directory as follows:

  5. Open a new command window (cmd.exe) – use this very same console for all upcoming steps!

  6. Add Strawberry Perl to your PATH (e.g. set PATH=C:\strawberry\perl\bin;%PATH%)

  7. Add Python 2.7 to your PATH (e.g. set PATH=C:\python27;%PATH%)

  8. Run vcvarsall.bat x86 form your Visual C++ install directory - within the same console!

  9. Change the current directory to the Qt Sources path (e.g. C:\QtSources\4.8.x)

  10. Run configure.exe -release -static -ltcg -qt-zlib -qt-libpng -qt-libjpeg -qt-libtiff -qt-libmng

  11. Now the makefiles should have been generated, so simply enter nmake /B and be patient - voilà!

  12. The build process is going to take good amount of time. Once it is done, make sure you got all needed libs:

  13. Put all the static *.lib files into the <sources_root>\Prerequisites\Qt4\<toolset_version>\Static\lib directory

  14. ImageFormat plugins go to <sources_root>\Prerequisites\Qt4\<toolset_version>\plugins\imageformats

  15. Congratulations, you should now be prepared to build the Release_Static configuration of LameXP 😊

Note: Static libraries only work with the exactly same compiler (version) they were built with!

9 F.A.Q. (Frequently Asked Questions)

This section tries to answer some of the most frequently asked questions. So if you have a question, please carefully read this section, before you send the question to us via email or before you open a new support ticket 😉

9.1 Q: Do I have to pay for using or obtaining LameXP?

A: Nope. LameXP is free software. You may use it free of charge and for any purpose, including commercial purposes, according to the terms of the GNU General Public License. The developers of LameXP will never ask you to pay for using the LameXP software. Also, several free download mirrors are provided. However, it was brought to our attention, that there are some third-party web-sites which offer payed downloads of LameXP, or provide LameXP downloads that have been infected with Adware – we do not cooperate with any of these web-sites! Therefore, please do not pay money for using or obtaining the LameXP software; the developers of LameXP will not benefit from this money at all. If anybody tries to make you pay money for using and/or for obtaining the LameXP software, you should not respond to this dubious offer!

9.2 Q: Can I redistribute the LameXP software?

A: Yes. LameXP is free software. You may modify and/or redistribute it freely, according to the terms of the GNU General Public License. However, be aware that it is strictly forbidden to bundle the LameXP program files and/or the LameXP installation program with any kind of Adware, Spyware or PUP (potentially unwanted program). Usually, no additional permission is needed to redistribute LameXP. If, however, you wish to redistribute the LameXP software in a way that does not comply with the license terms, then a written permission from the author (copyright holder) is absolutely necessary!

9.3 Q: How can I donate to the authors of LameXP?

A: LameXP is a non-profit project. The authors of the LameXP software currently do not accept any donations, in terms of money. If you wish to support the LameXP project, then you may do so by contributing translations, by improving the LameXP program code or by providing web-servers. Please feel free to contact us at any time, if you want to help!

9.4 Q: Why is this software called LameXP?

A: Originally, the LameXP software was created as a very simple GUI front-end to the LAME MP3 command-line encoder. The original version of this software, released some time in 2004, did not support any encoders except for LAME, it did not support any input formats except for Wave Audio, it did not support any audio filters, it did not support multi-threading, it did not support Unicode file names and it did not handle meta information. Because the software was a front-end to LAME, and because, back at that time, Windows XP was the most popular Windows version (by far), we decided to call the software "LAME front-end for Windows XP" – or, in short, LameXP. Anyway, more and more features have been added to the LameXP software over the years. Also, the software has been re-written from the scratch two times. Nonetheless, the original name of the software has remained. Now, a whole lot of people know the software by this name, so it is unlikely to ever change.

9.5 Q: Why are the LameXP binaries not digitally signed?

A: They are signed! The official LameXP binaries are digitally signed by PGP signatures, created using the GnuPG software. However, the LameXP binaries are not signed in a way that the Microsoft Windows operating system recognizes. Please note that Microsoft Windows does not currently recognize PGP (GnuPG) signatures. For this reason, Microsoft Windows may show a warning message when trying to launch or install the LameXP software. Microsoft Windows will also complain that the LameXP program files originate from an "unknown publisher", as it can't understand the PGP signature.

So why are the LameXP binaries not signed in the way Microsoft Windows recognizes? This is because Microsoft Windows uses a hierarchical trust model: Windows trusts into a number of Certificate Authorities (CA), which are built into the operating system. These CA's can issue signing certificates, e.g., to software companies. The software company can then use its signing certificate to sign their binaries. Finally, Windows will verify the signature by using the corresponding signing certificate. And the signing certificate is verified using the built-in CA certificate. However, there are problems: First of all, CA's do not issue software signing certificates for free. Also these certificates are only valid for a limited period of time. LameXP is a non-profit project and therefore we can not afford buying new certificates in regular intervals! Secondly, and even more important, the whole system depends on the trustworthiness of a few root CA's. But, as we all (should) know by now, the CA's can be forced to create "bogus" certificates, e.g. on the request of intelligence services or other governmental organizations.

PGP, on the other hand, is based on the "web of trust" concept. This means that all participants sign each others' keys – after the keys have been verified. There are no "almighty" authorities! If you want to verify the LameXP signatures yourself, then you may do so by using the Gpg4win software package, an easy-to-use distribution of the GnuPG software for Microsoft Windows. Of course you will also require the public key of the LameXP developers! The finperprint of our PGP signing key is DFAD4340D83D4020435D78BB2B5913365F57E03F and the corresponding public key block is provided in the following. If you are not familiar with the GnuPG software yet, please have a look at the Gpg4win compendium or the GnuPG manual.

MuldeR's signature key:

pub   rsa4096 2015-08-23 [expires: 2025-08-20]
+Other components contained in the bundle MUST be opt-in, NOT opt-out.

3 Anti-Virus Notes

Occasionally, it may happen that your anti-virus software mistakenly detects malware (virus, trojan horse, worm, etc.) while you are trying to run the LameXP application or the LameXP setup program. This is called a false positive and the file actually is not malware. Instead, this is an error (bug) in your particular anti-virus software! In case that you encounter this kind problem, we highly recommend using VirusTotal.com, Virscan.org or a similar web-service to check the file in question with multiple anti-virus engines. Unless the vast majority of the anti-virus engines detect malware, it can be assumed that the file is really harmless. However, please take care with heuristic scan results, such as "suspicious", "generic" or "packed". Those results are not malware detections – they are highly speculative and (almost certainly) can be ignored safely!

Defective anti-virus software is an ongoing annoyance! For example, anti-virus programs tend to suspect installers (or uninstallers) created with NSIS – which includes the LameXP setup program. But, of course, installers created with NSIS are perfectly legitimate. Thus, if your anti-virus program complains about the LameXP setup program, please ignore the nonsensical warning! Furthermore, it seems that some anti-virus programs accuse all "packed" executables of being malware. Nonetheless, using so-called "executable packers", e.g. UPX, is perfectly legitimate. Executable packers are commonly used by legitimate software, including numerous OpenSource projects – and so does LameXP. Thus, if your anti-virus program complains about the LameXP program file, because it has been "packed" by UPX, please ignore the nonsensical warning!

Last but not least: Always keep in mind that LameXP is free software, which means that the source codes of LameXP are freely available. Everybody can easily see that there is no malware of any kind included in the LameXP source code! If you do not trust the provided binaries of LameXP, you may build your own binary directly from the LameXP source codes…

3.1 Reporting False Positives

An important fact to consider is, that, for the developer of a legitimate application, it is impossible to know why a specific anti-virus software may be misinterpreting his or her application as malware. That is because anti-virus programs generally are proprietary (ClosedSource) software – anti-virus companies don not publish their source codes or reveal their algorithms. Moreover, a zillion of different anti-virus programs exist nowadays. For these reasons, the application developer can not know what is going on "behind the scenes" in a particular anti-virus software. Consequently, any assumptions on the reasons that are causing the false positive would be nothing but pure speculation! Even worse, anti-virus software is updated frequently, so the reasons why the anti-virus software is misinterpreting the application as malware may change constantly!

At this point, it should be clear that implementing workarounds for defective anti-virus software is not a viable option for application developers. Instead, since the false positive is an error (bug) in the particular anti-virus software, it can be fixed only by the developer of the anti-virus software. Therefore, it is important that you, the (paying) customer of the anti-virus company, contact the support team of the anti-virus company and report the problem to them! Most anti-virus companies provide ways to report false positives in a standardized way, e.g. by means of a webform. However, it is not possible to list them all here. So please refer to the anti-virus developer's web-site. Also, when reporting false positives, please be self-confident! As a paying customer, you can demand that false positives are fixed promptly. Otherwise, get your money back!

3.2 Performance Issues

During the startup procedure, the LameXP software has to perform a number of file-system operations. This can take a few moments. However, the startup procedure should never take longer than approximately 5 seconds. Even on our test system – Windows 7 running on an ancient Intel Core2 processor with 4 GB of RAM – the startup procedure takes only about 1.5 seconds. And that is with the "real-time protection" of Microsoft Security Essentials (MSE) enabled! If we disable the MSE "real-time protection" feature, the startup procedure takes less than 0.5 seconds. Unfortunately, it has been brought to our attention, that some other anti-virus products may slow down the startup procedure significantly! Startup delays of up to 20 seconds have been reported by users, which corresponds to a slow down factor of 40× – caused by the anti-virus software!

Consequently, if you think that LameXP is starting up "slow" on your machine, we recommend to temporarily disable or uninstall your current anti-virus software. If your anti-virus software has a so-called "real-time protection" or "guard" feature, please be sure to deactivate that feature too! As soon as the anti-virus software has been neutralized and no longer affects legitimate applications, please try launching the LameXP software again. If it turns out that the startup procedure of LameXP has become significantly faster when the anti-virus software is not interfering, then you know one thing for sure: It is the anti-virus software that was causing the slow down! Please recognize that we can not fix this kind of problems. Instead, since the problem is actually a defect of the anti-virus software, please report the problem to the developer of the anti-virus software!

Another way of detecting performance issues that are caused by sloppy anti-virus software is monitoring the CPU usage in Task Manager (or Process Explorer) while LameXP is starting up. Please make sure that you are not looking at the "overall" CPU usage, but at the CPU usage caused by the individual processes, and that "show processes from all users" is enabled. Then you will probably notice that LameXP.exe is sitting "idle", more or less, while some service process belonging to the anti-virus software is "hogging" the CPU. The anti-virus software is hindering LameXP startup! A typical example looks like this:

Please report performance issues to the anti-virus software's developer. Also, when reporting performance issues, please be self-confident! As a paying customer, you can demand that such bugs are fixed promptly. Otherwise, get your money back!

3.3 Anti-Virus Conclusions

The code of conduct regarding problems and annoyances related to so-called "anti-virus" software:

4 Install Instructions

This chapter explains how to install the LameXP software on your computer. If LameXP has already been installed on your computer, you may skip this chapter.

4.1 Install the LameXP Software

Distribution packages of the LameXP software is provided in two different flavours: a self-running setup program and a ZIP package. For regular users, using the setup program is highly recommended!

4.1.1 Setup Program

In order to start the installation process, simply double-click on the downloaded LameXP setup program, e.g. LameXP.yyyy-mm-dd.Release-Static.Build-xxxx.exe.

Shortly after launching the setup program, an UAC (User Access Control) dialogue may appear. This is a standard Windows security feature, so don't worry! You have to choose "Yes", if you wish to continue the installation process.

Now simply follow the instructions of the setup wizard, which will guide you through the installation process…

Note: Please do not change the "Destionation Folder", unless you know exactly what you are doing. The "Destionation Folder" cannot be changed, when upgrading an existing LameXP installation.

Congratulation, LameXP has been installed successfully on your computer!

If you keep "Run LameXP …" enabled and click on the "Finish" button, LameXP software will be launched immediately.

4.1.2 ZIP Package

If you decided for the ZIP package, open the downloaded ZIP file, e.g. LameXP.yyyy-mm-dd.Release-Static.Build-xxxx.zip, with your favorite file archiver utility (we recommend using 7-Zip or WinRAR).

Now select all files in the LameXP ZIP archive and extract them to a new/empty directory of your choice. This step may be slightly different, depending on what file archive software (e.g. 7-Zip or WinRAR) you are using.

Congratulation, LameXP has been installed successfully on your computer! Now all you need to do is double-clicking on the LameXP.exe program file in order to launch the application!

4.2 Portable Mode

First of all, it is important to note that there is no such thing as a separate "portable version" or "portable edition" of the LameXP software. Instead, all versions of the LameXP software always are "portable" – in the sense that the LameXP software is fully self-contained and thus no additional dependencies (libraries, frameworks, codecs or whatsoever) need to be installed on the computer separately. Or, in other words, the LameXP software is designed to work "out of the box". And this applies regardless of whether you choose the setup program or the ZIP package!

Nonetheless, the LameXP software supports a so-called "portable mode", which can be enabled or disabled at any time. By default, i.e. when the "portable mode" is not enabled, LameXP will store all of its configuration files in the current user's %APPDATA% directory. This is the correct way of storing user-specific configuration files on a modern multi-user operating system. Some users, however, may wish to use LameXP as a portable application. For example, they may wish to run the LameXP software directly off an USB flash drive – and do that on many different machines. In this particular situation, storing the configuration files in the same location where the LameXP program file resides (e.g. on the USB flash drive), instead of the local %APPDATA% directory, may come in handy! And that is exactly what LameXP does when the "portable mode" is enabled.

4.2.1 Enable the Portable Mode

In order to enable the "portable mode" of LameXP, simply rename the program file LameXP.exe to LameXP-Portable.exe. Please be aware that you must exit all running instances of LameXP, before you can rename the program file!

Note: By default, the LameXP installation directory is either C:\Program Files (x86)\MuldeR\LameXP or C:\Program Files\MuldeR\LameXP. However, this can be changed by the user during the setup process.

Portable Mode Warning

While the "portable mode" is in effect, it is the user's responsibility to ensure that LameXP will be provided with the proper access rights to save/load its configuration files to/from the LameXP program directory!

Note: The directories C:\Program Files (x86) and C:\Program Files usually are "protected" by the operating system, so LameXP probably will not be able to write into these directories.

4.2.2 Disable the Portable Mode

If you wish to disable the "portable mode" again, then all you need to do is renaming the LameXP program file form LameXP-Portable.exe back to LameXP.exe. You must exit LameXP, before you can rename the program file!

Note: After the "portable mode" has been disabled, any configurations files that may have been created in the LameXP installation directory will no longer be recognized. Therefore, you can delete these files safely…

4.3 Install the AAC Encoder

For legal reasons, the AAC (Advanced Audio Coding) encoder can not be included in the official LameXP distribution packages. Therefore, you need to download and install the AAC encoder manually. Don't worry, it's easy!

LameXP can use the Nero Digital AAC encoder as well as the QAAC (Apple iTunes/QuickTime) encoder. This chapter describes how to set up one of these AAC encoders for use with the LameXP software.

Note: If you are uncertain which AAC encoder to choose, please be aware that the QAAC encoder is known to produce better sound quality (at the same bitrate), according to listening tests, while the Nero Digital encoder is easier to install.

4.3.1 QAAC (Apple AAC) Encoder

Setting up the Apple/QuickTime AAC encoder involves two separate steps: In the first step we will install the QAAC application, and in the second step we will add the required Apple AAC encoder libraries.

Install QAAC Encoder

First of all, you need to download the QAAC application, which provides a CLI font-end to the Apple/QuickTime AAC encoder. QAAC is provided as an add-in for LameXP and is available from the following download locations:

Now open the downloaded ZIP file, e.g. LameXP.qaac-addin.yyyy-mm-dd.zip, with your favorite file archiver utility (we recommend using 7-Zip or WinRAR) to find the required QAAC program files.

Note: The LameXP software generally expects the latest version of the QAAC add-in; and the QAAC add-in is designed to work with the latest version of the LameXP software. Make sure your files are up-to-date!

Please extract the program file qaac.exe as well as the DLLs files libsoxr.dll and libsoxconvolver.dll into the LameXP installation directory. That is the directory where your LameXP executable file, i.e. the LameXP.exe, is located.

Alternately, if running on a 64-Bit (x64) version of Windows, you may also use the 64-Bit version of the QAAC program. In this case, extract qaac64.exe as well as libsoxr64.dll and libsoxconvolver64.dll into the LameXP installation directory. Also, if you want to use an optimized "SSE2" or "AVX2" version of QAAC, which requires support from the CPU, the file qaac.sse2.exe, qaac.avx2.exe or qaac64.avx2.exe must be renamed to qaac.exe or qaac64.exe, respectively.

Note: By default, the LameXP installation directory is either C:\Program Files (x86)\MuldeR\LameXP or C:\Program Files\MuldeR\LameXP. However, this can be changed by the user during the setup process.

Install Apple AAC Encoder Libraries

Next, the actual Apple/QuickTime AAC encoder libraries (CoreAudioToolbox), which are part of the so-called "Apple Application Support" package, need to be installed on your computer. QAAC can not work without these libraries!

The required "Apple Application Support" package is included, for example, in the official setup packages of QuickTime or iTunes for Windows, which can be obtained from the Apple web-site free of charge.

A more simple approach is to download the required Apple/QuickTime AAC encoder libraries as a standalone package, as kindly provided by GitHub user "AnimMouse", which can be obtained from the following download locations:

Note: If you are using the 32-Bit version of QAAC (qaac.exe), the package QTfiles.7z needs to be obtained. But, if you are using the 64-Bit version of QAAC (qaac64.exe), the package QTfiles64.7z needs to be obtained instead!

Finally, extract the complete contents of the package QTfiles.7z or QTfiles64.7z into a new sub-directory named QTfiles or QTfiles64, respectively, inside of the the LameXP installation directory.

If a suitable version of the Visual C++ Redistributable is not already installed on your system, then you must additionally download and extract the package QTfiles-msvc.7z or QTfiles64-msvc.7z into the same sub-directory.

Once the QAAC encoder application as well as the required Apple AAC encoder libraries have been installed properly, simply restart LameXP in order to enable the AAC encoding support!

You may run qaac.exe --check from the command prompt in order to ensure that QAAC has been set up correctly.

4.3.2 Nero Digital AAC Encoder

First of all, you need to download the Nero AAC Codec (Version 1.5.4) as a ZIP archive from one of the following mirror sites, because the original Nero AAC product web-site no longer seems to be functional:

Now open the downloaded ZIP file NeroAACCodec-1.5.4.zip with your favourite file archiver utility (we recommend using 7-Zip or WinRAR) and then navigate to the "win32" sub-directory.

Finally, extract all the three files neroAacDec.exe, neroAacEnc.exe and neroAacTag.exe into the LameXP installation directory. That is the directory where your LameXP executable file, i.e. the LameXP.exe, is located.

Note: By default, the LameXP installation directory is either C:\Program Files (x86)\MuldeR\LameXP or C:\Program Files\MuldeR\LameXP. However, this can be changed by the user during the setup process.

Once all of the required Nero AAC encoder program files have been installed to the proper location, simply restart LameXP in order to enable the AAC encoding support!

5 Tutorial (Step-by-Step Guide)

This tutorial will teach you, step by step, how to convert your audio files using the LameXP software. The tutorial assumes that LameXP is already installed on your computer.

5.1 Source Files

First of all, you need to add all source files that you want to convert. So switch to the "Source Files" tab, just in case that tab is not active already, and then click the "Add File(s)" button.

This will bring up a standard file selection dialogue. Now simply select the files that you want to add and click the "Open" button. You can repeat this step multiple times, e.g. to add files from different directories.

All files you have added, so far, will show up in the list. You can click the "Remove" button to remove a single file from the list or "Clear" to remove them all. You can also click the "Show details" button to show details about the selected file.

If you want to add an entire directory, you can select "Open Folder" from the "File" menu, which will bring up a directory selection dialogue. "Open Folder Recursively" works in a similar way, but also includes all sub-directories.

Did you know? Files can also be added via Drag & Drop. Just grab the files that you want to add in your Explorer window and drop them onto the LameXP main window (or onto the LameXP "dropbox" widget).

5.2 Output Directory

Next, you need to choose the output directory, i.e. the directory where the converted files will be saved. Switch to the "Output Directory" tab and choose the desired output directory from the directory tree view.

Note: There are several quick navigation buttons below, which will allow you to jump quickly to your personal "Home" folder, "Desktop" folder and "Music" folder, respectively.

Sometimes you may wish to store the converted files in a new (sub-)folder. In this case, simply click the "Make New Folder" button, enter the desired folder name and hit the "OK" button.

The new folder is going to be created inside the current directory and will be selected automatically. You can repeat this step multiple times in order to created nested sub-folders.

Did you know? If you enable the "Save output files in the same directory where the input file is located" option, each output file will be saved to the same location where the corresponding source file resides.

5.3 Compression Settings

Finally, you need to choose your compression settings. Most important, you must decide for an output format (encoder). Depending on your needs and preferences, you can choose between MP3, Ogg/Vorbis, Opus, AAC/MP4, FLAC and others.

Note: If you are uncertain which audio format to choose, then this article by Lifehacker is a good starting point. Also see the comparison of audio coding formats on Wikipedia. If still uncertain, just go with good old MP3 😉

Once you have decided for an audio format, you need to choose a rate-control mode next. This controls how the bits are allocated for the compressed audio files. The available rate-control modes are CBR, VBR and ABR:

Note: If you are uncertain which rate-control mode to chose, the rule of thumb is that VBR mode should be preferred over ABR mode when possible. And CBR mode should be avoided. See also Wikipedia's article on variable bitrate encoding.

Last but not least, you need to choose the desired target bitrate (kbps) or the desired quality-level. Put simply, this controls the "quality vs. file size" trade-off. You choose a target quality-level in case of VBR mode. And you choose a target (average) bitrate in case of ABR or CBR mode. A higher target bitrate or a higher target quality level results in improved audio quality, but also comes at the cost of larger files. Conversely, a lower target bitrate or a lower target quality level results in smaller files, but also comes at the cost of reduced audio quality. The "optimal" setting highly depends on your personal preferences.

Note: If you are uncertain which bitrate or quality-level to choose, "Level 2" (VBR) or "192 kbps" (ABR) is a common choice for MP3. If the size of the resulting file is not a primary concern, you can go with "Level 0" (VBR) or "320 kbps" (ABR) right away.

Did you know? You can click the "Reset" link in order to reset all compression settings for all encoders to their factory defaults.

5.4 File Processing

When everything has been set up properly, the time has come to actually start the encoding process. So simply click the "Encode Now" button in order to get going!

This will bring up the "Processing" dialogue. LameXP will now convert all your audio files on the list. Depending on the number of audio files and depending on the performance of your system, this may take several minutes, so please be patient 😉

Note: In order to leverage the power "multi-core" processors and thus massively speed-up the encoding process, LameXP will run multiple encoding jobs in parallel – provided that your system has multiple processor cores and that there are enough encoding jobs left in the queue.

The "Processing" dialogue is going to turn green, as soon as all encoding jobs have finished successfully. If anything went wrong, e.g. if one of the encoding jobs failed for some reason, it will turn red instead.

Did you know? You can double-click on a completed (or failed) job in the list, in order to bring up a dialogue with all details about the specific job. This is especially useful, if something went wrong.

6 Command-line Usage

Additional command-line options may be passed to LameXP when launching the application. You may do so, for example, by typing the complete command-line into the command prompt or by creating a shortcut with the desired command-line options. The basic command-line syntax of LameXP is as follows: Each command-line option has to start with a -- prefix. So if you intend to pass the option called "foo", then you actually need to type --foo. Furthermore, while some command-line options are just flags, i.e. they can either be present or not (but that's it!), there also are command-line options that take an argument. The argument is appended directly to the option name to which it belongs to, but a = sign must to be inserted as a separator. If, for example, you wish to set the command-line option "foo" to an argument value of "bar", then the proper syntax is --foo=bar. Sometimes your argument value may contain whitespaces though, in which case the whole command-line option (name + argument) must be enclosed with double quotes. For example, in order to set the option "foo" to a value of "C:\Some File.bar" (note the space character between "Some" and "File"), the proper syntax is "--foo=C:\Some File.bar". Last but not least, please note that the same command-line option may appear multiple times on the command-line – whether that actually makes any sense depends on the individual option though.

6.1 Add Files and/or Folders

Command-line options for adding files and/or folders:

6.1.1 Examples

Here are some examples on how to use the above command-line options correctly:

6.2 GUI Adjustment Options

Command-line options for adjusting the graphical user-interface:

6.3 Options for Debugging

Command-line options that are intended for testing and debugging:

6.4 Miscellaneous Options

Miscellaneous command-line options that may come in handy in certain situations:

7 Help & Support

Before you report any problems that you may have encountered with the LameXP software, please make sure that the problem can be reproduced with the latest release version of LameXP!

7.1 Download Mirrors

The latest official release of the LameXP software can be obtained from one of the following official download mirrors:

The following web-sites, which are not affiliated with the developer of LameXP, provide additional download mirrors:

It is highly recommended to download LameXP only from one of the mirrors listed above. We are not responsible for the integrity and trustworthiness of LameXP downloads you may have received from other locations!

7.2 Diagnostic Output

If you want to report any problems that you have encountered with the LameXP software, please provide as much details as possible. Diagnostic output can be especially helpful here!

Note: We highly recommend using a web-service like Gist, Pastie or Pastebin in order to share your diagnostic information. Please avoid posting long log files directly on the forums!

7.3 Bugtracker

The recommended way to submit bug reports or feature requests to the LameXP developers is using the issue tracking system at our GitHub project site:

Note: In order to use the issue tracking system, you need to log in with your GitHub account. Creating a GitHub account is easy and completely free of charge, simply click here!

7.4 Support Forum

If you want to discuss the development of the LameXP software, help other users or receive help from other users, please use the LameXP thread at Doom9's Forum:

Note: Due to the massive amount of spam attacks, Doom9 has established strict anti-spam measures. Therefore, it takes a few days until your account will be approved.

8 Developer Center

While LameXP originally was written in Delphi/Pascal, the current version 4 series of the software has been re-written in the C++ programming language. LameXP v4 uses the Qt cross-platform application framework and provides full Unicode support. Furthermore, LameXP is tightly coupled with the MUtilities library, a vast collection of "utility" routines and classes to extend the Qt framework. Build files are currently provided for Microsoft Visual Studio only. Linux support is currently provided via Wine; a native Linux port of LameXP is planned for a future version.

8.1 Source Code Access

The source code of the LameXP software is managed using the Git version control system. The Git repository can be cloned from one of the official Git mirrors:

The source code of the MUtilities library is managed using the Git version control system. The Git repository can be cloned from one of the official Git mirrors:

Remarks: In case you are new to Git or want to extend your knowledge, have a look at the Pro Git book by Scott Chacon! For Windows users, we highly recommend using MSYS Git in conjunction with the superb Tortoise Git front-end.

8.2 Build Prerequisites

LameXP is currently being developed and built using the following development tools and libraries:

In order to create LameXP release packages, using the included deployment scripts, you need the following additional tools:

8.3 Directory Layout

In order to build LameXP using the provided project/solution files or the provided deployment script, please make sure you have the following directory layout, where <sources_root> is a new/empty directory:

The Qt libraries need to be located at the following location, where the <toolset_version> identifies your compiler version (e.g. v140_xp for VS2015) and the <build_type> identifies the build configuration (Shared, Static or Debug):

8.4 Environment variables

In order to build LameXP using the provided project/solution files or the provided deployment script, make sure the following environment variables are configured on your system:

8.5 Using the deployment script

In order to create LameXP release packages, using the included deployment scripts, copy the configuration template file buildenv.template.txt, located at <sources_root>\LameXP_Qt\etc\Deployment, to the file buildenv.txt in the same directory. Now edit your buildenv.txt and adjust all the path variables as needed. All paths must be set up correctly, otherwise the build process is going to fail! Once everything has been set up, you can run release.bat or release_static.bat in order to create a new release package.

8.6 Qt as Static Libraries

In order to create a "fully static" build of LameXP, i.e. a build that does not depend on any "external" DLL files (except for the obligatory operating system DLL's that you cannot get around), you'll need to compile Qt as "static" libraries. The official Qt web-site does provide pre-compiled Qt libraries. However, they only provide DLL versions, they do not provide "static" libraries. Consequently, you need to build the required "static" Qt libraries yourself. The following simple instructions should make it easy to build Qt from the sources and as "static" libraries:

  1. Make sure Visual Studio 2015 with Update-1 (or later) is installed

  2. Make sure Strawberry Perl for Windows and Python 2.7 are installed

  3. Download and extract the Qt 4.8.x source code package (e.g. to C:\QtSources\4.8.x)

  4. Edit the qmake configuration file (e.g. mkspecs\win32-msvc2015\qmake.conf) from your Qt Sources directory as follows:

  5. Open a new command window (cmd.exe) – use this very same console for all upcoming steps!

  6. Add Strawberry Perl to your PATH (e.g. set PATH=C:\strawberry\perl\bin;%PATH%)

  7. Add Python 2.7 to your PATH (e.g. set PATH=C:\python27;%PATH%)

  8. Run vcvarsall.bat x86 form your Visual C++ install directory - within the same console!

  9. Change the current directory to the Qt Sources path (e.g. C:\QtSources\4.8.x)

  10. Run configure.exe -release -static -ltcg -qt-zlib -qt-libpng -qt-libjpeg -qt-libtiff -qt-libmng

  11. Now the makefiles should have been generated, so simply enter nmake /B and be patient - voilà!

  12. The build process is going to take good amount of time. Once it is done, make sure you got all needed libs:

  13. Put all the static *.lib files into the <sources_root>\Prerequisites\Qt4\<toolset_version>\Static\lib directory

  14. ImageFormat plugins go to <sources_root>\Prerequisites\Qt4\<toolset_version>\plugins\imageformats

  15. Congratulations, you should now be prepared to build the Release_Static configuration of LameXP 😊

Note: Static libraries only work with the exactly same compiler (version) they were built with!

9 F.A.Q. (Frequently Asked Questions)

This section tries to answer some of the most frequently asked questions. So if you have a question, please carefully read this section, before you send the question to us via email or before you open a new support ticket 😉

9.1 Q: Do I have to pay for using or obtaining LameXP?

A: Nope. LameXP is free software. You may use it free of charge and for any purpose, including commercial purposes, according to the terms of the GNU General Public License. The developers of LameXP will never ask you to pay for using the LameXP software. Also, several free download mirrors are provided. However, it was brought to our attention, that there are some third-party web-sites which offer payed downloads of LameXP, or provide LameXP downloads that have been infected with Adware – we do not cooperate with any of these web-sites! Therefore, please do not pay money for using or obtaining the LameXP software; the developers of LameXP will not benefit from this money at all. If anybody tries to make you pay money for using and/or for obtaining the LameXP software, you should not respond to this dubious offer!

9.2 Q: Can I redistribute the LameXP software?

A: Yes. LameXP is free software. You may modify and/or redistribute it freely, according to the terms of the GNU General Public License. However, be aware that it is strictly forbidden to bundle the LameXP program files and/or the LameXP installation program with any kind of Adware, Spyware or PUP (potentially unwanted program). Usually, no additional permission is needed to redistribute LameXP. If, however, you wish to redistribute the LameXP software in a way that does not comply with the license terms, then a written permission from the author (copyright holder) is absolutely necessary!

9.3 Q: How can I donate to the authors of LameXP?

A: LameXP is a non-profit project. The authors of the LameXP software currently do not accept any donations, in terms of money. If you wish to support the LameXP project, then you may do so by contributing translations, by improving the LameXP program code or by providing web-servers. Please feel free to contact us at any time, if you want to help!

9.4 Q: Why is this software called LameXP?

A: Originally, the LameXP software was created as a very simple GUI front-end to the LAME MP3 command-line encoder. The original version of this software, released some time in 2004, did not support any encoders except for LAME, it did not support any input formats except for Wave Audio, it did not support any audio filters, it did not support multi-threading, it did not support Unicode file names and it did not handle meta information. Because the software was a front-end to LAME, and because, back at that time, Windows XP was the most popular Windows version (by far), we decided to call the software "LAME front-end for Windows XP" – or, in short, LameXP. Anyway, more and more features have been added to the LameXP software over the years. Also, the software has been re-written from the scratch two times. Nonetheless, the original name of the software has remained. Now, a whole lot of people know the software by this name, so it is unlikely to ever change.

9.5 Q: Why are the LameXP binaries not digitally signed?

A: They are signed! The official LameXP binaries are digitally signed by PGP signatures, created using the GnuPG software. However, the LameXP binaries are not signed in a way that the Microsoft Windows operating system recognizes. Please note that Microsoft Windows does not currently recognize PGP (GnuPG) signatures. For this reason, Microsoft Windows may show a warning message when trying to launch or install the LameXP software. Microsoft Windows will also complain that the LameXP program files originate from an "unknown publisher", as it can't understand the PGP signature.

So why are the LameXP binaries not signed in the way Microsoft Windows recognizes? This is because Microsoft Windows uses a hierarchical trust model: Windows trusts into a number of Certificate Authorities (CA), which are built into the operating system. These CA's can issue signing certificates, e.g., to software companies. The software company can then use its signing certificate to sign their binaries. Finally, Windows will verify the signature by using the corresponding signing certificate. And the signing certificate is verified using the built-in CA certificate. However, there are problems: First of all, CA's do not issue software signing certificates for free. Also these certificates are only valid for a limited period of time. LameXP is a non-profit project and therefore we can not afford buying new certificates in regular intervals! Secondly, and even more important, the whole system depends on the trustworthiness of a few root CA's. But, as we all (should) know by now, the CA's can be forced to create "bogus" certificates, e.g. on the request of intelligence services or other governmental organizations.

PGP, on the other hand, is based on the "web of trust" concept. This means that all participants sign each others' keys – after the keys have been verified. There are no "almighty" authorities! If you want to verify the LameXP signatures yourself, then you may do so by using the Gpg4win software package, an easy-to-use distribution of the GnuPG software for Microsoft Windows. Of course you will also require the public key of the LameXP developers! The finperprint of our PGP signing key is DFAD4340D83D4020435D78BB2B5913365F57E03F and the corresponding public key block is provided in the following. If you are not familiar with the GnuPG software yet, please have a look at the Gpg4win compendium or the GnuPG manual.

MuldeR's signature key:

pub   rsa4096 2015-08-23 [expires: 2025-08-20]
       DFAD 4340 D83D 4020 435D 78BB 2B59 1336 5F57 E03F
 uid   LoRd_MuldeR (muldersoft.com)

PGP key block containing the required key:

-----BEGIN PGP PUBLIC KEY BLOCK-----
 mQINBFXZtmgBEADZVW8CgoSjGvjwKVWWfZ+I/MsyD1y495hp7or+XW+OW/wWI7Qb
diff --git a/doc/Manual.md b/doc/Manual.md
index dbfa5ec9..35bb3acb 100644
--- a/doc/Manual.md
+++ b/doc/Manual.md
@@ -208,8 +208,6 @@ In order to start the installation process, simply double-click on the downloade
 
 Shortly after launching the setup program, an [UAC](http://en.wikipedia.org/wiki/User_Account_Control) (User Access Control) dialogue may appear. This is a standard Windows security feature, so don't worry! You have to choose "Yes", if you wish to continue the installation process.
 
-*Note:* If you wonder why Windows suggests that the LameXP setup program originates from an "unknown publisher", despite the fact that it was downloaded from the official web-site, then please the explanation [here](http://lamexp.sourceforge.net/doc/Manual.html#q-why-are-the-lamexp-binaries-not-digitally-signed)!
-
 ![](img/lamexp/setup_1a.png)
 
 Now simply follow the instructions of the setup wizard, which will guide you through the installation process…
@@ -220,24 +218,22 @@ Now simply follow the instructions of the setup wizard, which will guide you thr
 
 Congratulation, LameXP has been installed successfully on your computer!
 
-*Note:* If you keep the "Run LameXP …" option enabled and click on the "Finish" button, the LameXP software will be launched immediately.
+If you keep "Run LameXP …" enabled and click on the "Finish" button, LameXP software will be launched immediately.
 
 ![](img/lamexp/setup_1c.png)
 
 
 ### ZIP Package ###
 
-If you decided for the **ZIP package**, you need to open the downloaded ZIP file, e.g. ``LameXP.yyyy-mm-dd.Release-Static.Build-xxxx.zip``, in your favorite file archive software (we recommend using [7-Zip](http://www.7-zip.org/) or [WinRAR](http://www.rarlab.com/download.htm)).
+If you decided for the **ZIP package**, open the downloaded ZIP file, e.g. ``LameXP.yyyy-mm-dd.Release-Static.Build-xxxx.zip``, with your favorite file archiver utility (we recommend using [7-Zip](http://www.7-zip.org/) or [WinRAR](http://www.rarlab.com/download.htm)).
 
 ![](img/lamexp/setup_2a.png)
 
-This step may be slightly different, depending on what file archive software (e.g. 7-Zip or WinRAR) you are using. Select **all** files in the LameXP ZIP archive and *extract* them to a new/empty directory of your choice.
-
-*Note:* It is very important that you have write-access to the chosen destination directory. So make sure that you choose a directory where the required access rights are granted!
+Now select **all** files in the LameXP ZIP archive and *extract* them to a new/empty directory of your choice. This step may be slightly different, depending on what file archive software (e.g. 7-Zip or WinRAR) you are using.
 
 ![](img/lamexp/setup_2b.png)
 
-Congratulation, LameXP has been installed successfully on your computer! Now double-click on the ``LameXP.exe`` program file in order to launch the application!
+Congratulation, LameXP has been installed successfully on your computer! Now all you need to do is double-clicking on the `LameXP.exe` program file in order to launch the application!
 
 ![](img/lamexp/setup_2c.png)
 
@@ -251,7 +247,7 @@ Nonetheless, the LameXP software supports a so-called "portable mode", which can
 
 ### Enable the Portable Mode ###
 
-If you fully understand what the consequences of the "portable mode" are and still want to *enable* this mode, then simply **rename** the LameXP program file form ``LameXP.exe`` to ``LameXP-Portable.exe``. You must exit LameXP, before you can rename the program file!
+In order to enable the "portable mode" of LameXP, simply **rename** the program file `LameXP.exe` to `LameXP-Portable.exe`. Please be aware that you must exit all running instances of LameXP, before you can rename the program file!
 
 *Note:* By default, the LameXP installation directory is either ``C:\Program Files (x86)\MuldeR\LameXP`` or ``C:\Program Files\MuldeR\LameXP``. However, this can be changed by the user during the setup process.
 
@@ -278,7 +274,7 @@ For legal reasons, the AAC (Advanced Audio Coding) encoder can **not** be includ
 
 LameXP can use the **Nero Digital** AAC encoder as well as the **QAAC** (Apple iTunes/QuickTime) encoder. This chapter describes how to set up one of these AAC encoders for use with the LameXP software.
 
-*Note:* If you are uncertain which AAC encoder to choose, please be aware that the QAAC encoder may produce better sound quality, according to [listening tests](http://listening-tests.hydrogenaud.io/igorc/aac-96-a/results.html), while the Nero Digital encoder is less hassle to install.
+*Note:* If you are uncertain which AAC encoder to choose, please be aware that the QAAC encoder is known to produce better sound quality (at the same bitrate), according to [listening tests](http://listening-tests.hydrogenaud.io/igorc/aac-96-a/results.html), while the Nero Digital encoder is easier to install.
 
 
 ### QAAC (Apple AAC) Encoder ###
diff --git a/doc/img/lamexp/setup_1a.png b/doc/img/lamexp/setup_1a.png
index 183f28b9..d64e7143 100644
Binary files a/doc/img/lamexp/setup_1a.png and b/doc/img/lamexp/setup_1a.png differ
diff --git a/doc/img/lamexp/setup_1b.png b/doc/img/lamexp/setup_1b.png
index 2f5bc909..692a4e98 100644
Binary files a/doc/img/lamexp/setup_1b.png and b/doc/img/lamexp/setup_1b.png differ
diff --git a/doc/img/lamexp/setup_1c.png b/doc/img/lamexp/setup_1c.png
index 7a10051f..683cffd3 100644
Binary files a/doc/img/lamexp/setup_1c.png and b/doc/img/lamexp/setup_1c.png differ
diff --git a/doc/img/lamexp/setup_2a.png b/doc/img/lamexp/setup_2a.png
index bc7151ea..bba77958 100644
Binary files a/doc/img/lamexp/setup_2a.png and b/doc/img/lamexp/setup_2a.png differ
diff --git a/doc/img/lamexp/setup_2b.png b/doc/img/lamexp/setup_2b.png
index a7ceaeb2..c5316cdd 100644
Binary files a/doc/img/lamexp/setup_2b.png and b/doc/img/lamexp/setup_2b.png differ
diff --git a/doc/img/lamexp/setup_2c.png b/doc/img/lamexp/setup_2c.png
index 6d5f0635..3eeca973 100644
Binary files a/doc/img/lamexp/setup_2c.png and b/doc/img/lamexp/setup_2c.png differ
diff --git a/doc/img/lamexp/setup_3a.png b/doc/img/lamexp/setup_3a.png
index f5ce4892..9de355a0 100644
Binary files a/doc/img/lamexp/setup_3a.png and b/doc/img/lamexp/setup_3a.png differ