Download Latest Version Source tarball for QMP3Gain v0.9.0 (stable) (567.6 kB)
Email in envelope

Get an email when there's a new version of QMP3Gain

Home
Name Modified Size InfoDownloads / 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.

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}

  1. 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-dev
    

    Or 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 qtcreator
    

    If in QT Creator IDE Clang code model fails to find stddef.h

    sudo apt install libclang-common-8-dev
    

    Additional QT libraries might be needed for a successful build.

    sudo apt install qtmultimedia5-dev qttools5-dev
    
  2. Install mp3gain backend {#install-mp3gain-backend}

    At first try to install it from package repository of Ubuntu.

    sudo apt install mp3gain
    

    If 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.deb
    

    However 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 PPA

    sudo add-apt-repository ppa:sicklylife/qtgain
    sudo apt update
    sudo apt install mp3gain
    
  3. To build the application follow the Quick guide. It downloads the source code and builds the application.

  4. Run the application. After a successful build, run the generated executable file and enjoy it :)

    bin/qmp3gain
    
  5. 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
  1. 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.
  1. Unified README.md markdown file can be created from different md files scattered in the project.

    make docs
    

    The generated markdown file is stored in the bin directory.

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)

  1. 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.exe file to make.exe to ease my work, eg.

    cd c:\ProgramFiles\Qt\Qt5.15.2\Tools\mingw810_64\bin
    mklink make.exe mingw32-make.exe
    

    If you already have a make executable from another developer tool, forget the symbolic link and use original mingw32-make instead of "make" later.)

  2. Install Qt Installer Framework

    If you want to create installer later install the framework from https://download.qt.io/official_releases/qt-installer-framework/

  3. 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
    
  4. 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.exe file into bin folder beside the built qmp3gain.exe

  5. Run the application

    After a successful build, run the generated executable file and enjoy it :)

    bin\qmp3gain.exe
    
  6. 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
  1. Generate files for installation bundle and create installer bundle file which can be run individually in itself by end users.

    make deploy
    

    The generated work files are stored in the dist directory but the installer exe file is stored in the bin directory.

    Remember to copy mp3gain.exe into bin folder before running this target. It is supposed that the Windows installer contains the backend.

  2. Unified README.md markdown file can be created from different md files scattered in the project.

    make docs
    

    The generated markdown file is stored in the bin directory.

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:

  1. Run cd translations to change the directory

  2. Run qmake if Makefile does not exist yet in the folder

  3. Run make ts-untranslated to create a skeleton translation file

  4. Rename generated qmp3gain_untranslated.ts to qmp3gain_<lang>.ts

  5. Run qmake to update Makefile with a new make-ts<lang> target

  6. 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 make and start the application whenever you want to test it. In the application menu your language must be enlisted among the existing ones.

  7. If you want to publish your finished translation, which is highly welcomed, just create a new feature request ticket and attach your qmp3gain_<lang>.ts there. 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)
Source: README.md, updated 2024-04-27