Pages : 1
#1 Le 05/07/2006, à 01:35
- david breizh
script bash
salut tout le monde !
j'ai déjà posté mon script pour les webradios mais cette fois j'ai voulu le rafaire avec zenity mais le problème c'est que je ne sais pas pour faire une boucle , quand je ferme mplayer pour qu'il revienne au tableau, je poste mon script (c'est le premier):
#!/bin/sh
#lecteur par défault
lecteur="gnome-terminal -x mplayer"
# Choisir l'émission à télécharger
title="Choisissez votre web radio online"
text="Choisissez dans la liste."
radios=`zenity --title "$title" --height=320 --width=290 --text "$text" --list --column="radios" "Chérie FM" "Divergences FM" "Europe 2" "France Culture" "Fun Radio" "Le Mouv" "NRJ" "Skyrock"`
# Si l'utilisateur clic sur "annuler"
if [ "$?" != 0 ] ; then
exit
fi
# L'utilisateur doit faire un choix pour continuer
radios=`echo $radios | sed 's/ max//g'`
if [ ! "$radios" ]; then
zenity --error --title="erreur" --text="Vous devez faire un choix avant de valider"
exit
fi
# Si l'utilisateur clic sur "annuler"
if [ "$?" != 0 ] ; then
exit
fi
# La webradio choisie
if [ "$radios" == "Chérie FM" ]; then
$lecteur mms://vip1.yacast.fr/encodercheriefm
fi
if [ "$radios" == "Divergences FM" ]; then
$lecteur http://stream.oyez.info:8000/divergence.ogg
fi
if [ "$radios" == "Europe 2" ]; then
$lecteur mms://viptvr.yacast.fr/tvr_europe2
fi
if [ "$radios" == "France Culture" ]; then
$lecteur mms://viptvr.yacast.net/tvr_franceculture
fi
if [ "$radios" == "Fun Radio" ]; then
$lecteur mms://vip2.yacast.fr/encoderfun
fi
if [ "$radios" == "Le Mouv" ]; then
$lecteur mms://viptvr.yacast.fr/encoderlemouv
fi
if [ "$radios" == "NRJ" ]; then
$lecteur mms://vip1.yacast.fr/encodernrj
fi
if [ "$radios" == "Skyrock" ]; then
$lecteur mms://vipbu.yacast.fr/encoderskyrock
fi
voilà, je continu a chercher , mais si quelqu'un pouvait me donner un petit coup de main ça serai sympa d sa part
ah ! du fin fond de la bretagne grâce au libre on se sent moins seul!
Vive le libre et toutes les distributions qui m'ont fait découvrir le monde de linux!
Hors ligne
#2 Le 05/07/2006, à 03:34
- kikdijon
Re : script bash
bonjour,
pour faire une boucle, c'est:
while [ condition ]; do
...
done
pour ce qui est de tes multiples if [ "$radio" ... ], tu peux remplacer ça par un case, c'est plus élégant
case $radio in
"Chérie Fm")
$lecteur mms://vip1.yacast.fr/encodercheriefm
"Divergences fm")
$lecteur http://stream.oyez.info:8000/divergence.ogg
[etc]
esac
blog : http://blog.olivier-elmekki.com
site professionnel : http://olivier-elmekki.com
Hors ligne
#3 Le 05/07/2006, à 13:02
- david breizh
Re : script bash
ok merci je vais faire ça
ah ! du fin fond de la bretagne grâce au libre on se sent moins seul!
Vive le libre et toutes les distributions qui m'ont fait découvrir le monde de linux!
Hors ligne
#4 Le 05/07/2006, à 14:16
- david breizh
Re : script bash
bon j'ai fait une des modifications du script mais je bloque pour faire un retour après la lecture avec mplayer, je post :
#!/bin/sh
#lecteur par défault
lecteur="gnome-terminal -x mplayer"
# Choisir l'émission à télécharger
title="Choisissez votre web radio online"
text="Choisissez dans la liste."
radios=`zenity --title "$title" --height=320 --width=290 --text "$text" --list --column="radios" "Chérie FM" "Divergences FM" "Europe 2" "France Culture" "Fun Radio" "Le Mouv" "NRJ" "Skyrock"`
# Si l'utilisateur clic sur "annuler"
if [ "$?" != 0 ] ; then
exit
fi
# L'utilisateur doit faire un choix pour continuer
radios=`echo $radios | sed 's/ max//g'`
if [ ! "$radios" ]; then
zenity --error --title="erreur" --text="Vous devez faire un choix avant de valider"
fi
# Si l'utilisateur clic sur "annuler"
if [ "$?" != 0 ] ; then
exit
fi
# La webradio choisie
case $radios in
"Chérie FM")$lecteur mms://vip1.yacast.fr/encodercheriefm;;
"Divergences FM")$lecteur http://stream.oyez.info:8000/divergence.ogg;;
"Europe 2")$lecteur mms://viptvr.yacast.fr/tvr_europe2;;
"France Culture")$lecteur mms://viptvr.yacast.net/tvr_franceculture;;
"Fun Radio")$lecteur mms://vip2.yacast.fr/encoderfun;;
"Le Mouv")$lecteur mms://viptvr.yacast.fr/encoderlemouv;;
"NRJ")$lecteur mms://vip1.yacast.fr/encodernrj;;
"Skyrock")$lecteur mms://vipbu.yacast.fr/encoderskyrock;;
esac
done
ah ! du fin fond de la bretagne grâce au libre on se sent moins seul!
Vive le libre et toutes les distributions qui m'ont fait découvrir le monde de linux!
Hors ligne
#5 Le 05/07/2006, à 14:44
- david breizh
Re : script bash
bon j'ai réussi ma boucle mais il y a quelques chose qui ne va pas, car la ça me fait la boucle tout de suite en même temps que mplayer et en fait je voudrai que mon tableau zenity réapparaisse après avoir quitter mplayer et non pendant.
je poste encore une fois:
#!/bin/bash
#lecteur par défault
lecteur="gnome-terminal -x mplayer"
while [ "$radios" != "fin" ]
do
# Choisir l'émission à télécharger
title="Choisissez votre web radio online"
text="Choisissez dans la liste."
radios=`zenity --title "$title" --height=320 --width=290 --text "$text" --list --column="radios" "Chérie FM" "Divergences FM" "Europe 2" "France Culture" "Fun Radio" "Le Mouv" "NRJ" "Skyrock" "fin"`
# Si l'utilisateur clic sur "annuler"
if [ "$?" != 0 ] ; then
exit
fi
# L'utilisateur doit faire un choix pour continuer
radios=`echo $radios | sed 's/ max//g'`
if [ ! "$radios" ]; then
zenity --error --title="erreur" --text="Vous devez faire un choix avant de valider"
fi
# Si l'utilisateur clic sur "annuler"
if [ "$?" != 0 ] ; then
exit
fi
# La webradio choisie
case $radios in
"Chérie FM")$lecteur mms://vip1.yacast.fr/encodercheriefm;;
"Divergences FM")$lecteur http://stream.oyez.info:8000/divergence.ogg;;
"Europe 2")$lecteur mms://viptvr.yacast.fr/tvr_europe2;;
"France Culture")$lecteur mms://viptvr.yacast.net/tvr_franceculture;;
"Fun Radio")$lecteur mms://vip2.yacast.fr/encoderfun;;
"Le Mouv")$lecteur mms://viptvr.yacast.fr/encoderlemouv;;
"NRJ")$lecteur mms://vip1.yacast.fr/encodernrj;;
"Skyrock")$lecteur mms://vipbu.yacast.fr/encoderskyrock;;
esac
done
ah ! du fin fond de la bretagne grâce au libre on se sent moins seul!
Vive le libre et toutes les distributions qui m'ont fait découvrir le monde de linux!
Hors ligne
#6 Le 05/07/2006, à 15:46
- david breizh
Re : script bash
en fait , c'est pas une boucle qu'il faut mais plutot un style de GOTO(comme en basic, houlà mes début) pour qu'une fois mplayer fermer ou quitter , revenir au tableau, ça à l'air con mon truc mal je bloque dessus depuis un bon moment.
ah ! du fin fond de la bretagne grâce au libre on se sent moins seul!
Vive le libre et toutes les distributions qui m'ont fait découvrir le monde de linux!
Hors ligne
#7 Le 05/07/2006, à 17:32
- david breizh
Re : script bash
personne n'a d'idées?
ah ! du fin fond de la bretagne grâce au libre on se sent moins seul!
Vive le libre et toutes les distributions qui m'ont fait découvrir le monde de linux!
Hors ligne
#8 Le 05/07/2006, à 17:34
- david breizh
Re : script bash
je poste a nouveau mon script (changer) :
#!/bin/bash
#lecteur par défault
lecteur="gnome-terminal -x mplayer"
# Choisir l'émission à télécharger
fonky(){
title="Choisissez votre web radio online"
text="Choisissez dans la liste des radios."
radios=`zenity --title "$title" --height=350 --width=290 --text "$text" --list --column="liste" "Chérie FM" "Divergences FM" "Europe 2" "France Culture" "Fun Radio" "Le Mouv" "NRJ" "Skyrock"`
}
# Si l'utilisateur clic sur "annuler"
fonky
# L'utilisateur doit faire un choix pour continuer
radios=`echo $radios | sed 's/ max//g'`
# La webradio choisie
case $radios in
"Chérie FM") $lecteur mms://vip1.yacast.fr/encodercheriefm;;
"Divergences FM") $lecteur http://stream.oyez.info:8000/divergence.ogg;;
"Europe 2") $lecteur mms://viptvr.yacast.fr/tvr_europe2;;
"France Culture") $lecteur mms://viptvr.yacast.net/tvr_franceculture;;
"Fun Radio") $lecteur mms://vip2.yacast.fr/encoderfun;;
"Le Mouv") $lecteur mms://viptvr.yacast.fr/encoderlemouv;;
"NRJ") $lecteur mms://vip1.yacast.fr/encodernrj;;
"Skyrock") $lecteur mms://vipbu.yacast.fr/encoderskyrock;;
*) zenity --error --title="erreur" --text="faire un choix avant de valider";;
esac
ah ! du fin fond de la bretagne grâce au libre on se sent moins seul!
Vive le libre et toutes les distributions qui m'ont fait découvrir le monde de linux!
Hors ligne
#9 Le 05/07/2006, à 18:14
- avelldiroll
Re : script bash
Salut,
[HS :
* Pour avoir plus de réponses, le plus simple est souvent de poster dans des forums ou des ng dédié au langage utilisé.
* Par pitié pas de GOTO : il y a des raisons pour lesquelles cette structure est déconseillée, à terme ça rend le code illisible]
Je suis vraiment rouillé en bash, mais les modifs dont je parle marchent chez moi :
J'ai repris ton dernier script, remis la prise en compte de l'annulation et déposé le tout dans une jolie boucle infinie (je sais c'est pas propre mais ça permet de ne pas bousculer ton code). Ensuite il suffit d'ajouter des "wait" après chaque lancement de mplayer (pour ne pas se retrouver avec un lancement continu de terminaux). Ce n'est pas encore parfait, (zenity se relance avant de que l'on ferme un terminal, mais au moins il se relance et attend la suite) mais ça devrait répondre à ta première question.
Bonne continuation !
#!/bin/bash
#lecteur par défault
lecteur="gnome-terminal -x mplayer"
# Choisir l'émission à télécharger
fonky(){
title="Choisissez votre web radio online"
text="Choisissez dans la liste des radios."
radios=`zenity --title "$title" --height=350 --width=290 --text "$text" --list --column="liste" "Chérie FM" "Divergences FM" "Europe 2" "France Culture" "Fun Radio" "Le Mouv" "NRJ" "Skyrock"`
}
while true ; do
fonky
# L'utilisateur doit faire un choix pour continuer
# Si l'utilisateur clic sur "annuler"
if [ "$?" != 0 ] ; then
exit
fi
radios=`echo $radios | sed 's/ max//g'`
# La webradio choisie
case $radios in
"Chérie FM") $lecteur mms://vip1.yacast.fr/encodercheriefm; wait ;;
"Divergences FM") $lecteur http://stream.oyez.info:8000/divergence.ogg; wait ;;
"Europe 2") $lecteur mms://viptvr.yacast.fr/tvr_europe2; wait ;;
"France Culture") $lecteur mms://viptvr.yacast.net/tvr_franceculture; wait ;;
"Fun Radio") $lecteur mms://vip2.yacast.fr/encoderfun; wait ;;
"Le Mouv") $lecteur mms://viptvr.yacast.fr/encoderlemouv; wait ;;
"NRJ") $lecteur mms://vip1.yacast.fr/encodernrj; wait ;;
"Skyrock") $lecteur mms://vipbu.yacast.fr/encoderskyrock; wait ;;
*) zenity --error --title="erreur" --text="faire un choix avant de valider";;
esac
done
"Les ordinateurs permettent à l'humanité de faire des erreurs le plus rapidement du monde, ... à l'exception peut-être de la tequila et des armes à feu."
Merci de lire ceci de temps à autre ...
Hors ligne
#10 Le 05/07/2006, à 23:57
- david breizh
Re : script bash
bon je n'avais pas préciser mais j'avais déjà fait des boucles de plusieurs façons différentes ells marchaient toutes impec le seul problème c'est que je veux pas une boucle mais un retour au tableau après mplayer car sinon il revient en même temps que le terminal mais bon, je suis en train de voire l'utilisation de python, java ,pour voir les choix possibles .
ah ! du fin fond de la bretagne grâce au libre on se sent moins seul!
Vive le libre et toutes les distributions qui m'ont fait découvrir le monde de linux!
Hors ligne
#11 Le 06/07/2006, à 08:41
- avelldiroll
Re : script bash
Les interfaces graphiques gérées en bash ateingnent vite leut limite ...
Visiblement des gens se sont interessés à ce pb en python :
http://forum.ubuntu-fr.org/viewtopic.php?id=45431
Perso je conserverais l'idée de présenter une liste plutôt que des boutons, et je regarderai du côté de pymedia pour gérer les streams audio à la place de mplayer.
"Les ordinateurs permettent à l'humanité de faire des erreurs le plus rapidement du monde, ... à l'exception peut-être de la tequila et des armes à feu."
Merci de lire ceci de temps à autre ...
Hors ligne
#12 Le 06/07/2006, à 11:36
- david breizh
Re : script bash
oui j'ai vu et je suis en train d'apprendre python et wxpython pour me faire des petits progs sympas
ah ! du fin fond de la bretagne grâce au libre on se sent moins seul!
Vive le libre et toutes les distributions qui m'ont fait découvrir le monde de linux!
Hors ligne
Pages : 1