Qmmp - Qt-based multimedia player This program is an audio-player, written with the help of the Qt library. Official home page: https://qmmp.ylsoftware.com/ Development: https://sourceforge.net/projects/qmmp-dev/ Translation: https://www.transifex.com/qmmp-development-team/public/ Supported operating systems: - GNU/Linux - FreeBSD - Microsoft Windows Supported formats: - MPEG1 layer 2/3 - Ogg Vorbis - Ogg Opus - Native FLAC, Ogg FLAC - Musepack - WavePack - tracker modules (mod, s3m, it, xm, etc) - ADTS AAC - CD Audio - WMA, Monkey's Audio (and other formats provided by FFmpeg library) - PCM WAVE (and other formats provided by libsndfile library) - midi - SID - chiptune formats (AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ, VTX) DSP effects: - BS2B effect - sample rate converter - LADSPA effects - extra stereo - crossfade Visual effects: - projectM visualization - spectrum analyzer Output system support: - OSS4 (FreeBSD) - ALSA (Linux) - PulseAudio - PipeWire - JACK - QtMultimedia - Icecast - WaveOut (Win32) - DirectSound (Win32) - WASAPI (Win32) Other features: - XMMS and Winamp 2.x skins support - alternative user interface based on standard widgets set - 10-band equalizer - MP3, Vorbis, AAC, AAC+ streams support - mms support - MPRIS - removable device detection (via UDisks) - video playback via Mplayer - lyrics - cover art support - CUE sheet support - embedded CUE support (for FLAC, WavPack and Monkey's Audio) - multiple playlists - automatic charset detection for cue files and ShoutCast metadata - playlist formats: m3u, pls, xspf - ReplayGain support - sending listening history to Last.fm, Libre.fm and ListenBrainz - CDDB support - audio converter - stream browser - audio formats converter - external programs execution on track change - ReplayGain scanner - archive reader (RAR and 7z) - audio recording - listening history - media library Requirements: - Qt >= 6.2 (qtbase and qttools for build) - tar, unzip, bzip2, gzip - libmad - libvorbis - libogg - libalsa >= 1.0.22 - taglib >= 1.12 - curl >= 7.32 - libmpg123 >= 1.13.0 (optional) - qtmultimedia >= 6.2 (optional) - libmms >= 0.4 (optional) - flac >= 1.1.3 (optional) - libmpcdec >= 1.3.0 (optional) - jackit1 >= 0.121.0 or jackit2 >= 1.9.8 (optional) - libsoxr >= 0.1.0 (optional) - libxmp >= 4.2.0 (optional) - libsndfile >= 1.0.22 (optional) - wavpack >= 4.41 (optional) - pulseaudio >= 0.9.15 (optional) - pipewire >= 0.3.26 (optional) - ffmpeg >= 3.4 (optional) - libcdio >= 1.0 (optional) - libcdio-paranoia >= 10.2+0.90 (optional) - libcddb >= 1.3.1 (optional) - faad2 >= 2.6.1 (optional) - game-music-emu >= 0.5.5 (optional) - opus >= 1.0.2 (optional) - opusfile >= 0.2 (optional) - libWildMidi >= 0.2.3.4 (optional) - libsidplayfp >= 1.0.3 (optional) - libbs2b >= 3.0.0 (optional) - libprojectM >= 2.0.0 (optional) - libenca >= 1.9 (optional) - libarchive >= 3.2.0 (optional) - libshout >= 2.4.3 (optional) - mplayer (optional) - libx11, libxcb, xorgproto (optional) - librcd >= 0.1.13 (optional) - cmake >= 3.18.0 (for build only) Attention! Qmmp build needs lrelease installed. Configure: cmake ./ Build: make Installation: make install If someone plugin (for example, Jack plugin) doesn't build or doesn't needed you can disable it by running the following command: cmake ./ -DUSE_JACK:BOOL=FALSE Available options: - USE_CURL, USE_MMS (transports); - USE_MAD, USE_MPG123, USE_FLAC, USE_VORBIS, USE_MPC, USE_XMP, USE_SNDFILE, USE_WAVPACK, USE_FFMPEG, USE_AAC, USE_CUE, USE_MPLAYER, USE_CDA, USE_MIDI, USE_GME, USE_OPUS, USE_SID, USE_ARCHIVE (decoders); - USE_ALSA, USE_OSS, USE_JACK, USE_PULSE, USE_PIPEWIRE, USE_NULL, USE_OSS4, USE_WAVEOUT, UDE_DSOUND, USE_QTMULTIMEDIA, USE_WASAPI, USE_SHOUT (output plugins); - USE_SOXR, USE_BS2B, USE_LADSPA, USE_CROSSFADE, USE_STEREO, USE_FILEWRITER, USE_MONOTOSTEREO (effects); - USE_ANALYZER, USE_PROJECTM (visualization); - 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_SB, USE_RGSCAN, USE_TRACKCHANGE, USE_COPYPASTE, USE_GNOMEHOTKEY, USE_LIBRARY (general plugins); - USE_QMMP_DIALOG, USE_TWO_PANEL_DIALOG (file dialogs); - USE_ENCA (automatic charset detection); - USE_SKINNED (standard skinned UI); - USE_QSUI (simple UI); - USE_DIR_ASSOC (inode/directory mime type association); - USE_LIBRCD (using LibRCD library for charset detection of ID3v1/v2 tags, disabled by default); - QMMP_DEFAULT_OUTPUT (default output plugin, example: -DQMMP_DEFAULT_OUTPUT=pulse); - QMMP_DEFAULT_UI (default user interface, example: -DQMMP_DEFAULT_UI=qsui). Also you can use ccmake for changing plugins configuration. By default program will be installed in /usr/local. You can change default path by running: cmake ./ -DCMAKE_INSTALL_PREFIX=custom_path For more information see GNUInstallDirs module documentation: https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html OSS3 support. OSS3 plugin is deprecated and disabled by default. To enable it, run 'cmake ./ -DUSE_OSS:BOOL=TRUE' before compilation. UDisks support and FreeBSD. Under FreeBSD you are able to use UDisks plugin. Also, you should install port sysutils/bsdisks. Bsdisks is an implementation of UDisks service for FreeBSD. In some cases, you can use qmake for building and installation. Configure: qmake PREFIX=custom_path (default: /usr) Build: make Installation: make install Executable: ./bin/qmmp If someone module doesn't build or doesn't needed you can disable it in qmmp.pri file - just comment corresponding line( symbol '#') or execute qmake with special parameters: qmake DISABLED_PLUGINS+=JACK_PLUGIN DISABLED_PLUGINS+=OSS_PLUGIN Attention! By default all plugins are enabled by default. Changing shared library install path (for some 64-bit distributions). By default, all libraries and plugins will be installed to $(INSTALL PREFIX)/lib. You can change "lib" to "lib64" by running qmake or cmake with the special parameter: qmake LIB_DIR=/usr/lib64 or cmake ./ -DCMAKE_INSTALL_LIBDIR=lib64 All patches, bug reports, ideas etc. send to bug tracker https://sourceforge.net/p/qmmp-dev/tickets/ or forkotov02@ya.ru