From 7384bc7000c0b0d56deaeab3bfbf2d0fcdd7479b Mon Sep 17 00:00:00 2001 From: LoRd_MuldeR Date: Mon, 22 Dec 2014 14:44:09 +0100 Subject: [PATCH] Simplified "paths" or "mkdocs" paths. --- doc/Manual.html | 296 +++++++++++++++++++++++++++++++++---- doc/Manual.md | 16 +- etc/Deployment/_mkdocs.bat | 30 ++-- etc/Deployment/_paths.bat | 108 ++++++++++---- 4 files changed, 371 insertions(+), 79 deletions(-) diff --git a/doc/Manual.html b/doc/Manual.html index 6c9b5897..55f62401 100644 --- a/doc/Manual.html +++ b/doc/Manual.html @@ -1,34 +1,270 @@ - + -LameXP - User Manual - - + + + + LameXP Audio-Encoder Front-End – Manual + + + -

LameXP - User Manual

-
-404
-
-
-Error 404 - This document is missing!
-
-Sorry, there is no LameXP user manual (yet), but we have an extensive F.A.Q. document ;-)
-
-Please have a look at F.A.Q. document, it will probably answer your question...
-
-
-Note: If you are willing to contribute an in-depth LameXP manual, then please contact us!
-
-
-eof - +
+

LameXP Audio-Encoder Front-End – Manual

+
+ +

1 Introduction

+

LameXP is a graphical user-interface (front-end) for various of audio encoders: It allows you convert your audio files from one audio format to another one in the most simple way. Despite its name, LameXP is NOT only a front-end for the LAME encoder, but supports a wide range of output formats, including MP3, Ogg Vorbis, AAC/MP4, FLAC, AC-3 and Wave Audio. The number of supported input formats is even bigger! Furthermore LameXP does NOT only run on Windows XP, but also on Windows Vista, Windows 7 and many other operating systems.

+

LameXP

+

As all the encoders and decoders used by LameXP are already "built-in" (with one exception), you do NOT need to install any additional software, such as "Codecs", "Filters" or "Plug-ins", on your computer. Everything works "out of the box"! You can even use LameXP as a "portable" application, e.g. run it from your USB stick. Moreover LameXP was designed for batch processing. This means that you can convert a huge number of audio files, e.g. a complete album or even your entire music collection, in a single step. And, as LameXP is able to process several audio files in parallel, it takes full advantage of modern multi-core processors! However LameXP is NOT only optimized for speed, it also provides excellent sound quality by using the most sophisticated encoders available and by giving the user unrestricted control over all encoding parameters. In addition to that, LameXP provides full support for metadata, including cover art. So when converting your audio files, LameXP will retain existing meta tags. But there also is an easy-to-use editor for adding or modifying metadata. LameXP supports Unicode for both, meta tags and filenames, so there won't be any problems with "foreign" characters. And, thanks to our translators, the user-interface of LameXP is available in multiple languages. Last but not least, LameXP supports a number of post-processing filters, including sample rate conversion, normalization (gain), tone adjustment and downmixing of multi-channel sources.

+

1.1 Platform Support

+

Tier #1: LameXP is currently being developed on the following platforms:

+ +

Tier #2: The following platforms should work too, but aren't tested extensively:

+ +

Legacy: The following platforms are NOT actively supported any longer:

+ +

Remarks: Windows XP has reached "end of life" on April 8th, 2014. This means that Microsoft has stopped all support for Windows XP, i.e. no updates or bugfixes are made available to regular Windows XP uses since that date, not even security fixes! Thus, all the security vulnerabilities that have been discovered after this deadline - and all the security vulnerabilities that will be discovered in the future - are going remain unfixed forever! Consequently, using Windows XP has become a severe security risk, and the situation is only going to get worse. While LameXP will continue to support Windows XP (note that Service Pack 3 is required!) for the foreseeable future, we highly recommend everybody to update to a less antiquated system now. Windows XP support will be discontinued in a future version, when most users have migrated to a contemporary system.

