Qmmp - Qt-based multimedia player

Програма є аудіо-плеєром, написаним з використанням бібліотеки Qt.
Офіційна домашня сторінка: https://qmmp.ylsoftware.com/

Підтримуються операційні системи:
- GNU/Linux
- FreeBSD
- Microsoft Windows

Підтримувані формати:
- MPEG1 layer 2/3
- Ogg Vorbis
- Ogg Opus
- Native FLAC, Ogg FLAC
- Musepack
- WavePack
- трекерні формати (mod, s3m, it, xm і т.д.)
- ADTS AAC
- CD Audio
- WMA, Monkey's Audio (та інші формати бібліотеки FFmpeg)
- PCM WAVE (та інші формати бібліотеки libsndfile)
- midi
- SID
- формати звуку ігрових консолей (AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ, VTX)

Аудіо-ефекти:
- ефект BS2B
- Передискретизація
- ефекти LADSPA
- розширення стереобази
- плавний перехід між треками

Візуальні ефекти:
- візуалізація projectM
- аналізатор спектру

Системи виведення звуку:
- OSS4 (FreeBSD)
- ALSA (Linux)
- PulseAudio
- PipeWire
- JACK
- WaveOut (Win32)
- DirectSound (Win32)

Інші можливості:
- підтримка обкладинок XMMS та Winamp 2.x
- 10-полосний еквалайзер
- підтримка потоків MP3, Vorbis, AAC, AAC+
- підтримка протоколу MMS
- MPRIS (1.0 і 2.0)
- автовизначення змінних пристроїв (за допомогою UDisks)
- відтворення відео за допомогою Mplayer-а
- отримання текстів пісень
- перегляд обкладинок
- підтримка CUE
- підтримка "вбудованого" CUE (для файлів FLAC та WavPack)
- можливість використовувати декілька списків відтворення
- автоматичне визначення кодування для cue-файлів і ShoutCast-метаданих
- підтримувані формати списків відтворення: m3u, pls, xspf
- підтримка ReplayGain
- скробблер Last.fm/Libre.fm
- підтримка CDDB
- огляд потоків
- конвертер аудіо-форматів
- запуск зовнішніх команд при зміні треку
- сканер ReplayGain

Вимоги:
- Qt >= 6.2 (qtbase, qtx11extras та qttools для компіляції)
- tar, unzip, bzip2, gzip
- libmad
- libvorbis
- libogg
- libalsa >= 1.0.22
- taglib >= 1.11
- curl >= 7.32
- libmms >= 0.4 (Опціонально)
- flac >= 1.1.3 (Опціонально)
- libmpcdec >= 1.3.0 (Опціонально)
- jackit1 >= 0.121.0 чи jackit2 >= 1.9.8 (Опціонально)
- libsamplerate >= 0.1.2 (Опціонально)
- libmodplug >= 0.8.4 (Опціонально)
- libsndfile >= 1.0.21 (Опціонально)
- wavpack >= 4.41 (Опціонально)
- pulseaudio >= 0.9.19 (Опціонально)
- pipewire >= 0.3.26 (Опціонально)
- ffmpeg >= 3.4 (Опціонально)
- libcdio >= 0.80 (Опціонально)
- libcdio-paranoia >= 10.2 (починаючи з libcdio 0.90)
- libcddb >= 1.3.1 (Опціонально)
- faad2 >= 2.9.2 (Опціонально)
- game-music-emu >= 0.5.5 (Опціонально)
- opus >= 1.0.2 (Опціонально)
- opusfile >= 0.2 (Опціонально)
- libWildMidi >= 0.2.3.4 (Опціонально)
- libsidplayfp >= 1.0.3 (Опціонально)
- libbs2b >= 3.0.0 (Опціонально)
- libprojectM >= 2.0.0 (Опціонально)
- libenca >= 1.9 (Опціонально)
- mplayer (Опціонально)
- libx11, libxcb, xorgproto (Опціонально)
- cmake >= 3.5.0 (тільки для компіляції)

Увага! Для компіляції Qmmp потрібна утиліта lrelease. Дуже часто вона знаходиться в пакеті libqt4-devel.

Конфігурування:
cmake ./

Компіляція:
make

Встановлення:
make install

Якщо який-небудь модуль (наприклад, Jack) не збирається або не потрібен, то ви можете вимкнути його командою:
cmake ./ -DUSE_JACK:BOOL=FALSE

