logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 08-06-2011 10:37:30

peuks
Membre
Inscription : 10-04-2010

[Bash ] lancer mpd + play/pause [Résolu]

Bonjour !

Je poste ici ma première contribution. Il s'agit d'un script qui va vérifier si mpd est lancé et le lancer dans le cas contraire . Puis faire par la suite un play pause.
Ça permet d'attribuer un raccourcit clavier au script se qui est assez pratique .

J'aimerai le mettre sous une licence libre mais je ne sais trop la quelle ni comment la mettre en place.

Soyez critique et amusez vous bien avec smile

# Indiquez votre chemin pour l'accès de mpd.pid

check_mpd=/home/peuks/.mpd/mpd.pid

# si mpd n'est pas lancé , alors le lancer
if [ ! -e $check_mpd ]

then

        notify-send " Mpd" "Lancement en cours..." &sleep 3 ;
## ## la notification est optionnelle et le rajout de sleep 3 est là
## ## pour éviter un problème ( bug ? )  de refus de connection à mpd

        mpd ~/.mpd/mpd.conf;

## ## indiquez votre chemin pour mpd.conf
        ncmpcpp play;
        mkdir /tmp/mpd.test

fi

#Puis play/pause sauf pour le premier lancement

## ## mpd.test qui a été crée précédemment servira pour
## ## savoir si mpd a été lancé pour la première fois .
## ## Si c'est le cas alors ne pas utiliser la commande
## ## ncmpcpp toggle qui va créer une mini coupure dans la lecture
mpdtest=/tmp/mpd.test

if [ -e $mpdtest ]
then
        rm -r /tmp/mpd.test
else
ncmpcpp toggle

fi

Dernière modification par peuks (20-03-2012 23:44:13)

Hors ligne

#2 08-06-2011 12:12:52

zoroastre74
Membre
Distrib. : Debian Wheezy
Noyau : Linux 3.2
(G)UI : Awesome wm v3.4.13 (Octopus)
Inscription : 28-08-2010

Re : [Bash ] lancer mpd + play/pause [Résolu]

Yep!

Merci pour ce script peuks

Mais pas besoin d'une license ou autre pour un script qui n'a rien de nouveau !!!
(Cà existe déjà en lua, python, c++, perl, etc.)

A préciser également l'installation de ncmpcpp pour l'utilisation du script. Ce n'est pas la seule solution également.

Désolé de te rafraichir wink

@+

Zoroastre.

Dernière modification par zoroastre74 (08-06-2011 12:15:49)

Hors ligne

#3 08-06-2011 12:48:26

peuks
Membre
Inscription : 10-04-2010

Re : [Bash ] lancer mpd + play/pause [Résolu]

Que peux tu proposer d'autre à part ncmcpp ou ncmp ?
Pour se qui est du bug c'est assez étrange car mpd ne se lance pas du tout avec le script pour la première .
Je dois le lancer à la main et après je peux le relancer comme ça me chante à l'aide du script.

Hors ligne

#4 08-06-2011 13:22:59

zoroastre74
Membre
Distrib. : Debian Wheezy
Noyau : Linux 3.2
(G)UI : Awesome wm v3.4.13 (Octopus)
Inscription : 28-08-2010

Re : [Bash ] lancer mpd + play/pause [Résolu]

Yep!

Il existe également mpc et toutes une panoplie de client graphique, ainsi que ceux que tu as cité. J'utilise ncmpcpp aussi wink

mpd est un deamon (service) donc il se lance en tant que tel.

voir ici : /etc/default/mpd

START_MPD=true


Mon environnement de bureau se pilote principalement au clavier (tilling wm) et possède de nombreux scripts écris en lua, comme celui-ci par exemple : https://awesome.naquadah.org/wiki/Awesompd_widget

Il en est de même pour openbox, dwm, wmii, etc.

Je tiens tout de même à te féliciter pour ton interêt quant à la programmation et attends tes prochaines contributions avec impatience wink

@+

Zoroastre.

Dernière modification par zoroastre74 (08-06-2011 13:53:43)

Hors ligne

#5 27-06-2011 15:11:25

eol
Membre
Inscription : 03-09-2009

Re : [Bash ] lancer mpd + play/pause [Résolu]

Bonjour

Si tu veux simplifier un peu ton script,
la phase de vérification d'activité de mpd et son lancement dans le cas contraire peuvent être résumés en :

pgrep mpd || mpd


Par contre je n'ai pas compris ce que tu cherches avec le play/pause.
Spécifier ~/.mpd/mpd.conf n'est pas nécessaire car mpd l'utilisera par défaut s'il existe.

Hors ligne

#6 28-06-2011 10:14:21

peuks
Membre
Inscription : 10-04-2010

Re : [Bash ] lancer mpd + play/pause [Résolu]

Comment est ce qu'on peut lire cette ligne de code ? Si mpd est trouvé ( ou non ) alors le lancer ou non ?
|| signifie ou ?

si c'est plus simple de cette manière je peux faire un on/off plus simplement smile

Hors ligne

#7 28-06-2011 23:24:22

eol
Membre
Inscription : 03-09-2009

Re : [Bash ] lancer mpd + play/pause [Résolu]

peuks a écrit :

Comment est ce qu'on peut lire cette ligne de code ? Si mpd est trouvé ( ou non ) alors le lancer ou non ?


Oui, c'est ça, si

pgrep mpd


retourne une valeur
( donc si mpd est actif ) l'instruction d'après || est ignorée, dans le cas contraire, elle est executée.

peuks a écrit :

|| signifie ou ?


Exactement smile

Hors ligne

#8 20-03-2012 14:41:30

peuks
Membre
Inscription : 10-04-2010

Re : [Bash ] lancer mpd + play/pause [Résolu]

Je reviens juste pour clore le topic .

avec || et && tout est plus simple.

#/bin/bash!
#si mpd n'est pas lancé , le lancer .

pgrep mpd || mpd /home/peuks/.mpd.conf

# Si il est lancé alors lancer ncmpcpp avec la variable toggle ( le play / pause )
pgrep mpd && ncmpcpp toggle


Si je n'avais pas utilisé ncmpcpp j'aurai laissé mon script presque tel qu'il est pour imiter la fonction" toggle"

Voilà smile

Dernière modification par peuks (20-03-2012 14:44:08)

Hors ligne

#9 20-03-2012 15:09:14

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : [Bash ] lancer mpd + play/pause [Résolu]

Ah sympa peuks !

Si tu pouvais ajouter le [Résolu] d'usage au titre de ton premier post, ce serait l'pied, même !
Voir le tuto :
http://debian-facile.org/atelier:resolu

Yep ! big_smile

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#10 20-03-2012 23:43:52

peuks
Membre
Inscription : 10-04-2010

Re : [Bash ] lancer mpd + play/pause [Résolu]

C'est pas vraiment un problème mais plusieurs solutions ... Le tout était déjà fonctionnel de base .

Hors ligne

Pied de page des forums