Spotify Connect! disponible sur le Gladys Store!


#101

Si exactement… je cherche de mon côté…


#102

Bon, après plusieurs recherche sur github, j’ai trouvé ce topic:

Ca viendrai de Pulse, il n’accepterait pas d’avoir un autre utilisateur que celui du bureau (raspotify à la place de pi, par exemple)…

il faut donc rajouter les droits à raspotify:

"Here is what you have to do:

1.change to your desktop user and replace and with yours, in my case it’s pi
su
cd ~/

2.copy the global config file to your user directory
mkdir ~/.pulse/
sudo cp /etc/pulse/default.pa ~/.pulse/

3.add this line to the end of the file you’ve just copied
sudo nano ~/.pulse/default.pa
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
sudo chown -R : ~/.pulse

4.go to the raspotify user home dir
cd /var/cache/raspotify
sudo mkdir .pulse
sudo sh -c ‘echo “default-server = 127.0.0.1” > .pulse/client.conf’
sudo chown -R raspotify:raspotify ~/.pulse

5.reboot and enjoy"

Voilà , je test en même temps que ce post et pour le moment j’ai dépassé la dizaine de morceaux!!!


#103

Hello,

J’ai une erreur sur le parametre spotify_refresh_token qui n’est mentionné nul part, je dois mettre quoi comme valeur ?
Edit : ok en fait le module est censé le setter

Par ailleurs, lorsque je test la commande mise dans le README, Gladys ne trouvant pas le devicetype, renvoit vers celui par défaut et prend mon enceinte Sonos… y a un truc que je pige pas :smiley:

Bon en fait ok, on dirait que le module et fait pour etre le seul module de muic puisque par défaut il n’en prends qu’un.


#104

Bon ca “marche”.

Je met entre guillement car j’ai 2 rpi avec raspotify, j’ai réussi à streamer sur un (sans savoir comment le choix a été fait).
J’ai relancé le service sur ce pi pour l’arreter et depuis ca ne marche plus…

Mais ce qui m’interesserait c’est de pouvoir choisir le device en question.


#105

pour l’instant ce n’est pas possible de choisir par gladys.
tu peux choisir seulement avec ton tel


#106

Ok j’avais cru comprendre ca, merci de me l’avoir confirmé.


#107

A l’usage, j’ai décelé un bug que je ne sais pas ou situer d’un point de vue “responsabilité”.

En fait, si je joue une playlist, un titre, un album sur mon raspotif, tout marche bien.
Si ensuite, je lance une playlist via l’appli spotify ou sonos sur un autre équipement, genre une enceine sonos justement, le raspotify coupe (logique me direz-vous).

Néanmoins, il me devient alors impossible, via Gladys, de relancer une playlist sur le raspotify (même si j’ai interrompu sur la sonos). Je me rend un 403 Forbidden.

Pour pouvoir relancer dessus, il me faut au préalable lancer quelque chose sur ce raspotify via l’app mobile ou web, comme pour réinitialiser ce client.

Suis-je le seul dans ce cas ?

Ca me semble bloquant car je peux pas switcher d’équipement via gladys sans devoir réinitialiser le bouzin à la mano…


#108

Je n’ai jamais vu ce souci chez moi.
Je viens d’essayer de faire les mêmes manipulations que toi. RAS.


#109

Etonnant que ca marche chez toi, j’ai trouvé cela :

https://github.com/spotify/web-api/issues/474

Voir la dernière remarque.

Néanmoins, j’ai trouvé un hack bien crado !! :slightly_smiling_face:

En fait, l’API spotify permet de spécifier un device_id:

J’ai donc trouvé mon device_id (via le endpoint qui va bien dans la doc ci-dessus) et j’ai honteusement modifié la source sur l’install de mon module spotify-connect :

Ligne 1068, j’ai changé /v1/me/player/play par /v1/me/player/play?device_id=MONDEVICE