Доступні опції:
- USE_CURL, USE_MMS (транспортні модулі);
- USE_MAD, USE_FLAC, USE_VORBIS, USE_MPC, USE_MODPLUG, USE_SNDFILE, USE_WAVPACK, USE_FFMPEG, USE_AAC, USE_CUE,
  USE_MPLAYER, USE_CDA, USE_MIDI, USE_GME, USE_OPUS, USE_SID (декодери);
- USE_ALSA, USE_OSS, USE_JACK, USE_PULSE, USE_PIPEWIRE, USE_NULL, USE_OSS4, USE_WAVEOUT, USE_DSOUND, USE_QTMULTIMEDIA,
  USE_WASAPI (модулі  виведення);
- USE_SOXR, USE_BS2B, USE_LADSPA, USE_CROSSFADE, USE_STEREO, USE_FILEWRITER, USE_MONOTOSTEREO (ефекти);
- USE_ANALYZER, USE_PROJECTM (візуалізація);
- USE_MPRIS, USE_SCROBBLER, USE_LISTENBRAINZ, USE_STATICON, USE_NOTIFIER, USE_LYRICS, USE_HOTKEY, USE_FILEOPS,
  USE_COVER, USE_KDENOTIFY, USE_UDISKS, USE_CONVERTER, USE_RGSCAN, USE_TRACKCHANGE, USE_COPYPASTE,
  USE_GNOMEHOTKEY, USE_LIBRARY (модулі загального призначення);
- USE_QMMP_DIALOG (файловий діалог);
- USE_ENCA (автоматичне визначення кодування);
- USE_SKINNED (стандартний інтерфейс користувача);
- USE_QSUI (простий інтерфейс);
- USE_DIR_ASSOC (прив'язка до mime-типу inode/directory);
- QMMP_DEFAULT_OUTPUT (модуль виведення за замовчанням, приклад використання: -DQMMP_DEFAULT_OUTPUT=pulse).

Також ви можете використовувати ccmake для зміни конфігурації модулів.
За замовчуванням програма буде встановлена в /usr/local. Ви можете змінити цей шлях командою:
cmake ./ -DCMAKE_INSTALL_PREFIX=інший_шлях

Підтримка OSS3 та Udisks.
Модулі OSS3 та UDisks застаріли і вимкнені за замовчанням.
Для їх увімкнення виконайте 'cmake ./ -DUSE_OSS:BOOL=TRUE' чи 'cmake ./ -DUSE_OSS:UDISKS=TRUE' перед компіляцією.

Підтримка HAL та UDisks.
Більшість дистрибутивів Linux більше не підтримують HAL. Для відключення модуля HAL виконайте перед компіляцією наступну команду:
cmake ./ -DUSE_HAL:BOOL=FALSE
Проект UDisks не підтримує FreeBSD, тому під FreeBSD рекомендується вимикати модуль Udisks з компіляції наступною командою:
cmake ./ -DUSE_UDISKS:BOOL=FALSE

У деяких випадках ви можете використовувати qmake для компіляції та встановлення.

Компіляція:
qmake && make

Інсталяція:
make install INSTALL_ROOT=/usr/local

Виконуваний файл:
./bin/qmmp

Якщо який-небудь модуль не збирається або не потрібен, у файлі qmmp.pri можна його відключити.
Для відключення необхідно закоментувати відповідну строчку (символ "#").
Увага! за замовчуванням включені всі модулі крім OSS4.

Зміна шляху встановлення поділюваних бібліотек і модулів (потрібно для деяких 64-бітних дистрибутивів).
За умовчанням усі бібліотеки та модулі будуть встановлені в $(INSTALL PREFIX)/lib. Ви можете змінити "lib"
на "lib64" за допомогою запуску qmake-qt4 або cmake зі спеціальним параметром:
qmake LIB_DIR=/lib64
або
cmake ./ -DLIB_DIR=lib64


Патчі, багрепорти, ідеї тощо: https://sourceforge.net/p/qmmp-dev/tickets/

Автор висловлює подяку Вадиму Каліннікову (www.ylsoftware.com) за наданий
хостинг і тестування програми.

Також висловлюється подяка всім, хто надіслав патчі та/чи багрепорти.

Прохання до тих, хто надсилає пачті. Для запобігання проблем з визначення авторства, будь ласка,
вказуйте також свою контактну інформацію.
