A Qmmp egy Qt-alapú, Winamp-szerű audiolejátszó, amelyet elsősorban Unix-szerű rendszerekre (Linux, *BSD) fejlesztenek, de Windowsra is elérhető. A projekt célja egy könnyű, moduláris, mégis erősen testreszabható lejátszó biztosítása, amely a klasszikus „skinned” felületet és a modernebb, egyszerűbb GUI-t is támogatja. A 2.4-es ág több egymást követő kiadással (2.4.0, 2.4.1, 2.4.2) jelentős technikai fejlődést hozott, mind a felhasználói funkciók, mind a belső API-k és a plugin-ök terén.
Architektúra és Qt-alapok
A Qmmp a Qt keretrendszerre épül (Qt 5 és Qt 6 támogatással), ami több szempontból is meghatározza a felépítését:
- Platformfüggetlenség: a Qt widget- és multimédia-rétegei révén a Qmmp viszonylag könnyen fordítható különböző disztribúciókon és akár Windows alatt is.
- Plugin-orientált felépítés: a lejátszó magja (libqmmp) és a felhasználói felület (libqmmpui) jól elkülönül, a formátumtámogatás, vizualizáció, kimeneti modulok, effektek és egyéb szolgáltatások plugin-eken keresztül bővíthetők.
- Skinezhető felület: a klasszikus Winamp 2.x stílusú „skinned” GUI mellett egy egyszerűbb, natívabb Qt-alapú felület is elérhető.
A 2.4-es sorozat egyik fontos fejlesztési iránya a libqmmp és libqmmpui API-k tisztítása és modernizálása volt. A fejlesztők több helyen bevezették a PIMPL (Pointer to IMPLementation) idiomát, implicit megosztott (copy-on-write) osztályokat és a move konstruktorokat/operátorokat. Ezek a lépések:
- csökkentik a bináris kompatibilitási problémák esélyét,
- tisztább interfészt adnak a plugin-fejlesztőknek,
- csökkentik a nyers pointer-manipulációt, így robusztusabb, karbantarthatóbb kódot eredményeznek.
Qmmp 2.4.0 – új funkciók és API-váltás
A 2.4.0-s kiadás volt az a mérföldkő, ahol a felhasználók és a fejlesztők is látványos változásokat tapasztalhattak.
Batch tag editor és beépített dalszöveg-szerkesztő
A kiadás egyik legérdekesebb újdonsága az „batch tag editor” plugin (még kísérleti státuszban). Ez lehetővé teszi több fájl metaadatainak (ID3, Vorbis Comment, stb.) egyidejű szerkesztését. Gyakorlati szempontból ez különösen hasznos:
- nagy zenei gyűjtemények rendezésekor,
- albumok egységesítésénél (azonos albumcím, előadó, év),
- formátumkonverziók után, amikor a tagek részben elvesznek vagy módosulnak.
Emellett bekerült egy beépített dalszöveg-szerkesztő is. Ez nem csak a letöltött vagy beágyazott lyrics megjelenítésére, hanem azok szerkesztésére is szolgál. A Qmmp ezzel a funkcióval közelebb kerül azokhoz a lejátszókhoz, amelyek a zene és a szöveg kezelését egyetlen felületen integrálják.
Lyrics plugin fejlesztések
A meglévő lyrics plugin is fejlődött:
- hozzáadták a felhasználói kérésre történő dalszöveg-lekérés lehetőségét,
- csökkentették a hálózati időtúllépési (timeout) értéket.
Ez a gyakorlatban azt jelenti, hogy a lejátszó kevésbé „akad meg” sikertelen lekéréseknél, és a felhasználó döntheti el, mikor akar dalszöveget keresni, ami adatforgalom és adatvédelem szempontjából is előnyös lehet.
Felhasználói felület: sötét mód, státuszsor elrejtése, jobb párbeszédablakok
A „simple user interface” több finomítást kapott:
- Sötét mód támogatás a lejátszási lista és a vizualizációk számára – ez különösen fontos a modern desktop környezetek (Cinnamon, KDE Plasma, GNOME) sötét témáival való vizuális integrációhoz.
- Státuszsor elrejthetősége – minimalista felhasználók, kis kijelzők (pl. netbookok) vagy „zenei kioszk” jellegű felhasználás esetén jól jön.
- Átdolgozott színbeállítások – finomabb testreszabhatóság, jobb kontraszt, átláthatóbb konfiguráció.
A beállítási és részletező párbeszédablakok is kaptak néhány, elsőre aprónak tűnő, de használhatóság szempontjából fontos módosítást:
- „OK” gomb a track részletek párbeszédablakban,
- „OK” és „Mégse” gombok a beállításokban.
Ezek a változtatások a konzisztens, desktop-irányelvekhez igazodó működést erősítik, ami különösen fontos, ha a Qmmp-et különböző asztali környezetekben használjuk.
WildMIDI, OPL3 és a MIDI-lejátszás fejlődése
A Qmmp régóta támogatja a MIDI-lejátszást különböző backendekkel. A 2.4-es sorozatban a wildmidi plugin kapott komolyabb figyelmet:
- QIODevice-alapú bemenet – ez a Qt I/O absztrakciójára épít, így a plugin nem csak fájlrendszerből, hanem tetszőleges Qt-alapú adatforrásból (pl. hálózati stream, memória buffer) is tud olvasni, amennyiben azt a Qmmp megfelelően átadja.
- Fájlformátum-információk megjelenítése – a felhasználó jobban átlátja, milyen típusú MIDI-adatot játszik le.
- A libWildMidi verziójának kijelzése – hibakeresésnél és kompatibilitási problémáknál hasznos.
- Alapértelmezett mintavételi frekvencia 48000 Hz-re állítása – ez jobban illeszkedik a modern hangrendszerekhez (PulseAudio, PipeWire, ALSA), amelyek gyakran 48 kHz-en működnek.
A 2.4.2-es kiadásban egy különösen érdekes újdonság jelent meg: lehetővé vált a beépített OPL3 FM szintetizátor engedélyezése a wildmidi pluginben, amennyiben a rendszer WildMIDI 0.5.0 vagy újabb verziót használ. Az OPL3 a klasszikus Yamaha FM-szintetizátor chip (pl. Sound Blaster 16 kártyák) emulációja, amely sok DOS-játék és régi MIDI-zene jellegzetes hangzását adta. Ez a funkció:
- retro-játékzenék rajongóinak különösen vonzó,
- lehetővé teszi a „soundfont-alapú” és az FM-szintézis alapú MIDI-hangzás összehasonlítását,
- növeli a Qmmp értékét mint „retro audio” lejátszó és kísérleti eszköz.
Formátumtámogatás: FLAC, WavPack, WebM Opus, MPEG
A Qmmp egyik erőssége a széles formátumtámogatás, amelyet nagyrészt plugin-eken keresztül valósít meg. A 2.4.0-s kiadásban több ilyen plugin is fejlődött:
- FLAC plugin: bekerült az ID3v2 tagek támogatása. Bár a FLAC hivatalos ajánlása a Vorbis Comment használata, a gyakorlatban előfordulnak ID3v2-vel taggelt FLAC-fájlok, így ez a kompatibilitást javítja.
- WavPack plugin: QIODevice-alapú bemenetet kapott, hasonlóan a wildmidi pluginhez. Ez rugalmasabb adatforrás-kezelést tesz lehetővé.
- FFmpeg plugin: WebM Opus támogatással bővült. A WebM konténerben tárolt Opus hang egyre gyakoribb online környezetben, így ez fontos lépés a modern webes audioformátumok felé.
- MPEG plugin: különféle optimalizációkat kapott, ami jobb teljesítményt és alacsonyabb CPU-terhelést eredményezhet MP3/MP2 lejátszás közben.
Archívumok, shoutcast/icecast és metaadat-kezelés
Az archive plugin több információt jelenít meg az archívumok (ZIP, stb.) tartalmáról, ami megkönnyíti a tömörített zenei gyűjtemények kezelését.
A shout plugin (tipikusan Shoutcast/Icecast streaminghez) metaadat-beállítási lehetőségekkel bővült. Ez különösen hasznos:
- saját internetes rádiók üzemeltetőinek,
- otthoni streaming megoldásoknál, ahol fontos a pontos előadó/cím/album információ továbbítása a hallgatók felé.
Parancssoros vezérlés: lejátszási listák scriptelése
A Qmmp mindig is kínált parancssoros opciókat, de a 2.4.0-s verzióban a lejátszási listák parancssoros kezelése jelentősen bővült:
- új opciók: --pl-select, --pl-create, --pl-delete,
- a --pl-dump, --pl-clear, --pl-play opciók most már lejátszási lista nevet is elfogadnak argumentumként,
- módosult a --pl-list és --pl-dump kimenete.
Ez a Linux-felhasználók számára különösen értékes, mert:
- könnyen integrálható shell-scriptekbe,
- automatizálható vele a lejátszás (pl. cron-ból indított rádiófelvétel, lejátszási listák generálása),
- fejlettebb „headless” használatot tesz lehetővé, akár grafikus felület nélkül is.
Hotkey plugin: jobb Windows-támogatás és memóriahasználat
A hotkey plugin a globális gyorsbillentyűk kezeléséért felel. A 2.4.0-s kiadásban:
- támogatást kapott a jobb oldali módosítóbillentyűk (Right Ctrl, Right Alt, stb.) kezelésére Windows alatt,
- csökkent a memóriahasználata.
Ez a Windows-felhasználók számára pontosabb és rugalmasabb gyorsbillentyű-konfigurációt jelent, míg Linuxon a memóriaoptimalizálás minden környezetben előnyös.
projectM plugin, OpenGL és Qt 6.2
A vizualizációs fronton a projectM plugin kapott frissítéseket. A fejlesztők:
- QOpenGLFunctions osztályt kezdtek használni,
- javították a projectM 4.x támogatást,
- a 2.4.1-es kiadásban javították a Qt 6.2 támogatást a pluginben.
A QOpenGLFunctions használata segít abban, hogy a kód ne közvetlenül a platformfüggő OpenGL függvényeket hívja, hanem a Qt által biztosított, verziófüggetlenebb rétegen keresztül. Ez:
- jobb kompatibilitást ad különböző GPU-kkal és driverekkel,
- könnyebbé teszi a Qt 5 és Qt 6 közötti átmenetet,
- csökkenti a „kézzel” kezelt OpenGL-függőségből adódó hibákat.
Stabilitási javítások: 2.4.1 és 2.4.2
A 2.4.1-es kiadás főleg hibajavításokra koncentrált:
- Qt 6.2 támogatás javítása a projectM pluginben – ez fontos a modern disztribúciókon, ahol a Qt 6 egyre elterjedtebb.
- Gyorsbillentyű-beállítások javítása a skinned pluginben – a klasszikus Winamp-szerű felület használhatóságát növeli.
A 2.4.2-ben további stabilitási és minőségi javítások érkeztek:
- javították az induláskori összeomlást, amikor a shuffle mód engedélyezve volt – ez kritikus hiba, amely a felhasználók egy részét közvetlenül érinthette.
- javítottak egy fordítási figyelmeztetést – bár ez nem funkcionális hiba, de a tiszta build fontos a disztribúciók csomagkarbantartói és a fejlesztők számára.
Qmmp Plugin Pack 2.4.0 – Timidity plugin és API-frissítés
A Qmmp Plugin Pack 2.4.0 a Qmmp-hez külön terjesztett bővítménycsomag, amelyet a 2.4-es API-hoz igazítottak („ported to qmmp 2.4 API”). Ez biztosítja, hogy a külső plugin-ek is zökkenőmentesen működjenek az új libqmmp/libqmmpui változásokkal.
A csomag egyik fontos újdonsága a timidity plugin hozzáadása. A TiMidity++ egy szoftveres MIDI-szintetizátor, amely soundfontokkal vagy GUS patch-ekkel képes magas minőségű MIDI-lejátszásra. A timidity plugin:
- alternatívát kínál a WildMIDI-hez képest,
- lehetővé teszi különböző soundfontok használatát,
- különösen hasznos azoknak, akik részletesen szeretnék szabályozni a MIDI-hangzást.
A Plugin Packben – a Qmmp fő kiadásához hasonlóan – frissültek a fordítások (holland, finn, japán, lengyel, orosz, koreai, olasz), ami a nem angol nyelvű felhasználók számára javítja a lokalizáció minőségét.
Fordítások és közösségi aspektusok
A 2.4-es sorozatban több nyelv fordítása is frissült: holland, finn, japán, lengyel, orosz, koreai, olasz.
Támogatott formátumok
- MPEG1 layer 2/3
- Ogg Vorbis
- Ogg Opus
- Natív FLAC/Ogg FLAC
- Musepack
- WavePack
- Tracker modulok (mod, s3m, it, xm, ésatöbbi)
- ADTS AAC
- CD Audio
- WMA, Monkey's Audio (és más, az FFmpeg könyvtár által támogatott formátumok)
- PCM WAVE (és más, a libsndfile könyvtár által támogatott formátumok)
- MIDI
- SID
- Chiptune-formátumok (AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ, VTX)
DSP effektusok
- BS2B effektus
- Mintavételi sebesség konverzió
- LADSPA effektusok
- Extra sztereó
- Zeneszámok egymásba mosása
Vizuális effektektusok
- projectM vizualizáció
- spektrumanalizátor
Kimeneti rendszer támogatás
- OSS4 (FreeBSD)
- ALSA (Linux)
- PulseAudio
- PipeWire
- JACK
- QtMultimedia
- Icecast
- WaveOut (Win32)
- DirectSound (Win32)
- WASAPI (Win32)
Extra funkciók
- XMMS és Winamp 2.x témák támogatása
- Alternatív felhasználói felület a szabványos widgetkészlet alapján
- 10 sávos equalizer
- MP3, Vorbis, AAC, AAC+ streamek támogatása
- MMS-támogatás
- MPRIS
- cserélhető eszközök felismerése (HAL vagy UDisks segítségével)
- videólejátszás Mplayer segítségével
- dalszövegek
- borítókép-támogatás
- CUE lap támogatás
- beágyazott CUE-támogatás (FLAC, WavPack és Monkey's Audio esetén)
- több lejátszási lista
- automatikus karakterkészlet-felismerés a cue-fájlokhoz és a ShoutCast metaadatokhoz
- lejátszási listaformátumok: m3u, pls, xspf
- ReplayGain támogatás
- hallgatási előzmények küldése a Last.fm, Libre.fm és ListenBrainz számára
- CDDB-támogatás
- hangkonverter
- stream böngésző
- audio formátum konvertáló
- külső programok végrehajtása a zeneszámok változásakor
- ReplayGain ellenőrzés
- archívum olvasó (RAR és 7z)
- hangfelvétel
- hallgatási előzmények
- médiatár
Telepítés
Letöltés (PPA is van!)
A legújabb, stabil Qmmp telepíthető csomagtárolóból a következő PPA csomagtároló hozzáadásával Szoftverforrások alkalmazásban:
ppa:forkotov02/ppa
Ezek után mentse el a beállítást és a „Szoftverkezelő” programban a a keresés mezőbe írja be: „qmmp”, majd a „qmmp” és „qmmp-plugin-pack” csomagok telepítése, vagy pedig futtassa terminálban a következő parancssort:
sudo apt install qmmp qmmp-plugin-pack
A teljes parancssori telepítéshez a terminálban írja be a következő parancsokat:
sudo add-apt-repository ppa:forkotov02/ppa sudo apt update sudo apt install qmmp qmmp-plugin-pack
A Qt 4 alapú verziók (Linux Mint 19.x, 18.x, Ubuntu 16.04 és 18.04) esetén telepítendő csomagok:
sudo apt-get install qmmp-qt4 qmmp-plugin-pack-qt4
Készült 64 bites kísérleti verzió is:
1.7.x-win64 - Qt5 alapú: Windows 7 vagy újabb.
2.2.x-win64 - Qt6 alapú: Windows 10 vagy újabb.
Összehasonlítás más lejátszókkal és jövőbeli kilátások
A Qmmp pozíciója a Linuxos audiolejátszók között sajátos:
- Audacious-hoz hasonlóan Winamp-szerű, de Qt-re épül, így jobban illeszkedhet Qt-alapú desktopokhoz.
- Clementine/Strawberry típusú lejátszókhoz képest könnyebb, kevésbé „zene-könyvtár-központú”, inkább klasszikus playlist-orientált megközelítést követ.
- MPD + kliens megoldásoknál kevésbé szerver-orientált, viszont önálló, integrált GUI-t kínál.
A 2.4-es sorozat fejlesztései – különösen az API-modernizálás, a Qt 6.2 támogatás javítása, az OpenGL-réteg korszerűsítése és a plugin-ök QIODevice-alapúvá tétele – arra utalnak, hogy a projekt hosszú távon is a modern Qt-ökoszisztémához kíván igazodni. Feltételezhető, hogy a jövőben:
- tovább erősödik a Qt 6 támogatás,
- további formátum- és streaming-fejlesztések érkeznek,
- a plugin-ök még egységesebb, tisztább API-t kapnak.
Összességében a Qmmp 2.4.x sorozat egy érett, technikailag kiforrott audiolejátszót mutat, amely egyszerre szolgálja ki a klasszikus Winamp-rajongókat, a scriptelhető, parancssoros vezérlést kedvelő Linux-felhasználókat és a MIDI/retro hangzás iránt érdeklődőket. A Linux Mint felhasználók számára különösen vonzó választás lehet, ha egy könnyű, Qt-alapú, mégis erősen testreszabható lejátszót keresnek a mindennapi zenehallgatáshoz.

