!!! IMPORTANT : PLEASE NOTE DEEZER HAS STOPPED SUPPORTING THE DEEZER NATIVE SDK !!!
Lightweight Qml/C++ Deezer Player using Deezer Native SDK (amongst other platorms, it supports ARM Linux).
deezzy has no search/playlist management, it's default goal is to play your user's flow radio, unless you launch it with a specific deezer album/playlist url.
- UI Layout inspired by : qml-audio-player
- Deezer Native API : Native SDK
- Third party JSON library: JSON for Modern C++
Deezzy has been developped and initially tested on an Ubuntu 16.04LTS box, and then successfully built and tested on a Raspberry Pi 2 with a Tontec 3.5 inches touchscreen. As far as the Deezer Native SDK and Qt SDK are crossplatforms, deezzy should be easily portable to Windows/MacOS.
!! First of all you need a Deezer user account in order to get a valid user id!!!
- Download the Deezer Native SDK and clone the deezzy repo (both should be in the same directory):
$ wget https://build-repo.deezer.com/native_sdk/deezer-native-sdk-v1.2.10.zip
$ unzip deezer-native-sdk-v1.2.10.zip
$ git clone https://github.com/blackccpie/deezzy.git
- Register your application here to get your own app id, and authorize it by getting your access token following this procedure (use following permissions :
basic_access,email,manage_library
). With these infos, update theprivate_user.h
header with yourUSER_ID
,USER_ACCESS_TOKEN
and theUSER_CACHE_PATH
of your choice.
$ nano deezzy/src/deezer_wrapper/private/private_user.h
- make sure you have Qt/Qml and pulseaudio prerequisites installed:
$ sudo apt-get install qt5-qmake qt5-default qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtquick-layouts
$ sudo apt-get install libpulse-dev
- run rpi build script (requires CMake and GCC6):
$ cd deezzy
$ sh build_rpi_gcc6.sh
- [Optional] List your audio devices and select the default one:
$ pacmd list-sinks
$ pacmd set-default-sink <YOUR_DEFAULT_SINK_NAME>
- Start pulseaudio service
$ pulseaudio -D
- Run deezzy binary in flow radio mode or given a deezer url
$ ./deezzy
$ ./deezzy dzmedia:///album/659384
I made some initial tests to run deezzy in a docker container, to simplify deployment and dependencies management.
In the docker
directory you will find some usefull scripts to build and run an image containing prebuilt deezzy.
For now the gui/x11 part is handled, the pulseaudio part is handled too thanks to this project, but there is still a strange bug that seems to "freeze" track play when a new track is starting.