Bon c’est extreme ^^ mais maintenant, je devrais pouvoir jouer de la musique dans mes pièces ou j’ai une enceinte Sonos, via le module Sonos, et la ou j’ai mon Raspotify, via le module spotify-connect !

Il y a une issue sur le repo github pour supporter le device_id

https://github.com/thelinmichael/spotify-web-api-node/issues/170

A suivre


#110

Il est en effet possible de récuperer les ID des équipements présents:

var devices = shared.player.getMyDevices(); devices.then(function(result) { console.log(util.inspect(result, {showHidden: false, depth: null})); })
Par contre, l’ID change , il faut donc le mettre à jour.
@AdrienDesola, je pensais faire un device avec le nom des équipements(en identifier) et ensuite mettre l’ID dans l’identifier du devicetype. Il “suffit” ensuite de mettre à jour en même temps que le token par exemple.

Il est ensuite possible de router une écoute en utilisant la fonction shared.player.transferMyPlayback(options)

A creuser


#111

Hello !

J’ai commencé une V2 du module avec une logique plus Device comme elle aurait du être dès le debut et en me séparant de la lib “spotify web api node” qui me semble mourante.

Je n’avais pas remarqué que les modules changeaient d’ID c’est un problème ça… :confused: tu as constaté quand est-ce qu’il change ?

dès que j’ai atteint les fonctionnalités du module actuel je vous dit comment tester la V2 :slight_smile:


#112

j’ai pas fais plus attention que ca mais c’est marqué:
Device ID Uniqueness: Device IDs are unique and are persistent to some extent. However, this is not guaranteed and any cached device_id should be periodically cleared out and re-fetched as necessary.


#113

tu as eu le cas, toi, d’un device qui a changé d’ID ? Sinon au clic sur Config c’est suffisant non ?


#114

je sais pas. je vais tester ce soir si tu veux.
autre solution, vérifier l’id seulement au moment de l’envoi de la demande de lecture car ça ne sert que pour ça, pas besoin d’avoir en permanence l’ID.


#115

l’idée c’est d’avoir un Device par Spotify Connect, j’aurais mis l’ID dans le en device type du coup. Tu pensais a quoi toi ?


#116

oui c’est ce à quoi je pensais. dans spotify connect il y a l’ID, qui sert à connecter, et le Nom, qui sert à identifier pour l’utilisateur.
on pourrai donc creer un Device par spotify connect avec le Nom comme identifiant et dedans mettre un devicetype avec l’ID correspondant.
Ainsi, il est possible, quand besoin, de retrouver l’ID à partir du Nom.

La question est juste, faut-il rafraîchir régulièrement l’ID ou juste au moment ou l’on en a besoin(sans doute plus simple).

Du coup, il serait possible de faire:

  • user: Gladys, lance la musique dans le salon
  • gladys:
    – lancement de musique
    – recherche de device musique dans salon
    – recherche de l’ID du device
    – changement de destination du son

#117

Je +1 sur cette proposition, ce serait top !

Après test fait a l’instant, mon raspotify n’a pas changé d’id en quelques jours.


#118

Apres verification, l’id ne change bel et bien pas.
En revanche, il semblerait qu’apres un délais inconnu, mon raspotify devient inactif/invisible de l’API web spotify connect, donc lorsque je demande la lecture sur le device en question, je me prend un 404 car le device n’existe pas.

Si je relance une playlist dessus via l’app android ou linux, et que je refais un get des devices, mon device ré-apparait.

umm on dirait que c’est ce probleme :

https://github.com/spotify/web-api/issues/671

Bon effectivement après queques lecture, je vois comme @isokar l’id pourrait changer…


#119

En mettant les credentials dans le fichier :

/etc/default/raspotify

OPTIONS="--username <username> --password <password>" 

Cela semble corriger le problème de disponibilité du raspotify par l’api web.


#120

en effet, il y a juste un drawback, seul l’utilisateur de ce compte peux se logger dessus. sans cette options, tous les utilisateurs de spotify sur le réseau peuvent, pratique pour les gens comme moi qui ont un compte famille