Bon. J'ai rajouté un deuxième encodeur rotatif et j'ai repris le code ci-dessus.
J'ai essayé de l'adapter pour changer les radios cette fois-ci.
Le fonctionnement (si ça marche).
1. Créer une playlist m3u dans laquelle il y a plusieurs radios (liens). Cinq dans mon cas. 2. Faire un crontab au démarrage et lancer la première radio avec la commande mpc play 1. Chaque radio peut être lancée en fonction de sa position dans la liste
Le point 1 et 2 fonctionnement correctement.
3. Exécuter le script qui permet de changer les radios avec l'encodeur:
a) Si l'encodeur va trop loin par rapport au nombre de ligne de la liste (ex: mpc play 20), lancer la ligne 1 (revenir au début quoi)
b) Si l'encodeur va dans le négatif, jouer la ligne 1
J'ai modifié ce code mais ça ne donne rien.
Si vous avez des idées, je veux bien.
Merci d'avance.
#!/usr/bin/python#Control MPD Client volume using a physical rotary encoder#pip install mopidy-spotifyfromRPiimportGPIOfromtimeimportsleepimportosclk=23dt=24GPIO.setmode(GPIO.BCM)GPIO.setup(clk,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)GPIO.setup(dt,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)clkLastState=GPIO.input(clk)# Donne le nombre de ligne dans le fichier de la playlist. Ne pas depasser# Si ajout des liens dans le fichier plus tard, pas besoin de changer le code nombre_lignes_playlist=os.system("wc -l < /home/jasmin/.mpd/playlists/radio.m3u")#La Station jouée au démarrage est toujours 1 (crontab)station_actuelle=1try:whileTrue:clkState=GPIO.input(clk)dtState=GPIO.input(dt)ifclkState!=clkLastState:ifdtState!=clkState:station_actuelle+=1else:station_actuelle-=1# Si encodeur envoi des valeur négative, remettre la station à 1ifstation_actuelle<1:station_actuelle=1# Idem si dépassement. Jouer le premier lien de la listeifstation_actuelle>nombre_lignes_playlist:station_actuelle=1# lacer la lecture os.system("mpc play "+str(station_actuelle))clkLastState=clkStatesleep(0.01)finally:GPIO.cleanup
# Suite :)
Posté par zephyr32 . En réponse au message Bouton Volume MPD. Évalué à 1.
Bon. J'ai rajouté un deuxième encodeur rotatif et j'ai repris le code ci-dessus.
J'ai essayé de l'adapter pour changer les radios cette fois-ci.
Le fonctionnement (si ça marche).
1. Créer une playlist m3u dans laquelle il y a plusieurs radios (liens). Cinq dans mon cas.
2. Faire un crontab au démarrage et lancer la première radio avec la commande
mpc play 1. Chaque radio peut être lancée en fonction de sa position dans la listeLe point 1 et 2 fonctionnement correctement.
3. Exécuter le script qui permet de changer les radios avec l'encodeur:
a) Si l'encodeur va trop loin par rapport au nombre de ligne de la liste (ex:
mpc play 20), lancer la ligne 1 (revenir au début quoi)b) Si l'encodeur va dans le négatif, jouer la ligne 1
J'ai modifié ce code mais ça ne donne rien.
Si vous avez des idées, je veux bien.
Merci d'avance.