Qmmp - Qt-based multimedia player

This program is an audio-player, written with the help of the Qt library.
Official home page: http://qmmp.ylsoftware.com/

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)
- Pulse Audio
- JACK
- QtMultimedia
- 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 (1.0 and 2.0)
- removable device detection (via HAL or UDisks)
- video playback via Mplayer
- lyrics (using lyrics.wikia.com)
- cover art support
- CUE sheet support
- embedded CUE support (for FLAC and WavPack)
- multiple playlists
- automatic charset detection for cue files and ShoutCast metadata
- playlist formats: m3u, pls, xspf
- ReplayGain support
- Last.fm/Libre.fm scrobbler
- CDDB support
- audio converter
- stream browser
- audio formats converter
- external programs execution on track change
- ReplayGain scanner

Requirements:
- Qt >= 5.4 (qtbase, qtx11extras and qttools for build)
- tar, unzip, bzip2, gzip
- libmad
- libvorbis
- libogg
- libalsa >= 1.0.1
- taglib >= 1.10
- curl >= 7.16
- qtmultimedia >= 5.4 (Optional)
- libmms >= 0.4 (Optional)
- flac >= 1.1.3 (Optional)
- libmpcdec >= 1.2.6 (Optional)
- jackit1 >= 0.121.0 or jackit2 >= 1.9.8 (Optional)
- libsoxr >= 0.1.0 (Optional)
- libmodplug >= 0.8.4 (Optional)
- libsndfile >= 1.0.21 (Optional)
- wavpack >= 4.41 (Optional)
- pulseaudio >= 0.9.15 (Optional)
- ffmpeg >= 2.0 or libav >= 0.9 (Optional)
- libcdio >= 0.80 (Optional)
- libcdio-paranoia >= 10.2 (since libcdio 0.90)
- 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)
- mplayer (Optional)
- cmake >= 2.8.11 (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_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 (decoders);
- USE_ALSA, USE_OSS, USE_JACK, USE_PULSE, USE_NULL, USE_OSS4, USE_WAVEOUT, UDE_DSOUND, USE_QTMULTIMEDIA,
  USE_WASAPI  (output plugins);
- USE_SOXR, USE_BS2B, USE_LADSPA, USE_CROSSFADE, USE_STEREO (effects);
- USE_ANALYZER, USE_PROJECTM (visualization);
- USE_MPRIS, USE_SCROBBLER, USE_STATICON, USE_NOTIFIER, USE_LYRICS, USE_HAL, USE_HOTKEY, USE_FILEOPS, USE_COVER,
  USE_KDENOTIFY, USE_UDISKS2, USE_CONVERTER, USE_RGSCAN, USE_SB, USE_TRACKCHANGE, USE_COPYPASTE,
  USE_GNOMEHOTKEY (general plugins);
- USE_QMMP_DIALOG (file dialog);
- USE_ENCA (automatic charset detection);
- USE_SKINNED (standard skinned UI);
- USE_QSUI (simple UI);
- USE_DIR_ASSOC (inode/directory mime type association);
- QMMP_DEFAULT_OUTPUT (default output plugin, example: -DQMMP_DEFAULT_OUTPUT=pulse).

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

OSS3 support.
OSS3 plugin is deprecated and disabled by default.
To enable it, run 'cmake ./ -DUSE_OSS:BOOL=TRUE' before compilation.

UDisks2 support and FreeBSD.
Under FreeBSD you are able to use UDisks2 plugin. Also, you should install port sysutils/bsdisks. 
Bsdisks is an implementation of UDisks2 service for FreeBSD.

In some cases, you can use qmake for building and installation.

Configure:
qmake

Build:
make

Installation:
make install INSTALL_ROOT=/usr/local

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 (needed by 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-qt4 or cmake with special parameter:
qmake-qt4 LIB_DIR=/lib64
or
cmake ./ -DLIB_DIR=lib64


All patches, bug reports, ideas etc. send to forkotov02@ya.ru or use bug tracker
https://sourceforge.net/p/qmmp-dev/tickets/
