MellowPlayer is a free, open source and cross-platform desktop application that runs web-based music streaming services in its own window and provides integration with your desktop (hotkeys, multimedia keys, system tray, notifications and more).
|Service||GNU/Linux||AppImage||Windows||OSx||Require non-free HTML codecs||Require flash||Require drm|
|Deezer||Yes||Yes||Yes||Yes||Yes (or flash)||Yes (or non-free codecs)||No|
|TuneIn||Yes||Yes||Yes||Yes||Depends on the stream||No||No|
|8tracks||Yes||Yes||Yes||Yes||Depends on the stream||No||No|
|Google Play Music||Yes||Yes||Yes||Yes||?||?||?|
|Youtube||Yes||Yes||Yes||Yes||Depends on the stream||No||No|
|HearThisAt||Yes||Yes||Yes||Yes||Depends on the stream||No||No|
|Radionomy||Yes||Yes||Yes||Yes||Depends on the stream||No||No|
|Youtube Music||Yes||Yes||Yes||Yes||Depends on the stream||No||No|
- For licensing reason, we do not ship the flash player plugin and the widevine DRM plugins in our official releases.
- Some services (e.g. Spotify, Soundcloud and Mixcloud) also requires QtWebEngine to be compiled with proprietary codecs, which is not the case in our official releases.
- Tidal HiFi does not work because there is no MQA plugin available for chromium based browsers.
MellowPlayer is licensed under the GPL license.
- qbs >= 1.10
- a c++17 compiler (gcc6, msvc 2015 or clang)
- Qt5 (>= 5.9.0, QtWebEngine and QtQuickControls2 needed)
- Libnotify (optional, GNU/Linux only)
Building MellowPlayer requires Qbs >= 1.10 and a C++17 compiler (GCC >= 6.x or Clang >= 3.5 or MSVC 2015 Update 2).
Qbs is a new build system from the Qt Company that is much easier to use compared to CMake, especially for Qt based projects.
mellowplayer.qbs with QtCreator, hit build and run.
From Command Line
Before you can build, you have to setup qbs. This step must be done the first time you're building MellowPlayer and everytime you update your Qt version or toolchain.
Setting up qbs
qbs-setup-toolchains --detect qbs-setup-qt $(which qmake) qt5 # make sure that qmake is in PATH qbs-config defaultProfile qt5
qbs build release
Note: If you're using qbs >= 1.11, replace
You can append the following command line options when building MellowPlayer:
<string>: the name of the default theme. Can be set to any theme appearing in the theme combo box. Default value: "Adaptive".
<bool>: true to build mellowplayer test suite. Default value: false.
<bool>: true to enable code coverage build. Require a debug build config and a gcc compiler. Default value: false;
Running MellowPlayer from build directory
qbs run config:release -p MellowPlayer
Installing MellowPlayer on your system
sudo qbs install --install-root /usr/ config:release
Running the test suite
Make sure you've built MellowPlayer with
qbs resolve debug projects.MellowPlayer.buildTests:true qbs build debug projects.MellowPlayer.buildTests:true
To run the tests, just build one of the below products (either from QtCreator or from command line):
tests: run all tests (unit and integration tests)
unit-tests: run unit tests only
integration-tests: run integration tests only
Example from command line:
qbs build -p tests debug
MellowPlayer is an open-source application that needs your help to go on growing and improving!
There are many ways for developer and non-developers to contribute to the project. You can report (and fix) bugs, add new translations, add support for new streaming services (the core team won't support all services, especially those which are not free), and so on...
If you feel like you want to contribute to the project, make sure to checkout the contributing guidelines!