Qmmp 2.4.2 – modern, moduláris audiolejátszó Linuxra és Qt-re épülő rendszerekre

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

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.