| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| qmp3gain | < 24 hours ago | ||
| README.md | 2024-04-27 | 12.2 kB | |
| Totals: 2 Items | 12.2 kB | 216 |
QMP3Gain
Prologue
QMP3Gain is a multiplatform graphical user interface of the popular MP3Gain. The latter analyzes mp3 files to determine how loud they sound to the human ear. It can then adjust the mp3 files so that they all have the same loudness without any quality loss. This way, you don't have to keep reaching for the volume dial on your mp3 player every time it switches to a new song.
QMP3Gain is being developed on Linux (Ubuntu) based on QT5 framework. The application has a convenient Windows installer, so it can also be run easily there. For the time being there is no Mac OS support yet.
Links
Create a ticket
If you want to create a bug ticket, you may help a lot the author to analyze the issue attaching the application log in your ticket. To get the log file you have to configure the application at first. Please follow the next steps inside the application: * Inside "Options/Advanced..." set "Back end log depth" and "Trace log depth" to maximum values * Check in "Options/Logs/Panel" * Make sure that "Back end" and "Trace" are checked in inside the panel * Clear the content of the panel using "Clear" panel button * Reproduce the issue in the application * Copy the content of the panel into the clipboard * Save the clipboar content into a new file and attach it into your new ticket. Try to generate minimal log. For example if you have the same issue with more audio files, reproduce it only on a single file if it is feasible.
Installation for end users
Linux
Download latest AppImage file of QMP3Gain. Make it executable and run.
chmod u+x qmp3gain-0.9.4-linux-x64.AppImage
./qmp3gain-0.9.4-linux-x64.AppImage
Linux installer does not contain required mp3gain backend, which must be installed separately. Unless you know how to install it, check the verbose Linux guide.
Windows
Download latest Windows installer exe of QMP3Gain. Follow the pages of the installation wizard. This installer does contain required mp3gain backend.
Installation for developers
Quick quide {#quick-guide-id}
git clone git://qmp3gain.git.sourceforge.net/gitroot/qmp3gain/qmp3gain
cd qmp3gain
qmake
make -j
Don't be surprised if the build runs into failure. Probably some dependencies are missing for the successful compilation. In this case check the proper verbose guide out!
Verbose guide on Linux (Ubuntu 22.04) {#verbose-linux-guide}
-
Install QT SDK (at least v5.15.2 is required).
Check it out on https://www.qt.io and https://wiki.qt.io/Install_Qt_5_on_Ubuntu for more info.
sudo apt install qtbase5-devOr if you want to actively work on the (fork of the) project install QT Creator IDE with its QT dependencies at once.
sudo apt install qtcreatorIf in QT Creator IDE Clang code model fails to find stddef.h
sudo apt install libclang-common-8-devAdditional QT libraries might be needed for a successful build.
sudo apt install qtmultimedia5-dev qttools5-dev -
Install mp3gain backend {#install-mp3gain-backend}
At first try to install it from package repository of Ubuntu.
sudo apt install mp3gainIf the repo does not contain it, download and install that from the package repository of Ubuntu
wget http://archive.ubuntu.com/ubuntu/pool/universe/m/mp3gain/mp3gain_1.6.2-2_amd64.deb sudo apt install ./mp3gain_1.6.2-2_amd64.debHowever using Ubuntu 20.04 or Linux Mint 20.x there is an issue with it. Namely mp3gain commands may fail and result
Error reading the stream. (code 18). In this case install an older version of mp3gain using the following PPAsudo add-apt-repository ppa:sicklylife/qtgain sudo apt update sudo apt install mp3gain -
To build the application follow the Quick guide. It downloads the source code and builds the application.
-
Run the application. After a successful build, run the generated executable file and enjoy it :)
bin/qmp3gain -
After successful build you may install it to local. However it is not recommended! You may mess your installed QT libraries up!
sudo make install
Later it can be uninstalled from local.
sudo make uninstall
- Create AppImage installation bundle file which can be run individually in itself by end users.
6.1. At first the required dependencies must be downloaded and made them executable.
sudo wget -q -c "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage" -O /usr/local/bin/linuxdeploy
sudo chmod a+x /usr/local/bin/linuxdeploy
sudo wget -q -c "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage" -O /usr/local/bin/linuxdeploy-plugin-qt
sudo chmod a+x /usr/local/bin/linuxdeploy-plugin-qt
sudo wget -q -c "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gstreamer/master/linuxdeploy-plugin-gstreamer.sh" -O /usr/local/bin/linuxdeploy-plugin-gstreamer.sh
sudo chmod a+x /usr/local/bin/linuxdeploy-plugin-gstreamer.sh
6.2. Dependency linuxdeploy-plugin-gstreamer.sh needs the fllowing package
apt-get install patchelf
6.3. Create AppImage installation bundle file.
make deploy
The generated AppDir files are stored in the `dist` directory. The generated AppImage file is stored in the `bin` directory.
-
Unified
README.mdmarkdown file can be created from different md files scattered in the project.make docsThe generated markdown file is stored in the
bindirectory.
Create DEB package
You should run only
make deb
but it does not work yet. For now use the more simple AppImage.
Verbose guide on Windows (10)
-
Install QT SDK (at least v5.15.2 is required)
It can be installed from https://www.qt.io/download-open-source using online installer.
After QT installation, usually I make a symbolic link from
mingw32-make.exefile tomake.exeto ease my work, eg.cd c:\ProgramFiles\Qt\Qt5.15.2\Tools\mingw810_64\bin mklink make.exe mingw32-make.exeIf you already have a make executable from another developer tool, forget the symbolic link and use original
mingw32-makeinstead of "make" later.) -
Install Qt Installer Framework
If you want to create installer later install the framework from https://download.qt.io/official_releases/qt-installer-framework/
-
Building the application
Launch a "Qt command prompt" from the new menu item, and in the downloaded qmp3gain build folder use the following commands:
qmake make -j -
Install mp3gain backend
Download and unzip mp3gain backend from the following link https://sourceforge.net/projects/mp3gain/files/mp3gain/1.5.2/mp3gain-dos-1_5_2.zip/download
Copy the unzipped
mp3gain.exefile intobinfolder beside the builtqmp3gain.exe -
Run the application
After a successful build, run the generated executable file and enjoy it :)
bin\qmp3gain.exe -
After successful build you may install it to local. However its usage is not recommended! It does not make sense on this platform.
sudo make install
Later it can be uninstalled from local.
sudo make uninstall
-
Generate files for installation bundle and create installer bundle file which can be run individually in itself by end users.
make deployThe generated work files are stored in the
distdirectory but the installer exe file is stored in thebindirectory.Remember to copy
mp3gain.exeintobinfolder before running this target. It is supposed that the Windows installer contains the backend. -
Unified
README.mdmarkdown file can be created from different md files scattered in the project.make docsThe generated markdown file is stored in the
bindirectory.
Translations
If you wish to make a new translation for QMP3Gain to your language then follow this short quide.
You need to have an own Qt translation for your new language, otherwise your language won't be loaded at runtime.
To add a new language:
-
Run
cd translationsto change the directory -
Run
qmakeif Makefile does not exist yet in the folder -
Run
make ts-untranslatedto create a skeleton translation file -
Rename generated
qmp3gain_untranslated.tstoqmp3gain_<lang>.ts -
Run
qmaketo update Makefile with a newmake-ts<lang>target -
Do your translation. Take a look at the existing translation files if you are unfamiliar to the structure of ts translation files. Remember to use UTF-8 encoding in your editor! Just run
makeand start the application whenever you want to test it. In the application menu your language must be enlisted among the existing ones. -
If you want to publish your finished translation, which is highly welcomed, just create a new feature request ticket and attach your
qmp3gain_<lang>.tsthere. Thanks for your contribution!
To update an already existing translation, just run make ts-<lang> instead of steps 3) to 5).
Docker
Introduction
There are 2 docker images/containers which may help the build and test processes on Linux.
- qmp3gain.build - ubuntu image contains Qt5 and mp3gain backend
- qmp3gain.test - ubuntu image contains only mp3gain backend
However in docker-compose their service names are shortened to
- build
- test
Both images based on the oldest still-supported Ubuntu LTS version. If the application is built on that, the resulting binaries should be able to run on newer (but not older) systems (Ubuntu and other distributions). If compatibilty with as many target systems as possible is not an issue for you, for example building the application in your up-to-date local system on your own, it can be also feasible without the docker containers.
Usage
Start a terminal and change your current/working directory to the qmp3gain root folder. All commands bellow must be launched from there.
Initialize work user and its group used in docker containers. Settings used in host are being cloned.
echo -e "USER_ID=$(id -u)\nGROUP_ID=$(id -g)" > .env
Start containers in detached mode. At first occasion the docker images are being built which may take more minutes. If you want to rebuild the docker images, add --build to the command.
docker-compose up -d
Allow connection to X server if you want to start an app with GUI in container e.g. qmp3gain.
xhost +local:docker
Open terminal on a running service (container)
docker-compose exec build bash
or
docker-compose exec test bash
If you are finished with your work in the terminal, use exit command or press CTRL+D to leave it.
Stop containers.
docker-compose down
Unless the current user is zematix in the terminal, exit that, stop the containers and build new docker containers using
docker-compose build
and start the containers in detached mode again if you want.
Changes
Version 0.9.4
- Feature: Column widths of tableView are stored in config
- Feature: String columns of tableView got tooltips
- Fix: Adding file using drag&drop which failed with more dots in the filename
- Fix: Crash due to missing values in case of backend abort
- Fix: Crash on showing context menu of tableView without any row
- Fix: Retrieval of current played media filename was buggy (Windows)
- Fix: Launched AppImage could not play MP3 file (Linux)
Version 0.9.3
- Fix: Help/Contents did not work from AppImage (Linux)
Version 0.9.2
- Add drag and drop support
Version 0.9.1
- Ported from QT4 to QT5 (at least QT SDK v5.9 is required)
- Updated Paypal donation link
- QtIFW installer on Windows instead of NSIS one
- AppImage generation for easy Linux installation
- new Italian translation by e.tabeta
Version 0.9.0
- Initial version developed and built on QT4 (at least QT SDK v4.5 is required)