+

1.2 Output Formats (Encoders)

+

Currently the following output formats (audio encoders) are supported by LameXP:

+ +

1.3 Input Formats (Decoders)

+

Currently the following input formats (audio decoders) are supported by LameXP:

+ +

2 Leagl Information

+

The LameXP software was developed, from the scratch, by LoRd_MuldeR . Consequently, all copyrights on the LameXP software exclusively belong to LoRd_MuldeR. The right to use, modify and redistribute the LameXP software according to the license terms is granted to everybody. Please see below for license details! If you want to use the LameXP software in a way that is not covered by the license terms, e.g. if you want to include the LameXP software (or parts of it) in a proprietary software, written permission by LoRd_MuldeR is required.

+

More OpenSource projects by LoRd_MuldeR can be found at http://muldersoft.com/ and https://github.com/lordmulder. Please do not send e-mail to LoRd_MuldeR directly, if the problem or suggestion can be discussed on the support forums or on the issue tracker!

+

2.1 Third-party Software

+

It has to be noticed that LameXP uses a number of third-party applications and libraries. The copyright on these third-party tools belongs to the individual authors. All third-party tools that are included in the official distribution packages of LameXP are distributed in accordance with the respective software license. For legal reasons, some of the third-party tools can not be redistributed along with LameXP and therefore need to be obtained separately. For more details on the third-party tools that are used by the LameXP software, please refer to the "Third-party software" tab in the "About" dialogue. Moreover, various people have contributed translations to the LameXP project. These translation are redistributed with permission of the respective contributor. For more information about our contributors, please refer to the "Contributors" tab in the "About" dialogue.

+

2.2 License Terms

+

LameXP is free software, released under the terms of the GNU General Public License (GPL), version 2. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. In contrast, the GPL is designed to guarantee your freedom to share and change all versions of the software. In other words, the GPL ensures that free software will remain free for all of its users. LameXP adds some additional terms in order to keep your computer safe from unwanted software. See the GNU General Public License for more details!

+
LameXP - Audio Encoder Front-End
+Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2@GMX.de>
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+

 
Addendum: When distributing binaries of the LameXP software, 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), including, but not limited to, any downloaders, dialers, browser toolbars/extensions or restricted shareware/demo programs. It is, however, perfectly legitimate to bundle LameXP with other OpenSource programs, according to the OSI (Open Source Initiative). Finally, it is also legitimate to bundle LameXP with commercial software, as long as that software does not meet the criteria of Adware, Spyware or PUP. If you bundle the LameXP software with another software, you are required to make sure that the user is provided with an easy way to install and start the LameXP software separately from that other software.

+

3 Tutorial (Step-by-Step Guide)

+

TODO

+

4 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!

+

4.1 Download Mirrors

+

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

+ +

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

+

4.2 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!

+

4.3 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.

+

5 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.

+

5.1 Source Code Access

+

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

+ +

 
The source code of the MUtilities library is managed using Git version control system. The 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.

+

5.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:

+ +

5.3 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 2013 with Update-4 (or later) is installed

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

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

  6. +
  7. Edit the file mkspecs\win32-msvc2010\qmake.conf from your Qt Sources directory as follows:

    +
      +
    • Old: QMAKE_CFLAGS_RELEASE = -O2 -MD
    • +
    • New: QMAKE_CFLAGS_RELEASE = -O2 -MT <more optimization flags here>
    • +
    • Old: QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
    • +
    • New: QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi <more optimization flags here>
    • +
  8. +
  9. Open a new command window (cmd.exe) – use this very same console for all upcoming steps!

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

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

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

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

  18. +
  19. Run configure.exe -release -static -ltcg -qt-zlib -qt-libpng -qt-libjpeg -qt-libtiff -qt-libmng

    +
      +
    • Hint: For Visual Studio 2013 you currently need to add -platform win32-msvc2012 too
    • +
  20. +
  21. Now the makefiles should have been generated, so simply enter nmake /B and be patient - voilà!

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

    +
      +
    • lib\qtmain.lib
    • +
    • lib\QtCore.lib
    • +
    • lib\QtGui.lib
    • +
    • lib\QtSvg.lib
    • +
    • lib\QtXml.lib
    • +
    • plugins\imageformats\qico.lib
    • +
    • plugins\imageformats\qsvg.lib
    • +
    • plugins\imageformats\qtga.lib
    • +
  24. +
  25. Put all the static *.lib files into the Prerequisites\qt4_static\lib directory

  26. +
  27. ImageFormat plugins go to Prerequisites\qt4_static\plugins\imageformats

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

  30. +
