deezer

mise à jour du 26 octobre 2021. Le périphérique Deezer pour eedomus permet de piloter le lecteur Deezer depuis eedomus, de connaitre l'état de la lecture et l'historique de lecture.

Le site de développement d'applications Deezer est le suivant: https://developers.deezer.com/ Un application "eedomus" a été déclarée pour ce développement, avec tous les paramètres de répertoire, nom de domaine, etc. L'identifiant et le mot de passe de cette application est donné en retour, et est nécessaire pour y faire référence dans le PLUGIN.

Deezer donne accès a 2 éléments: - une API Http qui permet de rechercher dans sa base de données les titres, artistes, albums, radios, podcast, ... mais aussi les informations du user dont ses playlists (la première playlist étant les coups de coeur) et son historique de lecture. Le protocole d'authentification est Oauth, avec fichier register.php, callback.php et le script. - un SDK Web qui permet les même fonctions que l'API Http et en plus toutes les commandes sur le lecteur et les retours d'état du lecteur. Le protocole d'authentification est avec le fichier channel.html (équivalent du callback).

Des devices ont été créées pour afficher la lecture en cours, afficher l'historique, contrôler le lecteur play/pause/next/prev/Shuffle/UnShuffle/UnRepeat/Repeat 1/Repeat All (opérationnel avec scrutation de l'API eedomus-pas Top!), contrôler le volume UnMute/Mute/Volume 50/Volume 100 (opérationnel avec scrutation de l'API eedomus-pas Top!). Les retours d'état du lecteur et du volume sont opérationnels (écriture dans l'API eedomus). Des Widget ont été créés: - un widget "custom" pour lire une playlist "coup de coeur", un album, 2 titres, avec toutes les commandes du lecteur et du son. - Un widget "deezer" pour lire la playlist "coup de coeur", et la commande pour mettre en coup de coeur ou l'enlever.

La première étape est au lancement du PLUGIN de lier eedomus avec son compte utilisateur deezer (freemium ou premium). Pour cela il faut entrer son adresse email et son mot de passe de votre compte utilisateur Deezer, puis donner les autorisations en cliquant. Cette étape est répétée 2 fois car on doit se connecter à l'API Http et aussi au SDK Web. Un token a durée illimitée est fourni à la box eedomus afin de rester connecté. La connexion du SDK Web n'est valable que sur la machine "client" de laquelle on a lancé le PLUGIN.

Le lien entre le Widget eedomus "deezer-Widget" et les devices deezer-Playing, deezer-Controle et deezer-Volume a été réalisé pour les retours d'états.

Avant de lire un morceau de musique, il faut le charger dans le lecteur en cliquant sur le widget "custom" un des 3 boutons (Load Coup de Coeur, Load U2-Beautiful Day, Load Ani Kuni&Monkey Dance). Cette partie sera développée pour charger automatiquement la playlist "coup de coeur" par défaut dans le lecteur.

Lire un morceau, album, playlist et contrôler le son

La lecture d'un morceau se fait:

1.1. en utilisant les commandes des devices eedomus. a. Commande "Controle" qui permet les actions suivantes Play, Pause, Next, Prev, Shuffle, UnShuffle, Repeat 1, Repeat all, UnRepeat. b. Commande "Volume" qui permet les actions suivantes Volume 10, Volume 50, Volume 100, Mute, UnMute.

1.2. en utilisant le Widgets et en cliquant sur les icones. Il faut savoir que c'est une page HTML, donc lorsque l'on change de page, on perd la lecture et au retour cela recommence depuis le début. Le sortie audio est celle de la machine "client" sur laquelle est affichée la page, ou celle que vous avez choisi pour la machine "client" qui fait tourner la page WEB (par exemple orienter le PC sur un HP Bluetooth fonctionne). Pour le Widget "custom", une playlist, un album, 2 titres sont codés en dur dans le fichier "LecteurDeezerWidget.php" et ne peut pas être modifiée pour l'instant, car ce fichier est localisé sur le répertoire https://secure.eedomus.com/sdk/plugins/deezer et doit être "publié" pour y avoir accès. J'imagine que nous pourrons multiplier les fichiers "LecteurDeezerWidgetX.php" mais nous n'avons pas ouvert cette option à ce stade du test. Toutes les commandes du player sont disponibles ainsi qu'un fil de l'eau des évènements (eventlistener). La lecture est illimitée pour les comptes Freemium car le login est activé. L'affichage sur une autre machine que celle qui a fait le login ne donne pas accès à ce lecteur car il affiche "loginstatus:unknow @SDK Web not logged_in". Une seule machine "client" est autorisée par login, donc un login sur une autre machine demande le "kill" de l'autre machine "client" avant d'autoriser la lecture. Les informations sont afichées dans les devices deezer-Playing, deezer-History, deezer-Controle et deezer-Volume. Toutes les commandes via les devices deezer-Controle et deezer-Volume sont actives ainsi que sur le lecteur deezer-Widget.

Le développement continue pour essayer d'avoir l'orientation de la sortie "son". Ainsi que des réglages sur les commandes Mute/UnMute.