+

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

+

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

+

TODO

+

eof

+ + diff --git a/doc/Manual.md b/doc/Manual.md index ad498575..81a3ae75 100644 --- a/doc/Manual.md +++ b/doc/Manual.md @@ -121,7 +121,7 @@ LameXP is [*free software*](http://en.wikipedia.org/wiki/Free_software_movement) along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -  +  **Addendum:** When distributing binaries of the LameXP software, 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)*, including, but not limited to, any downloaders, dialers, browser toolbars/extensions or restricted shareware/demo programs. It is, however, perfectly legitimate to bundle LameXP with other *OpenSource* programs, according to the OSI (Open Source Initiative). Finally, it is also legitimate to bundle LameXP with *commercial software*, as long as that software does *not* meet the criteria of *Adware*, *Spyware* or *PUP*. If you bundle the LameXP software with another software, you are *required* to make sure that the user is provided with an easy way to install and start the LameXP software separately from that other software. @@ -150,7 +150,7 @@ The latest *official* release of the LameXP software can be obtained from one of * * -  +  It is *highly recommended* to download LameXP *only* from one of the official mirrors listed above. We assume *no responsibility* for the integrity and trustworthiness of LameXP downloads you may have received from other locations! Bugtracker @@ -160,7 +160,7 @@ The recommended way to submit *bug reports* or *feature requests* to the LameXP * -  +  *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](https://github.com/join)! @@ -172,7 +172,7 @@ If you want to discuss the development of the LameXP software, help other users * – English * – German -  +  *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. @@ -201,7 +201,7 @@ The source code of the **LameXP** software is managed using [*Git*](http://git-s * ``git clone git://repo.or.cz/LameXP.git lamexp-src`` ([Browse](http://repo.or.cz/w/LameXP.git)) -  +  The source code of the **MUtilities** library is managed using [*Git*](http://git-scm.com/) version control system. The repository can be *cloned* from one of the official Git mirrors: * ``git clone git://git.code.sf.net/p/mutilities/code mutilities-src`` ([Browse](http://sourceforge.net/p/mutilities/code/)) @@ -218,7 +218,7 @@ The source code of the **MUtilities** library is managed using [*Git*](http://gi * ``git clone git://repo.or.cz/MUtilities.git mutilities-src`` ([Browse](http://repo.or.cz/w/MUtilities.git)) -  +  *Remarks:* In case you are new to Git or want to extend your knowledge, have a look at the [*Pro Git*](http://git-scm.com/book/en/v2) book by Scott Chacon! For Windows users, we highly recommend using [*MSYS Git*](http://msysgit.github.com/) in conjunction with the superb [*Tortoise Git*](http://tortoisegit.googlecode.com/) front-end. @@ -235,7 +235,7 @@ LameXP is currently being developed and built using the following development to * The minimum supported *build* platform is Windows 7 (x86 and x64) -  +  In order to create LameXP release packages, using the included deployment scripts, you need the following additional tools: * [7-Zip](http://www.7-zip.org/) – file archiver with a high compression ratio @@ -304,7 +304,7 @@ In order to create a "fully static" build of LameXP, i.e. a build that does *not 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! diff --git a/etc/Deployment/_mkdocs.bat b/etc/Deployment/_mkdocs.bat index d850bc46..70d2db40 100644 --- a/etc/Deployment/_mkdocs.bat +++ b/etc/Deployment/_mkdocs.bat @@ -1,20 +1,26 @@ @echo off -setlocal ENABLEDELAYEDEXPANSION -REM ----------------------------------------------------------------- -set "LAMEXP_ERROR=1" +setlocal EnableDelayedExpansion + +:: ------------------------------------------ +:: Setup Paths +:: ------------------------------------------ + +call "%~dp0\_paths.bat" + +:: ------------------------------------------ +:: Create Documents +:: ------------------------------------------ + echo ---------------------------------------------------------------- echo Building software documentation echo ---------------------------------------------------------------- -call "%~dp0\_paths.bat" -if not "%LAMEXP_ERROR%"=="0" GOTO:EOF -REM ----------------------------------------------------------------- -set "LAMEXP_ERROR=1" -REM ----------------------------------------------------------------- +echo. + for %%i in ("%~dp0\..\..\doc\*.md") do ( echo PANDOC: %%~nxi - "%PATH_PANDOC%\pandoc.exe" --from markdown_github+pandoc_title_block --to html5 --toc -N --standalone -H "%~dp0\..\Style\style.css" "%%~i" --output "%%~dpni.local.html" + "%PATH_PANDOC%\pandoc.exe" --from markdown_github+pandoc_title_block --to html5 --toc -N --standalone -H "%~dp0\..\Style\style.css" "%%~i" --output "%%~dpni.html" echo. - if not "!ERRORLEVEL!"=="0" GOTO:EOF + if not "!ERRORLEVEL!"=="0" goto:eof ) -echo ---------------------------------------------------------------- -set "LAMEXP_ERROR=0" + +echo. diff --git a/etc/Deployment/_paths.bat b/etc/Deployment/_paths.bat index 40e0410a..670da22f 100644 --- a/etc/Deployment/_paths.bat +++ b/etc/Deployment/_paths.bat @@ -1,6 +1,17 @@ @echo off -set "LAMEXP_ERROR=1" -REM ------------------------------------------ + +:: ------------------------------------------ +:: Paths already initialized? +:: ------------------------------------------ + +if "%_LAMEXP_PATHS_INITIALIZED_%"=="%DATE%" ( + goto:eof +) + +:: ------------------------------------------ +:: Clear Paths +:: ------------------------------------------ + set "PATH_UPXBIN=" set "PATH_MKNSIS=" set "PATH_MSCDIR=" @@ -8,12 +19,16 @@ set "PATH_QTMSVC=" set "PATH_GNUPG1=" set "PATH_PANDOC=" set "PATH_VCPROJ=" -REM ------------------------------------------ + +:: ------------------------------------------ +:: Setup BUILDENV_TXT +:: ------------------------------------------ + set "BUILDENV_TXT=%~dp0\buildenv.txt" if not "%~1"=="" ( set "BUILDENV_TXT=%~1" ) -REM ------------------------------------------ + if not exist "%BUILDENV_TXT%" ( echo. echo Could not find 'buildenv.txt' in current directory^! @@ -22,7 +37,11 @@ if not exist "%BUILDENV_TXT%" ( pause exit ) -REM ------------------------------------------ + +:: ------------------------------------------ +:: Parse paths from BUILDENV_TXT +:: ------------------------------------------ + for /f "tokens=2,*" %%s in (%BUILDENV_TXT%) do ( if "%%s"=="PATH_UPXBIN" set "PATH_UPXBIN=%%~t" if "%%s"=="PATH_MKNSIS" set "PATH_MKNSIS=%%~t" @@ -32,10 +51,15 @@ for /f "tokens=2,*" %%s in (%BUILDENV_TXT%) do ( if "%%s"=="PATH_PANDOC" set "PATH_PANDOC=%%~t" if "%%s"=="PATH_VCPROJ" set "PATH_VCPROJ=%%~t" ) -REM ------------------------------------------ + set "BUILDENV_TXT=" -REM ------------------------------------------ -echo === BEGIN PATHS === + +:: ------------------------------------------ +:: Print all paths +:: ------------------------------------------ + +echo. +echo ======= BEGIN PATHS ======= echo PATH_UPXBIN = "%PATH_UPXBIN%" echo PATH_MKNSIS = "%PATH_MKNSIS%" echo PATH_MSCDIR = "%PATH_MSCDIR%" @@ -43,24 +67,50 @@ echo PATH_QTMSVC = "%PATH_QTMSVC%" echo PATH_GNUPG1 = "%PATH_GNUPG1%" echo PATH_PANDOC = "%PATH_PANDOC%" echo PATH_VCPROJ = "%PATH_VCPROJ%" -echo === END PATHS === -REM ------------------------------------------ -set "LAMEXP_ERROR=1" -REM ------------------------------------------ -if not exist "%PATH_UPXBIN%\upx.exe" GOTO:EOF -if not exist "%PATH_MKNSIS%\makensis.exe" GOTO:EOF -if not exist "%PATH_MSCDIR%\VC\vcvarsall.bat" GOTO:EOF -if not exist "%PATH_MSCDIR%\VC\bin\cl.exe" GOTO:EOF -if not exist "%PATH_QTMSVC%\bin\uic.exe" GOTO:EOF -if not exist "%PATH_QTMSVC%\bin\moc.exe" GOTO:EOF -if not exist "%PATH_QTMSVC%\bin\rcc.exe" GOTO:EOF -if not exist "%PATH_GNUPG1%\gpg.exe" GOTO:EOF -if not exist "%PATH_PANDOC%\pandoc.exe" GOTO:EOF -if not exist "%~dp0\..\..\%PATH_VCPROJ%" GOTO:EOF -REM ------------------------------------------ -if exist "%PATH_QTMSVC%\bin\qtvars.bat" goto qtvars_found -if exist "%PATH_QTMSVC%\bin\qtenv2.bat" goto qtvars_found -GOTO:EOF -:qtvars_found -REM ------------------------------------------ -set "LAMEXP_ERROR=0" +echo ======== END PATHS ======== +echo. + +:: ------------------------------------------ +:: Validate Paths +:: ------------------------------------------ + +call:validate_path PATH_UPXBIN "%PATH_UPXBIN%\upx.exe" +call:validate_path PATH_MKNSIS "%PATH_MKNSIS%\makensis.exe" +call:validate_path PATH_MSCDIR "%PATH_MSCDIR%\VC\vcvarsall.bat" +call:validate_path PATH_MSCDIR "%PATH_MSCDIR%\VC\bin\cl.exe" +call:validate_path PATH_QTMSVC "%PATH_QTMSVC%\bin\uic.exe" +call:validate_path PATH_QTMSVC "%PATH_QTMSVC%\bin\moc.exe" +call:validate_path PATH_QTMSVC "%PATH_QTMSVC%\bin\rcc.exe" +call:validate_path PATH_GNUPG1 "%PATH_GNUPG1%\gpg.exe" +call:validate_path PATH_PANDOC "%PATH_PANDOC%\pandoc.exe" +call:validate_path PATH_VCPROJ "%~dp0\..\..\%PATH_VCPROJ%" + +:: ------------------------------------------ +:: Locate Qt Path +:: ------------------------------------------ + +if exist "%PATH_QTMSVC%\bin\qtvars.bat" goto:exit_success +if exist "%PATH_QTMSVC%\bin\qtenv2.bat" goto:exit_success + +echo. && echo Could not find "qtvars.bat" or "qtenv2.bat" in your Qt path. +echo. && echo Please check your PATH_QTMSVC and try again! +echo. && pause && exit + +:: ------------------------------------------ +:: Validate Path +:: ------------------------------------------ + +:validate_path +if not exist "%~2" ( + echo. && echo Path could not be found: && echo "%~2" + echo. && echo Please check your %1 and try again! + echo. && pause && exit +) +goto:eof + +:: ------------------------------------------ +:: Completed +:: ------------------------------------------ + +:exit_success +set "_LAMEXP_PATHS_INITIALIZED_=%DATE%"