Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1926 Le 29/03/2018, à 19:18

kholo

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

salut,
c'est fait à l'arrache mais je repasserai pour mettre plus d'explications :

#!/bin/bash
#Requis Mplayer et Zenity

if [ "$(pidof mplayer)" ]; then
	killall mplayer
fi

log1=Alouette_FM
log2=RTL2
log3=Nostalgie

maradio(){
	zenity --question --title="Mes Radios" \
	--ok-label="Changer de radio" --cancel-label=Éteindre \
	--text=$log1 | mplayer "$1"
	sleep 10;
	exit
}

choisirRadio () {
case "$choixType" in
	$log1 ) maradio "http://alouette.ice.infomaniak.ch/alouette-high.mp3" ;;
	$log2 ) maradio "http://streaming.radio.rtl2.fr:80/rtl2-1-44-96" ;;
	$log3 ) maradio "http://cdn.nrjaudio.fm/audio1/fr/30601/mp3_128.mp3?origine=playerweb" ;;
esac
}

choixType=$(
	zenity --list --radiolist --title="Mes Radios" \
	--text="Choisissez dans la liste" --height=240 \
	--print-column="ALL" --column="Choix" --column="   Radios" \
	TRUE $log1 \
	FALSE $log2 \
	FALSE $log3);

case $? in
	0) choisirRadio ;;
	1) echo "Annulation" ; exit ;;
	-1) exit ;;
esac

Dernière modification par kholo (Le 29/03/2018, à 19:26)

Hors ligne

#1927 Le 29/03/2018, à 20:48

G-Tux

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

OUAH !

C'est génial et plus simple, merci pour le travail kholo.

Par contre, il n'y a pas d'action avec la boite pour quitter ou pour changer. Une petite idée ?

Dernière modification par G-Tux (Le 29/03/2018, à 21:20)


MSI CR70 Ubuntu 22.04 + Debian 12 (“Bookwom”) sous MATE
Raspberry Pi avec Raspbian

Hors ligne

#1928 Le 30/03/2018, à 09:10

kholo

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

bon,
donc j'ai un petit peu de temps...
d'abord à modifier :

function maradio(){
	zenity --question --title="Mes Radios" \
	--ok-label="Changer de radio" --cancel-label=Éteindre \
	--text="$choixType" | mplayer "$1"
	sleep 10; # pour quoi faire ? 
	exit 0 
        # tu peux adapter ton code retour pour appeler ton script depuis un autre (GUI) 
        # et avoir des infos sur le déroulement
}

pour avoir la bonne radio affichée ; modif -> --text="$choixType"

pour le reste c'est plus un problème de logique...
je me suis fait une bibliothèque pour le menu et je me suis écrit un script pour une radio.
donc je me suis posé ces questions.
j'ai fait un script "simple" d'un lanceur qui doit pouvoir être amorcé sur un poste et repris sur un autre...
j'utilise screen pour lancer la radio et je récupère ou copie ce screen sur mes autres postes via ssh
bref,... j'ai âs mal potassé le truc.
j'ai aussi vu qu'on pouvait enregistrer le flux avec curl alors j'ai ajouté une routine pour enregistrer un flux.
je peux enregistrer une radio en écoutant une autre...

#!/bin/bash
# ----------------------------------------------
nomlogiciel="${0##*/}"
FONCTION="un logiciel de lecture de 'radios'
NB ces 'radios' sont des liens lancés par vlc"
VERSION="0.026"
# NOTES DE VERSIONS
# ----------------------------------------------
# 
# ----------------------------------------------
echo "lancement $nomlogiciel..."

# version "$VERSION" "$0" ; exit 0

# pour ouvrir un navigateur de fichier (debuggage)
# ******************************************************************
# nautilus "$PWD" ; exit 0

# ******************************************************************

fermerGUI () {
	# kill -9 $( ps -ef | grep $USER| grep term | grep kiradio | grep kradio | cut -d " " -f2 )
	screen -d
	}

# catch CTRL-C
# trap "echo ''; echo 'sortie avec CTR-C. on quitte' ; _quitter ; exit 1" 2
# trap "echo ''; echo 'sortie avec CTR-C. intersepté' ; " 2
# trap "echo le pid est $( ps -ef | grep $USER| grep term | grep kiradio | grep kradio | cut -d " " -f2 ) ; " 2
trap "fermerGUI ;" 2

# TODO : tester les dépendances
# check_dependances () {
# vlc nautilus trap sleep read cat
	# }

# compteur de temps pour le log 
START=$(date +%s.%N)

splashScreen () {
echo -e "${enJaune}${enGras}
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMWo;,cKMMMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMM:     Nx'.    .XMkOWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMO.   cK.      lMx   :XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMNdoo;  .;odxxMN.     lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMN.    .0MMMMMMMMWd    'Xo'.;OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMM:    ,WMMMMMMMMMMMX.  0;     XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMM.    0MMMMMMMMMMMMMo  c0'  .lMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMOOKXNWMMMMMMMMMMMMMc   .xMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMM0..   0MMMMMMMMMMMx     0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMM:     ;OWMMMMMNXWc    xMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMk.      .'''.  cNX;.0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMWxododo'       .KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMN'   .Ox';:lxKMMMMMMMMMMMMMMMMMMMMMMMNoOMMModMMMMMMMMMMMMMM
MMMd'  .oWMx.  :KK     dx:   ...;OMMMMMMMMMMMMMMMMMMMd. oMMX  NMMMMMMMMMMMMM
MMMMN  0MMMW..KMMMXocl0MMM. kMMx  oMMMMMMMMMMMMMMMMMMMo oMMMkkMMMMMMMMMMMMMM
MMMMM  KMMM:'NMMMMMMMMMMMM' kMMMo  NMMMMMMMMMMMMMMMMMMx oMMMMMMMMMMMMMMMMMMM
MMMMM  KMW;,WMMMMMMMMMMMMM' kMMMO  KMMMMMMMMMMMMMMMMMMx oMMMMMMMMMMMMMMMMMMM
MMMMM  KN';WMMMMMMMKc.MMMM' kMMMd  NMMMWl,;.:NMMMMd,;', oMM0:.MMMMK:;.'kMMMM
MMMMM  O.:WMMMMMMMKc  MMMM' kMMK. oMMMM, WMd cMMMc.XMX. oM0c  MMMO kMW; oMMM
MMMMM    ;WMMMMMMMMM  MMMM' ;l, 'kMMMMM..MMX 'MMO xMMMl oMMM  MMW.'MMMN  KMM
MMMMM  d  ,WMMMMMMMM. MMMM' oO  OMMMMMM0KMXl 'MM, NMMMx oMMM  MMk lMMMM: lMM
MMMMM  K0  'WMMMMMMM. MMMM' kMd .XMMMMMM0,:k 'MM. MMMMx oMMM  MMl lMMMMd ;MM
MMMMM  KMK. .NMMMMMM. MMMM' kMM: .WMMMMl 0MN 'MM  NMMMx oMMM  MMl :MMMMk :MM
MMMMM  KMMX. .NMMMMM. MMMM' kMMW. cMMM0 :MMN 'MM. xMMMx oMMM  MMk .MMMMd xMM
MMMMW  KMMMX. .KMMMM. MMMM. kMMMK  xMMk ,MMk .WKo .NMMo cMMM  MMW. xMMM;.WMM
MMMNd  cNMMW:   lKW0  OWNO  ;XWMMO  cKX  .'l  'XW,  c:.  oWO  0WMK. xKl.0MMM
MMMkkkkkkWMKkkkkkkKkkkkXOkkkkkNMMM0kkkWXooXMkoNMMMx::O0lXMXkkkkXMMWd::xWMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
$nomlogiciel v $VERSION"
sleep .5
	}
# echo "chargement ligne $LINENO"

remplir_radios_csv () {
# cette fonction crée un fichier par défaut de radios
echo "NOM_RADIO;FREQUENCE
100radio-albi;http://100radio-albi.ice.infomaniak.ch/100radio-albi-128.mp3
432Hz Radio;http://streaming.radionomy.com/AxelAime432Hz
4U Radios - All Funky Classics;http://streaming.radionomy.com/4U-Funky-Classics
666;http://radio666.net:8000
Addict Alternative;http://stream1.addictradio.net/addictalternative.mp3
Addict Lounge;http://stream1.addictradio.net/addictlounge.mp3
Addict Rock;http://stream1.addictradio.net/addictrock.mp3
Addict Star;http://stream1.addictradio.net/addictstar.mp3
Ado FM;http://start-adofm.ice.infomaniak.ch/start-adofm-high.mp3
Aleo;http://vt-net.org:8056
Aligre FM (Paris. Aligre FM);http://aligrefm.org/aligrefm.m3u
Alouette;http://alouette.ice.infomaniak.ch/alouette-high.mp3
Alpes 1 Gap;http://alpes1gap.ice.infomaniak.ch/alpes1gap-high.mp3
Alpes 1 Grenoble;http://alpes1grenoble.ice.infomaniak.ch/alpes1grenoble-high.mp3
Alta Canzona Corsa;https://altacanzona.streamakaci.com/altacanzona.mp3
Alta Frequenza;https://altafrequenza.streamakaci.com/altafrequenza.mp3
Aufilduson80s;http://diffusion.lafrap.fr/alternantes.ogg
Arvorig FM;http://arvorig-fm.online.stalig.net/live.mp3
Bayou Blue Radio;http://bayoublueradio.com:8000/live
Beur FM;http://broadcast.infomaniak.ch/beurfm-high.mp3
BFM;http://bfmbusiness.cdn.dvmr.fr/bfmbusiness
Bide et Musique;http://relay1.bide-et-musique.com:9100
Booster FM;http://giss.tv:8000/booster-tlse.mp3
C-Lab (Radio Campus Rennes);http://stream.c-lab.fr:8001/c-lab
CanalB;http://stream.levillage.org/canalb.m3u
C9 Radio;http://stream.c9.fr/c9.mp3
Canal Sud;http://91.224.148.160:8000/canalsud-live
Chante France;http://stream1.evasionfm.com/Chante_France
Chérie FM;http://cdn.nrjaudio.fm/audio1/fr/30201/mp3_128.mp3?origine=playerweb
Cristal FM;http://radiocristal.ice.infomaniak.ch/radiocristal-high.mp3
Collines;http://collineslaradio.ice.infomaniak.ch/collineslaradio-128.mp3
Contact;http://broadcast.infomaniak.ch/radio-contact-high.mp3
Couleur3.fr;http://broadcast.infomaniak.ch/rsr-couleur3-high.mp3
DHits;http://go.dhits.net/live.mp3
Divergence Fm;http://ridibundus.divergence-fm.org:8000/divergence.mp3
Djamradio ;http://ledjamradio.ice.infomaniak.ch/ledjamradio.mp3
Dogmazic/Radio Libre;http://radio.dogmazic.net:8000/stream.mp3
Dreyeckland;http://radiodreyeckland.ice.infomaniak.ch/radiodreyeckland-128.mp3
Euronews Radio;http://euronews-01.ice.infomaniak.ch/euronews-01.aac
Elium Club Dance;http://streaming.radionomy.com/Elium-ClubDance
Europe 1;http://mp3lg3.scdn.arkena.com/10489/europe1.mp3
Evasion FM;http://stream1.evasionfm.com/Yvelines
FG (FM);http://radiofg.impek.com/fg
FG Vlaanderen Belgium;http://radiofg.impek.com/fga
FG Chic;http://radiofg.impek.com:80/fgc
FG Club;http://radiofg.impek.com/fg6
FG Dance by Hakimakli;http://radiofg.impek.com/fgd
FG Non Stop;http://radiofg.impek.com/fge
FG Starter;http://radiofg.impek.com:80/fgv
FG Maxximun 90's;http://mp3lg3.tdf-cdn.com/6289/air_122002.mp3
FG Underground;http://radiofg.impek.com/ufg
FIP National;http://direct.fipradio.fr/live/fip-midfi.mp3
FIP Bordeaux;http://direct.fipradio.fr/live/fipbordeaux-midfi.mp3
FIP Strasbourg;http://direct.fipradio.fr/live/fipstrasbourg-midfi.mp3
FIP Nantes;http://direct.fipradio.fr/live/fipnantes-midfi.mp3
FIP Rock;http://direct.fipradio.fr/live/fip-webradio1.mp3
FIP Jazz;http://direct.fipradio.fr/live/fip-webradio2.mp3
FIP Groove;http://direct.fipradio.fr/live/fip-webradio3.mp3
FIP Monde;http://direct.fipradio.fr/live/fip-webradio4.mp3
FIP Nouveautés;http://direct.fipradio.fr/live/fip-webradio5.mp3
FIP Reggae;http://direct.fipradio.fr/live/fip-webradio6.mp3
Fox Radio;http://195.154.11.131:8000/foxradio
France 24;mms://stream1.france24.yacast.net/f24_livefr
France Bleu Alsace;http://direct.francebleu.fr/live/fbalsace-midfi.mp3
France Bleu Elsass ;http://direct.francebleu.fr/live/Fbelsass-midfi.mp3
France Bleu Armorique ;http://direct.francebleu.fr/live/fbarmorique-midfi.mp3
France Bleu Auxerre ;http://direct.francebleu.fr/live/fbauxerre-midfi.mp3
France Bleu Azur ;http://direct.francebleu.fr/live/fbazur-midfi.mp3
France Bleu Béarn ;http://direct.francebleu.fr/live/fbbearn-midfi.mp3
France Bleu Belfort-Montbéliard ;http://direct.francebleu.fr/live/fbbelfort-midfi.mp3
France Bleu Berry ;http://direct.francebleu.fr/live/fbberry-midfi.mp3
France Bleu Besançon ;http://direct.francebleu.fr/live/fbbesancon-midfi.mp3
France Bleu Bourgogne ;http://direct.francebleu.fr/live/fbbourgogne-midfi.mp3
France Bleu Breizh Izel ;http://direct.francebleu.fr/live/fbbreizizel-midfi.mp3
France Bleu Champagne Ardenne ;http://direct.francebleu.fr/live/fbchampagne-midfi.mp3
France Bleu Cotentin ;http://direct.francebleu.fr/live/fbcotentin-midfi.mp3
France Bleu Creuse ;http://direct.francebleu.fr/live/fbcreuse-midfi.mp3
France Bleu Drome Ardèche ;http://direct.francebleu.fr/live/fbdromeardeche-midfi.mp3
France Bleu Gard Lozère ;http://direct.francebleu.fr/live/fbgardlozere-midfi.mp3
France Bleu Gascogne ;http://direct.francebleu.fr/live/fbgascogne-midfi.mp3
France Bleu Gironde ;http://direct.francebleu.fr/live/fbgironde-midfi.mp3
France Bleu Hérault ;http://direct.francebleu.fr/live/fbherault-midfi.mp3
France Bleu Isère ;http://direct.francebleu.fr/live/fbisere-midfi.mp3
France Bleu La Rochelle ;http://direct.francebleu.fr/live/fblarochelle-midfi.mp3
France Bleu Limousin ;http://direct.francebleu.fr/live/fblimousin-midfi.mp3
France Bleu Loire Océan ;http://direct.francebleu.fr/live/fbloireocean-midfi.mp3
France Bleu Lorraine Nord ;http://direct.francebleu.fr/live/fblorrainenord-midfi.mp3
France Bleu Maine ;http://direct.francebleu.fr/live/fbmaine-midfi.mp3
France Bleu Mayenne ;http://direct.francebleu.fr/live/fbmayenne-midfi.mp3
France Bleu Nord ;http://direct.francebleu.fr/live/fbnord-midfi.mp3
France Bleu Normandie (Calvados - Orne) ;http://direct.francebleu.fr/live/fbbassenormandie-midfi.mp3
France Bleu Normandie (Seine-Maritime - Eure) ;http://direct.francebleu.fr/live/fbhautenormandie-midfi.mp3
France Bleu Orléans ;http://direct.francebleu.fr/live/fborleans-midfi.mp3
France Bleu Paris ;http://direct.francebleu.fr/live/fb1071-midfi.mp3
France Bleu Pays Basque ;http://direct.francebleu.fr/live/fbpaysbasque-midfi.mp3
France Bleu Pays d'Auvergne ;http://direct.francebleu.fr/live/fbpaysdauvergne-midfi.mp3
France Bleu Pays de Savoie ;http://direct.francebleu.fr/live/fbpaysdesavoie-midfi.mp3
France Bleu Périgord ;http://direct.francebleu.fr/live/fbperigord-midfi.mp3
France Bleu Picardie ;http://direct.francebleu.fr/live/fbpicardie-midfi.mp3
France Bleu Poitou ;http://direct.francebleu.fr/live/fbpoitou-midfi.mp3
France Bleu Provence ;http://direct.francebleu.fr/live/fbprovence-midfi.mp3
France Bleu RCFM Frequenza Mora ;http://direct.francebleu.fr/live/fbfrequenzamora-midfi.mp3
France Bleu Roussillon ;http://direct.francebleu.fr/live/fbroussillon-midfi.mp3
France Bleu Saint-Etienne Loire ;http://direct.francebleu.fr/live/fbstetienne-midfi.mp3
France Bleu Sud Lorraine ;http://direct.francebleu.fr/live/fbsudlorraine-midfi.mp3
France Bleu Toulouse ;http://direct.francebleu.fr/live/fbtoulouse-midfi.mp3
France Bleu Touraine ;http://direct.francebleu.fr/live/fbtouraine-midfi.mp3
France Bleu Vaucluse ;http://direct.francebleu.fr/live/fbvaucluse-midfi.mp3
France Culture ;http://direct.franceculture.fr/live/franceculture-midfi.mp3
France Info;http://direct.franceinfo.fr/live/franceinfo-midfi.mp3
France Inter;http://direct.franceinter.fr/live/franceinter-midfi.mp3
France Musique;http://direct.francemusique.fr/live/francemusique-midfi.mp3
French Kiss FM;http://178.63.62.145/;stream.mp3
Fréquence Jazz;http://broadcast.infomaniak.ch/frequencejazz-high.mp3
Frequence Luz;http://www.frequenceluz.com:8000/mobile
Fréquence Paris Plurielle;http://radio.toile-libre.org:8000/fpp.mp3
Frequence Plus;http://freqplus.ice.infomaniak.ch/freqplus-high.mp3
Frequence3;http://hd.stream.frequence3.net/frequence3-128.mp3
Fun Radio France;http://streaming.radio.funradio.fr:80/fun-1-44-128
Fuzzy & Groovy Rock Radio;http://listen.radionomy.com/fuzzy-and-groovy.m3u
Galaxie FM 95.30;http://91.121.22.39:8010/listen.pls
GENERATION SOUL DISCO FUNK - La Référence Soul;http://www.generationdiscofunk.com/pls/hd.m3u
Generations FM;http://generationfm.ice.infomaniak.ch/generationfm-high.mp3
Radiogalere FM88.4 Marseille;http://www.radiogalere.org:8080/galere.mp3
Graffiti Urban-Radio 88.6 FM La Roche sur Yon;http://www.urban-radio.com/128.m3u?PHPSESSID=d56d81aa478734fed860444e4f83bbd1
HAG FM;http://213.246.51.78:9290/;stream.mp3
Happy FM;http://happyfm.ice.infomaniak.ch/happyfm-128.mp3
Hit West;http://broadcast.infomaniak.ch/hitwest-high.mp3
Hotmix Radio;http://streamingads.hotmixradio.fm/hotmixradio-dance-128.mp3
Hotmix Radio 80's;http://streamingads.hotmixradio.fm/hotmixradio-80-128.mp3
Hotmix Radio 90's;http://streamingads.hotmixradio.fm/hotmixradio-90-128.mp3
Hotmix Radio Funky;http://streaming.hotmixradio.fm/hotmixradio-funky-128.mp3
Ici & Maintenant !;http://radio.rim952.fr:8000/stream.mp3
idFM Radio Enghien;http://live.idfm98.fr:8000/idfm.m3u
Intensité;http://intensite.net:9010/listen.pls
Jazz Radio;http://jazzradio.ice.infomaniak.ch/jazzradio-high.mp3
JetFm (Nantes);http://80.82.229.202:8000/jetfm.mp3
K6 FM;http://k6fm.ice.infomaniak.ch/k6fm-64.aac
Radio Kerne;http://kerne.online.stalig.net/live.mp3
Kiss FM;http://kissfm2.ice.infomaniak.ch/kissfm2-128.mp3
kisswestcoast;http://kisswestcoast.ice.infomaniak.ch/kisswestcoast-64.aac
La Clé des Ondes (Bordeaux. La Clé des Ondes);http://radio.lacdo.org/stream
Latina;http://broadcast.infomaniak.net/start-latina-high.mp3
L'Eko des Garrigues (Montpellier. Eko des garrigues);http://91.121.159.124:8000/eko-des-garrigues-256k.ogg
Le Mouv' ;http://direct.mouv.fr/live/mouv-midfi.mp3
Le Mouv' Xtra;http://direct.mouv.fr/live/mouvxtra-midfi.mp3
Let's Go Zik;http://stream.letsgozik.com:8000/letsgozik
Radio Liberté;http://radiolibertes.ice.infomaniak.ch/radiolibertes-128.mp3
Libre à toi (pro logiciels libres);http://audio.libre-a-toi.org:8000/voixdulat_ogg
Lor'FM;http://lorfm.ice.infomaniak.ch/lorfm-128.mp3
Maxi France;http://stream.maxifrance.fr:8358/stream
MBS Classic Gold;http://stream1.evasionfm.com/mbs
Mediterraneo Smooth Jazz ;http://streaming.radionomy.com/Mediterraneo-SMOOTHJAZZ
Morow - Rock Progressif;http://stream.fr.morow.com:8080/morow_med.mp3
MFM;http://mfm.ice.infomaniak.ch/mfm-128.mp3
Mixx Radio;http://mixxfmfr.ice.infomaniak.ch/mixxfmfr-192.mp3
Monte Carlo Doualiya (Anciennement RMC Moyen Orient);http://live02.mc-doualiya.com/mc-doualiya.mp3
Musical Spa Radio;http://streaming.radionomy.com/MusicalSpaRadio
Néoplanète;http://streaming.radionomy.com/Neoplanete
Nostalgie;http://cdn.nrjaudio.fm/audio1/fr/30601/mp3_128.mp3?origine=playerweb
NRJ;http://cdn.nrjaudio.fm/audio1/fr/30001/mp3_128.mp3?origine=playernrj
NEO;http://stream.radioneo.org:8000/
O2 Radio (Bordeaux);http://91.121.176.26:7900/listen.pls
Océane Fm;http://oceanefm.ice.infomaniak.ch/oceanefm-128.mp3
OÜI FM;http://stream.ouifm.fr/ouifm-high.mp3
OÜI FM Alternatif;http://alternatif.stream.ouifm.fr/ouifm2.mp3
OÜI FM Classic Rock;http://classicrock.stream.ouifm.fr/ouifm3.mp3
OÜI FM Blues'n'Rock;http://bluesnrock.stream.ouifm.fr/ouifmbluesnrock-128.mp3
OÜI FM Rock indé;http://rockinde.stream.ouifm.fr/ouifm5.mp3
OÜI FM Ganja;http://ganja.stream.ouifm.fr/ouifmganja-128.mp3
Guadeloupe 1ère;http://radios.la1ere.fr/guadeloupe
Guyane 1ère;http://radios.la1ere.fr/guyane
Martinique 1ère;http://radios.la1ere.fr/martinique
Mayotte 1ère;http://radios.la1ere.fr/mayotte
Nouvelle Calédonie 1ère;http://radios.la1ere.fr/nouvellecaledonie
Polynésie 1ère;http://radios.la1ere.fr/polynesie
Réunion 1ère;http://radios.la1ere.fr/reunion
Saint-Pierre-et-Miquelon 1ère;http://radios.la1ere.fr/saintpierremiquelon
Wallis et Futuna 1ère;http://radios.la1ere.fr/wallisfutuna
Oxy.Radio/Radio Libre ;http://www.oxyradio.net:8000/test.mp3
Podradio;http://radio.podradio.fr:8000/adsl
Plum fm;http://plumfm.online.stalig.net/live.mp3
Prun'92Fm;http://80.82.229.202:8000/streamprun
Radio Activ' (radio associative de St Brieuc qui a rejoint ferarock);http://stream.radio-activ.com
Radio87;http://live2.radio87.fr
Radio Arc-en-Ciel Strasbourg;http://str0.creacast.com/arcencielweb
Radio Campus Amiens;http://www.radiocampus.fr:8000/amiens
Radio Campus Angers;http://80.82.229.202/rca
Radio Campus Bordeaux;http://www.radiocampus.fr:8000/campus-bordeaux
Radio Campus Clermont;http://campus.abeille.com:8000/campus
Radio Campus Grenoble;http://live.campusgrenoble.org:9000/rcg112
Radio Campus Lille;http://radiocampuslille.ice.infomaniak.ch:80/radiocampuslille-128 MP3
Radio Campus Orléans;http://orleans.radiocampus.org:8000/stream_rco
Radio Campus Toulouse;http://live.radio-campus.org:8000/toulouse
Radio Campus Tours;http://37.59.38.203:8000/webradiocampustours
R-One Radio :: Listen Hits !;http://streaming.radionomy.com/R-One-Radio
Radio Bienvenue Strasbourg;http://www4.radiorbs.com:8000/RBS
Radio Canut;http://live.francra.org:8000/radiocanut
Radio Classique;http://radioclassique.ice.infomaniak.ch/radioclassique-high.mp3
Radio Courtoisie;http://www.tv-radio.com/cgi-bin/tagger.pl?tag=site&metafile=courtoisie/courtoisie-20k.asx
Radio Cristal;http://stream.inovacast.fr:8888/stream
Radio Dio;http://www.hosting-serv.com:9160
Radio EFM;http://efm.elliptic.fr:8030/
Radio Espace;http://radioespace.ice.infomaniak.ch/radioespace-high.mp3
Radio Flemme;http://str45.streamakaci.com:8014/
Radio Gerard;http://188.165.236.217:8000/
Radio Grenouille;http://live.radiogrenouille.com/live
Radio Junior;http://213.186.61.62:8080/listen.pls
Radio serenity;http://streaming.radionomy.com/wiccaradio
Radio Kreiz Breizh;http://rkb.online.stalig.net/live.mp3
Radio Larzac;http://stream.radiolarzac.org:8000/radiolarzac
Radio Latitude Troyes;http://latitude.ice.infomaniak.ch/latitude-128.mp3
Radio Libertaire;http://ecoutez.radio-libertaire.org/radiolib.m3u
Radio María - France;http://heberg.radioludo.com:8003/stream
Radio Maritima;http://radiomaritima.streamakaci.com/radiomaritima.mp3
Radio Metropolys;http://str0.creacast.com/metropolys
Radio Meuh;http://radiomeuh.ice.infomaniak.ch/radiomeuh-128.mp3
Radio Mont Blanc;http://radiomontblanc1.ice.infomaniak.ch/radiomontblanc1-128.mp3
Radio Nova;http://broadcast.infomaniak.net/radionova-high.mp3
Radio RVA;http://rva.ice.infomaniak.ch/rva-high.mp3
Radio Salve Regina;http://radiosalveregina.no-ip.org:8000/listen.pls
Radio Scoop Bourg en Bresse;http://radioscoopbourg-en-bresse.ice.infomaniak.ch/radioscoop-bourg-128.mp3
Radio Scoop Clermont-Ferrand;http://radioscoopclermont-ferrand.ice.infomaniak.ch/radioscoop-clermont-128.mp3
Radio Scoop Lyon;http://radioscooplyon.ice.infomaniak.ch/radioscoop-lyon-128.mp3
Radio Scoop Saint Etienne;http://radioscoopsaintetienne.ice.infomaniak.ch/radioscoop-stetienne-128.mp3
Radio Sensations;http://sensations.ice.infomaniak.ch/sensations.mp3
Radio SoLatino;http://94.23.26.193:9367/stream/2/
Radio Star;https://www.radioking.com/play/radio-star
Radio TeenTaal;http://www.radioteentaal.com:8000
Radio Zinzine;http://91.121.65.189:8000/3
Radio Zinzine Aix;http://91.121.65.189:8000/zinzine-aix
Rancho FM;http://streaming.radionomy.com/rancho
Radio Dreyeckland Libre 68 (RDL68);http://sv3.vestaradio.com:4060/;stream.mp3
RFI Afrique;http://live02.rfi.fr/rfiafrique-96k.mp3
RFI Monde;http://live02.rfi.fr/rfimonde-96k.mp3
RFM;http://rfm-live-mp3-128.scdn.arkena.com/rfm.mp3
RFM Night Fever;http://rfm-wr2-mp3-128.scdn.arkena.com/rfm.mp3
RFM Party 80;http://rfm-wr4-mp3-128.scdn.arkena.com/rfm.mp3
Rire et chansons;http://cdn.nrjaudio.fm/audio1/fr/30401/mp3_128.mp3?origine=playerweb
Rire et chansons 100% Sketches;http://185.52.127.157/fr/30407/mp3_128.mp3?origine=fluxradios
RMC Info Talk Sport;http://rmc.bfmtv.com/rmcinfo-mp3
RMV;http://91.121.7.61:8200/
RTL;http://streaming.radio.rtl.fr/rtl-1-44-128
RTL2;http://streaming.radio.rtl2.fr:80/rtl2-1-44-96
RTS FM;http://stream.rtsfm.com:8000/;stream/1
Radio Caroline;http://195.154.113.150:8000/caroline.mp3
Radio-Bro-Gwened;http://rbg.online.stalig.net/live.mp3
Revolution Sound Records (collectif d'artistes du mouvement libre);http://195.154.156.183/radio/411/stream/1670
Sing Sing;http://stream.sing-sing.org:8000/singsing128
Skyrock;http://icecast.skyrock.net/s/natio_mp3_128k
SOL-FM 100.7;http://stric6.streamakaci.com/solfm64.mp3
Soleil de Ré;http://91.121.144.141:8000/stream.mp3
SpuTnik France;https://nfw.ria.ru/flv/audio.aspx?ID=6854085&type=mp3
Sud Radio;https://start-sud.ice.infomaniak.ch/start-sud-high.mp3
Sun FM Le son Unique (radio FM) www.lesonunique.com;http://www.lesonunique.com/sunhd.m3u
Sweet FM;http://dedibox-linux.sweetfm.fr:8000/lms
Swing FM;http://swingfm.ice.infomaniak.ch:80/swingfm-128
Tendance Ouest;http://streaming.tendanceouest.com/tomanche.mp3
Tonic Radio;http://hit-sport.ice.infomaniak.ch/hit-sport-high.mp3
Top Music;http://str0.creacast.com/topmusic1
TSF Jazz;http://broadcast.infomaniak.net/tsfjazz-high.mp3
Vibration;http://vibration.ice.infomaniak.ch/vibration-high.mp3
Virgin Radio;http://mp3lg4.tdf-cdn.com/9243/lag_164753.mp3
Vmix - Accent Mix;http://www.vmix.fr/live/acc.m3u
Vmix - Afternoon Mix;http://www.vmix.fr/live/aft.m3u
Vmix - Late Mix;http://www.vmix.fr/live/lat.m3u
Voce Nustrale;http://213.186.61.62:8000/
Voltage 96.9 FM;http://broadcast.infomaniak.net/start-voltage-high.mp3
Welsass;http://www.welsass.fr/play.m3u
Wit FM;http://broadcast.infomaniak.net/start-witfm-high.mp3
Ze Radio;http://91.121.174.141:8676
" > "$1"
}

# gestion des parametres
conf_path="$HOME/.config/kholo/kiradio"
if [ ! -d "$conf_path" ] ; then
	mkdir -p "$conf_path"
fi

# radios.m3u8
fichier_radios="$conf_path/radio.csv"
virtOUT=/tmp/virtOUT
[ -f $virtOUT ] || >$virtOUT

# echo "chargement ligne $LINENO"

initialiser_variables () {
	# COULEURS

	fdNoir='\033[40m'
	fdRouge='\033[41m'
	fdVert='\033[42m'
	fdJaune='\033[43m'
	fdBleu='\033[44m'
	fdRose='\033[45m'
	fdCyan='\033[46m'
	fdGris='\033[47m'
	# fdDefaut='\033[49m'

	enNoir='\033[30m'
	enRouge='\033[31m'
	enVert='\033[32m'
	enJaune='\033[33m'
	enBleu='\033[34m'
	enRose='\033[35m'
	enCyan='\033[36m'
	enGris='\033[37m'
	# enDefaut='\033[39m'

	enGras='\033[1m'
	enSouligner='\033[4m'
	enClignotant='\033[5m'
	enSurligner='\033[7m'
	enCache='\033[8m'

	enDefaut='\033[0m'

	# GENERALES
	nbre_radios=0
	nbre_page_radio=0

	la_pageRadio=1
	# sous_recherche=" "
	fichier_log=""

	tete_de_page=""
	pied_de_page=""

	# affiche les fréquences ou non
	bool_show_freq=false # bool_show_freq=true

} # fin de initialiser_variables
# echo "chargement ligne $LINENO"
# JOURNAL 
initialiser_journal () {
	fichier_log="$conf_path/$nomlogiciel.log"
	# #[ ! -f "$fichier_log" ] && \#
	> "$fichier_log" 
	journal "*******************initialisation*******************"
	journal "chargement"
	}
journal () {
	local NOW=$(date +%s.%N)
	local DIFF=$(echo "${NOW} - ${START}" | bc)
	echo -e "[${DIFF}] ------------------\n${@}" >> "${fichier_log}"
	# echo -e "$@" >> "$fichier_log"
	}

# FONCTIONS
# echo "chargement ligne $LINENO"

string_to_int (){
	LANG=C
	printf %.0f ${1/,/.}
	}
# echo "chargement ligne $LINENO"
_quitter () {
	journal "appel de : ${FUNCNAME} ${@}"
	# mettre ici tout ce qui sera nescessaire à la bonne fermeture
	rm $virtOUT 2>/dev/null 
	# ...
	
	exit 0
	}
# echo "chargement ligne $LINENO"
pause () {
echo -e "	${enVert}${enGras}
			\r****************************************************************
			\rAppuyer sur une touche pour continuer...
			\r****************************************************************"
read -s -n 1
	}
# echo "chargement ligne $LINENO"
on_clear_terminal () {
	echo "${enDefaut}"
	reset > /dev/null
	}
# echo "chargement ligne $LINENO"


afficherMenuRadio () {
	# journal "appel de : ${FUNCNAME} ${@}"

	multiRadio=$1

tete_de_page="${enBleu}${enGras}$nomlogiciel v $VERSION $([ -f $virtOUT.pid ] && { echo -e "${enRouge}enregistrement en cours..." ; })
${enJaune}${enGras}-------------------------------------------"
	echo -e "$tete_de_page"

	for (( i=$(string_to_int $(($multiRadio-1))0); i<=$(string_to_int $(($multiRadio-1))9); i++ ))
	do
		[[ -n "${NOM_RADIO[$i]}" ]] && [ $i -ne 0 ] && \
			{
			echo -en "${enVert}${enGras}$i ${enJaune}${enGras}: ${NOM_RADIO[$i]##*/}${enDefaut}"
			# echo -e "${FREQUENCE[$i]}"
			if $bool_show_freq ; then echo -e " - ${FREQUENCE[$i]}" ; else echo -e "" ; fi
			}

	done
pied_de_page="${enJaune}${enGras}-------------------------------------------
${enVert}${enGras}p${enJaune}${enGras}récédent\tpage $multiRadio/$nbre_page_radio\t\
${enVert}${enGras}s${enJaune}${enGras}uivant
${enDefaut}
${enVert}r*${enDefaut}${enJaune} : rechercher (rfrance pour france)
${enVert}Px${enDefaut}${enJaune} : page (x de 0 à $nbre_page_radio)
${enVert}vx${enDefaut}${enJaune} : volume (x de 0 % à 200 %)
${enVert}h et H${enDefaut}${enJaune} : aides
${enVert}q${enDefaut}${enJaune} : quitter
${enVert}k${enDefaut}${enJaune} : arrêter la musique (tuer VLC)
${enJaune}-------------------------------------------
${enJaune}${enGras}votre choix : ${enDefaut}"
	echo -en "$pied_de_page"
	}
# echo "chargement ligne $LINENO"

page_suivanteRadio () {
	# journal "appel de : ${FUNCNAME} ${@}"
	if [ $la_pageRadio -lt $nbre_page_radio ] ; then let la_pageRadio++ ; fi
	}
# echo "chargement ligne $LINENO"
page_precedenteRadio () {
	# journal "appel de : ${FUNCNAME} ${@}"
	if [ $la_pageRadio -gt 1 ] ; then let la_pageRadio-- ; fi
	}
# echo "chargement ligne $LINENO"
aller_a_la_pageRadio () {
	# journal "appel de : ${FUNCNAME} ${@}"
	# if [ $1 -gt 1 ] && [ $1 -lt $(echo "$nbre_page_radio + 1 "| bc) ] ; then let la_pageRadio=$1 ; fi
	if [ $1 -gt 0 ] && [[ $nbre_page_radio -ge $1 ]] ; then let la_pageRadio=$1 ; fi
	}
# echo "chargement ligne $LINENO"

infos_vlc () {
	# { sleep .3 ; echo "0000" ; sleep .3 ; echo "info" ; sleep .3 ; echo "stats" ; sleep .3 ; echo "get_title" ; } | telnet localhost 9999 ;
local out
	out=$({ sleep .3 ; echo "0000" ; sleep .3 ; echo "get_title" ;  sleep .3 ;} | telnet localhost 9999 ; 2> /dev/null)
	IFS=$'\n' out=( $out )
	on_clear_terminal

local le_lien="${out[6]##*> }"
# echo "le_lien=$le_lien"
local ok=0
local n=0

# IFS=$'\n' 
if [[ -n ${le_lien} ]] ; then
	local i
	for i in ${FREQUENCE[@]} ; do
		if [ $(echo $i | grep "${le_lien}") ] ; then 
			((ok++))
			# lien joué : 
			echo -e "radio en cours d'écoute :"
			echo -e "${enVert}${enGras}${le_lien}"
			echo -e "num $n : ${NOM_RADIO[$n]}${enDefaut}"
			# sleep 0.5
		fi
		((n++))
	done 
else
	echo -e "${enRouge}${enGras}erreurs : "
	echo -e "${enDefaut}${enGras}pas de lien retourné :\n"
	local temp ;for temp in ${out[@]} ; do echo $temp ; done
fi 
	}
# echo "chargement ligne $LINENO"
rechercher_radio () {
	echo "on recherche : $@"
	IFS=$'\n'

	local n=0
	local out
	local trouve=0
	# local i
	for i in ${NOM_RADIO[*]}
	do
		# [ -n "$out" ] && ((trouve++)) && echo -e "$n : $out"
		out=$(echo "$i" | grep -i "$@")
		[ $? -eq 0 ] && {
			((trouve++)) 
			echo -e "$n : $out"
			}
		((n++))
	done

	echo "$trouve radio(s) trouvée(s)"
	pause
	}
# echo "chargement ligne $LINENO"
ajouter_radio () {
local ajout
local nom
local freq
echo -en "${enJaune}${enGras}Ajouter une radio
${enVert}1 ${enJaune}- nom : 		$1
${enVert}2 ${enJaune}- adresse : 	$2
${enVert}3 ${enJaune}- valider
${enVert}autre - ${enJaune}Annuler
${enDefaut}choix : "
read -r -n 1 ajout
echo ""
case "$ajout" in
	# 0)		;;
	1)
		echo "Entrez un nom"
		read -r nom
		clear
		ajouter_radio "$nom" "$2"
		;;
	2)
		echo "Entrez une fréquence"
		read -r freq
		clear
		ajouter_radio "$1" "$freq"
		;;
	3)
		[ -n "$1" ] && [ -n "$2" ] && {
			echo "$1;$2" >> "$fichier_radios"
			charger_radios_csv "$fichier_radios"
			} || ajouter_radio
		;;
	*)	echo "Ajout - action annulée"	; pause ;;
esac

}
# echo "chargement ligne $LINENO"
voirFrequence () { if $bool_show_freq ; then bool_show_freq=false ; else bool_show_freq=true ; fi ; }
# echo "chargement ligne $LINENO"

charger_radios () {
if [ -f "$fichier_radios" ]
then
	charger_radios_csv "$fichier_radios"
else
	> "$fichier_radios" 
	echo -e "nom;frequence\n"
	remplir_radios_csv "$fichier_radios"
	# sleep .1
	charger_radios_csv "$fichier_radios"
fi
	}
# echo "chargement ligne $LINENO"
charger_radios_m3u8 () {
IFS=$'\n' list_radios=( $( < "$fichier_radios" ) )

n=0
for (( i=0; i<=((${#list_radios[@]}-1)); i++ )) ; do
	case "${list_radios[$i]}" in
		"#EXTINF:"*)
			nom_temp="$(echo "${list_radios[$i]}" | cut -d, -f2)"
			NOM_RADIO[$n]="${nom_temp}"
			((n++))
			;;

		"http:"*|"https:"*|"mms:"*)
			FREQUENCE[$n]="${list_radios[$i]}"
			;;

		*)	;;
	esac
done

nbre_radios=${#NOM_RADIO[@]}
nbre_page_radio=$(( 1+$nbre_radios/10 ))
}
# echo "chargement ligne $LINENO"
JouerRadio () {
	tuer_vlc
	sleep .5
	cvlc -I telnet --telnet-password=0000 --telnet-port=9999 ${FREQUENCE[$1]}  2> /dev/null &
	volume 120
	}
# echo "chargement ligne $LINENO"
volume () {
	{ sleep .3 ; echo "0000" ; sleep .3 ; echo "volume $1" ; } | telnet localhost 9999 ;
	}
# echo "chargement ligne $LINENO"
tuer_vlc () { killall vlc 2> /dev/null ; }
# echo "chargement ligne $LINENO"
record_log () {
	# while : ; do tail -4 $virtOUT ; sleep 1 ; clear ; done
	# xterm -e "while : ; do tail -4 $virtOUT ; sleep 1 ; clear ; done" &
	xterm -e "while [ -f $virtOUT.pid ] ; do tail -4 $virtOUT ; sleep 1 ; clear ; done" &
}
# echo "chargement ligne $LINENO"
record_radio () {
echo "# module d'enregistrement"
if [ -z $1 ] ; then 
	# killall wget
	# killall curl
	
	# $(ps ax | grep matrix | grep -v grep | sed "s/^ *//" | cut -d " " -f1)
	kill -9 $(< $virtOUT.pid)
	rm $virtOUT.pid
else
	# To save stream:
	# curl
	# curl --output ~/Downloads/Radio/CostaDelMar.mp3 http://sc-costadelmar.1.fm:10156
	# Useful options are --max-time <seconds> and --max-filesize <bytes>. 
	# 
	# wget
	# wget -O stream.mp3 "http://stream-90.shoutcast.com:80"

	# wget -O $HOME/Musique/stream.mp3 "${FREQUENCE[$1]}"

	# curl --output $HOME/Musique/stream.mp3 http://stream1.addictradio.net/addictalternative.mp3

	# $( curl --output $HOME/Musique/stream.mp3 "${FREQUENCE[$1]}" > $virtOUT ) &
	curl --output $HOME/Musique/stream.mp3 "${FREQUENCE[$1]}" >>$virtOUT 2>&1 &
	echo $! > $virtOUT.pid 
	record_log
fi
	}

parser_choix_radio () {
	# journal "appel de : ${FUNCNAME} ${@}"
	case "$choixRadio" in
		0) 
			journal "choixRadio=${choixRadio}\nTODO : choisir une radio" ; 
			echo "# rien à faire encore avec les 0 des radios ;°)"
			sleep 2
			# pause ; 
			;;

		[1-9]|[0-9][0-9]|[0-9][0-9][0-9]) 
			journal "choixRadio=${choixRadio}\n${NOM_RADIO[$choixRadio]}"
			la_radio="${NOM_RADIO[$choixRadio]}"
			JouerRadio "$choixRadio" 
			# pause
			;;

		h|a|aide)
				_aide ; pause ;;
		H)		_aide2 ; pause ;;
		f)		voirFrequence ;;

		s)		page_suivanteRadio ;;
		p)		page_precedenteRadio ;;
		P*)		aller_a_la_pageRadio "${choixRadio#*P}" ;;

		v*)		volume "${choixRadio#*v}" ;;
		i)		infos_vlc ; pause ;;
		k)		tuer_vlc ;;

		z)		charger_radios_csv "$fichier_radios" ;;
		E)		gedit "$fichier_radios" & ;;

		A)		ajouter_radio ;;
		r*)		rechercher_radio "${choixRadio#*r}" ;;
		REC*)	record_radio "${choixRadio#*REC}" ;;
		log)	[ -f $virtOUT.pid ] && record_log || { echo "rien en enregistrement... " ; pause ; } ;;

		# q)		fermerGUI ;;
		q)		screen -d ;;
		Q)		_quitter ;;
		# Q)		gedit "$fichier_radios" & ;;
		
		*)		;;
	esac
	
	}
# echo "chargement ligne $LINENO"
mainRadio () {
	# journal "appel de : ${FUNCNAME} ${@}"
	on_clear_terminal
	afficherMenuRadio $la_pageRadio

	# #saisie du choixRadio
	read -r choixRadio 

	on_clear_terminal
	parser_choix_radio
	mainRadio
	}
# echo "chargement ligne $LINENO"

_aide2 () {
echo -e "${enJaune}${enGras}"
cat << FIN 
je cherche à faire des choses simples, 
communes, lisible par un synthétiseur vocal, 
... et qui tiennent dans le temps.
... donc exit les interfaces graphiques :
des menus en texte et de la couleur pour attirer l'oeil sur l'essentiel
le moins de fonctions possible, une seule façon d'y accéder
et comme rien n'est compilé, facile à adapter.

ici c'est un joueur de liens avec VLC (un web radio player).

A partir d'un fichier de radios, 
on obtient automatiquement une liste de radios.
cette liste est par 10 lignes, on passe d'une page à une autre avec p ou s
pour précédent ou suivant, on accède à une page avec Px...

si on ferme le script, la musique continue.
pour l'arrêter, il suffit de relancer le script et d'utiliser k
ou tuer vlc (donc il est possible d'utiliser ce script à travers un tunnel ssh)
quelques touches et explications
[OPTIONS] : attention à la casse
h)	_aide ; pause	
H)	_aide2 ; pause	
f)	voirFrequence	 affiche les frequences à côté du nom dans la liste

s)	page_suivanteRadio	
p)	page_precedenteRadio	
P*)	aller_a_la_pageRadio "${choixRadio#*P}"	
aller directement à la page * [pe : P12]

v*)	volume	modifier le volume de vlc en % [pe : v80]
i)	infos_vlc	donne la station jouée par vlc
k)	tuer_vlc	ferme vlc

z)	charger_radios_csv "$fichier_radios" 	recharge le fichier radio
E)	gedit "$fichier_radios" &	éditer le fichier radio

A)	ajouter_radio	module d'ajout d'une radio
r*)	rechercher_radio "${choixRadio#*r}"	 [pe : rfrance pour france]

q)	_quitter

FIN
	}
_aide () {
echo -e "${enJaune}${enGras}"
cat << FIN 
[OPTIONS] :
h|a)	_aide ; pause ;;
H)		_aide2 ; pause ;;
f)		voirFrequence ;;

s)		page_suivanteRadio ;;
p)		page_precedenteRadio ;;
P*)		aller_a_la_pageRadio "${choixRadio#*P}" ;;

v*)		volume "${choixRadio#*v}" ;;
i)		infos_vlc ; pause ;;
k)		tuer_vlc ;;

z)		charger_radios_csv "$fichier_radios" ;;
E)		gedit "$fichier_radios" & ;;

A)		ajouter_radio ;;
r*)		rechercher_radio "${choixRadio#*r}" ;;
REC*)	record_radio "${choixRadio#*REC}" ;;
log)	[ -f $virtOUT.pid ] && record_log || { echo "rien en enregistrement... " ; pause ; } ;;

q)		_quitter ;;
# Q)		gedit "$fichier_radios" & ;;

*)		;;
FIN
	}

charger_radios_csv () {
	local tete="chargement des radios"
	NOM_RADIO=()
	FREQUENCE=()
	local ligne 

	local l=0
	while read ligne
	do
		IFS=';' read NOM_RADIO[$l] FREQUENCE[$l] <<<"$ligne"
		echo -en "\r$tete : ${NOM_RADIO[$l]}"
		sleep .001 # pour prendre le temps de voir le chargement
		# sleep .01 # pour prendre le temps de voir le chargement
		((l++))
	done < "$1"
	nbre_radios=$(($l-2))
	nbre_page_radio=$(( 1+$nbre_radios/10 ))
	clear
	echo -e "$((nbre_radios+1)) radio(s) chargée(s)..." # TODO bug ?
	# sleep .5
	}
# echo "chargement ligne $LINENO"

# echo "chargement ligne $LINENO"

initialiser_variables
splashScreen
initialiser_journal
charger_radios

mainRadio

# {
# for ((x=0 ; x<10; x++))
# for ((x=0 ; x<=$nbre_radios; x++))
# do
	# echo "$x - ${NOM_RADIO[$x]} - ${FREQUENCE[$((x+1))]}"
	# echo "${NOM_RADIO[$x]};${FREQUENCE[$((x+1))]}"
# done
# } > "$fichier_radios"

exit 0

et le screener

#!/bin/sh
#**********************************#
#kholo-informatique 2017
#www.kholo-informatique.fr
#**********************************#
#
#**********************************#

nomlogiciel="${0##*/}"
fonction="utiliser screen pour accéder à un programme d'un autre PC
# 
#**********************************#
" ;
#**********************************#
VERSION="0.002"
#**********************************#
#NOTES DE VERSIONS
#
#**********************************#


#******************************************************************

# #pour ouvrir un navigateur de fichier (debuggage)
# nautilus "$PWD" ; exit 0

# version "$VERSION" "$0" ; exit 0
#******************************************************************
# PATH=$HOME/bin/kiradio/:$PATH

screenName="kradio"

if [ ! $(screen -ls | grep "$screenName") ]
then
	# echo oui
	# exec screen -S $screenName /bin/bash $HOME/bin/kiradio/kiradio
	screen -S $screenName /bin/bash $HOME/bin/kiradio/kiradio
	# exec screen -d -m -t $screenName /bin/bash $HOME/bin/kiradio/kiradio
	# sleep 1
	# ./"$0"
	exit 1
else
	# echo non
	# gnome-terminal -e "screen -r $screenName" || \#
	gnome-terminal -e "screen -x $screenName"
	# lePID=$$
	# zenity --info --text="le pid est $lePID"
fi
	# gnome-terminal -e "screen -r $screenName" || \
	# gnome-terminal -e "screen -x $screenName"

exit 0

il y a des déchets et beaucoup de lourdeurs mais je pense qu'il est simple d'en comprendre tous les fonctionnements.
bonne lecture ! cool

Hors ligne

#1929 Le 30/03/2018, à 09:32

G-Tux

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Bonjour,
Merci pour les propositions, quand je vois que j'avais passé plusieurs heures pour une ébauche très moyenne...
C'est impressionnant les possibilités.
BRAVO et bonne journée kholo.

Dernière modification par G-Tux (Le 30/03/2018, à 09:36)


MSI CR70 Ubuntu 22.04 + Debian 12 (“Bookwom”) sous MATE
Raspberry Pi avec Raspbian

Hors ligne

#1930 Le 30/03/2018, à 11:19

kholo

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

tiens, un peu plus fonctionnel :

#!/bin/bash
#Requis Mplayer et Zenity

# nautilus "$PWD" ; exit 0
radioEncours=""

tuer_mplayer(){
	killall mplayer 2>/dev/null
}
tuer_mplayer

radios="Alouette_FM,http://alouette.ice.infomaniak.ch/alouette-high.mp3
RTL2,http://streaming.radio.rtl2.fr:80/rtl2-1-44-96
Nostalgie,http://cdn.nrjaudio.fm/audio1/fr/30601/mp3_128.mp3?origine=playerweb"
n=0
radioNom=()
radioFreq=()

while IFS=$'\n' read uneRadio
do
	radioNom[$n]=${uneRadio%,*}
	radioFreq[$n]=${uneRadio#*,}
	((n++))
done <<< "${radios}"

function maradio(){
	tuer_mplayer
	mplayer "${radioFreq[$1]}" &
	radioEncours=${radioNom[$1]}
}

listeRadioZenity(){
	echo "TRUE 0 ${radioNom[0]}"
	for ((m=1; m<${#radioNom[@]}; m++))
	do
		echo "FALSE $m ${radioNom[$m]}"
	done
}

while :
do
	choixType=$(
	zenity --list --radiolist --title="Mes Radios ${radioEncours}" \
	--text="radio en cours : ${radioEncours}" --height=240 \
	--ok-label="jouer radio" --cancel-label=Éteindre \
	--print-column='2' --column="Choix" --column="" --column="Radios" \
	--hide-column='2' \
	$(listeRadioZenity)
	);
# on peut gérer ça avec un if...
	case $? in
		0)	maradio $choixType ;;
		1)	tuer_mplayer ; break ;;
		# -1) break ;;
	esac
done
sleep 1
exit 0

Hors ligne

#1931 Le 30/03/2018, à 12:37

G-Tux

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Après essai, c'est pile poil ce que je souhaitais.
Un grand merci à toi kholo, car pour moi impossible d'arriver à un tel résultat.
Je vais pouvoir écouter mes radios favorites en toutes tranquillité. wink


MSI CR70 Ubuntu 22.04 + Debian 12 (“Bookwom”) sous MATE
Raspberry Pi avec Raspbian

Hors ligne

#1932 Le 30/03/2018, à 12:46

kholo

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

wink

Hors ligne

#1933 Le 30/03/2018, à 16:56

melixgaro

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

salut,

je suggère d'activer le cache de mplayer

mplayer -cache 2048

par exemple. Histoire de mettre quelques secondes du flux radio en mémoire tampon.

Une autre petite critique : la fonction tuer_mplayer du script va tuer toutes les instances de mplayer. Donc si un autre mplayer tourne pour x ou y raisons, il risque d'être fermer par erreur.


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#1934 Le 30/03/2018, à 20:14

GammaDraconis

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Mon script de post-installation pour Ubuntu 18.04 (uniquement la 18.04 !)

https://github.com/simbd/Scripts_Ubuntu … install.sh


Discussion sur mon script de post-install pour Ubuntu 20.04LTS : https://forum.ubuntu-fr.org/viewtopic.php?id=2026344
Lien direct script : https://github.com/simbd/Ubuntu_20.04LTS_PostInstall
Démo vidéo (peertube) : https://video.ploud.fr/videos/watch/fb7 … 0d252ed2db

Hors ligne

#1935 Le 10/04/2018, à 21:47

uboops

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

kholo a écrit :

tiens, un peu plus fonctionnel :
...

Bravo et merci ... pour être fonctionnel c'est fonctionnel ... très pratique.


“Au lieu de faire que ce qui fût juste fût fort, on a fait que ce qui fût fort fût juste.” (Blaise Pascal).

Hors ligne

#1936 Le 07/05/2018, à 11:00

le-peyo

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

¡ Holà !

Voici un script ultra minimaliste :

Une fenếtre s'ouvre, on tape ce que l'on veut voir ou écouter et la recherche s'effectue sur google video avec simulation du bouton "J'ai de la chance".
Votre navigateur s'ouvre alors sur la vidéo la plus pertinente (selon Google).

#! /bin/sh

SEEK=`zenity --entry --title="Video Autoplay" --text="Que voulez-vous voir / écouter ?"`
URL="https://www.google.fr/search?tbm=vid&q=$SEEK&btnI=J%27ai+de+la+chance&gbv=1"

if [ -z $SEEK] 
	then exit
	else xdg-open "$URL"
fi

exit 0

Mais on peut se contenter de taper "Vivaldi" ou "9 symphonie", "High Hopes" ou "Echoes"... bref ce qu'on veut...

Je sais, c'est du Google, mais c'est rapide et pratique malgré quelques bizarreries avec certains résultats .

À plus

EDIT : j'ai rajouté le ! au début de la première ligne... honte à moi de l'avoir oublié... ainsi que le 0 après le exit final (merci enebre).

Dernière modification par le-peyo (Le 07/05/2018, à 21:57)


Sous Linux depuis 2009 | Xubuntu 22.04 LTS | Lenovo Thinkpad W540
Windows... ? J'connais pas...
Petits scripts vidéos bien pratiques =>
C'est le moment : OMS et Institut Pasteur !

Hors ligne

#1937 Le 07/05/2018, à 14:31

kholo

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

salut, plutôt comme ça !

SEEK=$(zenity --entry --title="Video Autoplay" --text="Que voulez-vous voir / écouter ?")
[[ $? = 0 ]] && {
	URL="https://www.google.fr/search?tbm=vid&q=$SEEK&btnI=J%27ai+de+la+chance&gbv=1"
	xdg-open "$URL"
}

Hors ligne

#1938 Le 07/05/2018, à 16:38

le-peyo

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

C'est vrai que je n'ai pas prévu de fonction exit en cas de fermeture sans remplir les champs de recherche, par contre ton script ne fonctionne que si je le lance dans un terminal...

EDIT : J'ai rajouté une sortie sans ouvrir l'explorateur en cas de de recherche vide.

Dernière modification par le-peyo (Le 07/05/2018, à 21:59)


Sous Linux depuis 2009 | Xubuntu 22.04 LTS | Lenovo Thinkpad W540
Windows... ? J'connais pas...
Petits scripts vidéos bien pratiques =>
C'est le moment : OMS et Institut Pasteur !

Hors ligne

#1939 Le 07/05/2018, à 17:13

enebre

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

le-peyo a écrit :

ne fonctionne que si je le lance dans un terminal

Tu peux faire un lanceur, dans ta barre des tâche, avec la commande

sh ton_script

Il faut aussi ajouter en première ligne du script
#! /bin/sh
et un petit exit 0 en bas

Dernière modification par enebre (Le 07/05/2018, à 17:18)

Hors ligne

#1940 Le 07/05/2018, à 17:44

le-peyo

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

enebre a écrit :

Il faut aussi ajouter en première ligne du script
#! /bin/sh
et un petit exit 0 en bas

Tu fais bien de le rappeler.

Je l'avais fait (mais ne l'avais pas précisé) et c'est ce que je ne saisis pas : les deux scripts ont les mêmes droits, sont rangés au même endroit, mais celui de Kholo ne lance pas l'explorateur internet s'il est lancé avec un double clic...


Sous Linux depuis 2009 | Xubuntu 22.04 LTS | Lenovo Thinkpad W540
Windows... ? J'connais pas...
Petits scripts vidéos bien pratiques =>
C'est le moment : OMS et Institut Pasteur !

Hors ligne

#1941 Le 07/05/2018, à 17:46

enebre

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

@Kholo #1931
J'ai essayé ton script, mais j'ai un soucis lorsque la radio est une -playlist
Dans mon lanceur je dois libéler la commande comme ceci

mplayer -playlist http://www.lounge-radio.com/aacplus.m3u

Y a-t-il une possibilité pour ton script ?

Hors ligne

#1942 Le 07/05/2018, à 18:12

kholo

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

@enebre :
en fait ta radio fonctionne avec

http://nl1.lounge-radio.com:8010

wink

sinon tu remplaces mplayer par vlc (voire avec cvlc)

#!/bin/bash
#Requis vlc et Zenity

# nautilus "$PWD" ; exit 0
radioEncours=""

tuer_cvlc(){
	killall vlc 2>/dev/null
}
tuer_cvlc

radios="lounge-radio,http://www.lounge-radio.com/aacplus.m3u
Alouette_FM,http://alouette.ice.infomaniak.ch/alouette-high.mp3
RTL2,http://streaming.radio.rtl2.fr:80/rtl2-1-44-96
Nostalgie,http://cdn.nrjaudio.fm/audio1/fr/30601/mp3_128.mp3?origine=playerweb"

n=0
radioNom=()
radioFreq=()

while IFS=$'\n' read uneRadio
do
	radioNom[$n]=${uneRadio%,*}
	radioFreq[$n]=${uneRadio#*,}
	((n++))
done <<< "${radios}"

function maradio(){
	tuer_cvlc
	cvlc "${radioFreq[$1]}" &
	radioEncours=${radioNom[$1]}
}

listeRadioZenity(){
	echo "TRUE 0 ${radioNom[0]}"
	for ((m=1; m<${#radioNom[@]}; m++))
	do
		echo "FALSE $m ${radioNom[$m]}"
	done
}

while :
do
	choixType=$(
	zenity --list --radiolist --title="Mes Radios ${radioEncours}" \
	--text="radio en cours : ${radioEncours}" --height=240 \
	--ok-label="jouer radio" --cancel-label=Éteindre \
	--print-column='2' --column="Choix" --column="" --column="Radios" \
	--hide-column='2' \
	$(listeRadioZenity)
	);
# on peut gérer ça avec un if...
	case $? in
		0)	maradio $choixType ;;
		1)	tuer_cvlc ; break ;;
		# -1) break ;;
	esac
done
sleep 1
exit 0

Hors ligne

#1943 Le 07/05/2018, à 20:06

enebre

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Super, merci pour le lien.
Je vais le mettre dans ton script, je préfère mplayer wink
Comment fais-tu pour trouver, le lien ?
Je cherche pourtant pendant des heures et ne trouve pas ces pépites sad

edit : Ce n'est pas la même radio lounge !

Normalement je l'utilise avec deux trois scripts
1 ) Pour le lanceur

#!/bin/bash

PROG_NAME1="conky -c /home/ombre/.conky/conky-perso/loungeradio-linux/conkyrc"	# Nom du programme à  démarrer/arrêter.
PROG_NAME2="mplayer -playlist http://www.lounge-radio.com/aacplus.m3u" # Nom du programme à  démarrer/arrêter.

PROCESSPID1=$(pgrep -f "/home/ombre/.conky/conky-perso/loungeradio-linux/conkyrc")	# Récupère le PID du processus.
PROCESSPID2=$(pgrep -f "mplayer -playlist http://www.lounge-radio.com/aacplus.m3u")	# Récupére le PID du processus.


if [[ "$PROCESSPID1" != ""  && "$PROCESSPID2" != "" ]]; then	# Si les deux processus existe alors on le(s) kill.
        kill $PROCESSPID1 && echo "Stop $PROG_NAME1 (PID: $PROCESSPID1)"
        kill $PROCESSPID2  && echo "Stop $PROG_NAME2 (PID: $PROCESSPID2)"
else	# Si aucun processus on démarre le programme.
        kill $PROCESSPID1 
        $PROG_NAME1 & 
        echo "Start $PROG_NAME1"
        kill $PROCESSPID2  
        $PROG_NAME2 & 
        echo "Start $PROG_NAME2"
        if [[ "$PROCESSPID1" == ""  || "$PROCESSPID2" == "" ]]; then	# Si un des processus n'existe pas alors on le(s) kill.
                kill $PROCESSPID1 && echo "Stop $PROG_NAME1 (PID: $PROCESSPID1)"
                kill $PROCESSPID2  && echo "Stop $PROG_NAME2 (PID: $PROCESSPID2)"
                echo "Il y a eu un souci au lancement tout a été coupé"
        fi
fi

exit 0



#http://www.lounge-radio.com/index.php?option=com_content&task=view&id=30&Itemid=52
#http://www.lounge-radio.com/aacplus.m3u
#http://www.lounge-radio.com/listen128.m3u

2 ) Pour l'image,

conky.config = {
background = false,
use_xft = true,
-- font = 'Sans:pixelsize=12',
-- xftalpha = 1.0,
update_interval = 20.0,
total_run_times = 0,
own_window = true,
-- own_window_transparent = true,
own_window_argb_visual = true,
own_window_argb_value = 100,
own_window_type = 'normal',
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager,below',
double_buffer = true,
minimum_width = 550,
minimum_height = 490,
maximum_height = 590,
maximum_width = 550,
text_buffer_size = 512,
-- draw_shades = true,
color3 = 'green',
-- draw_outline = false,
-- draw_borders = false,
-- draw_graph_borders = true,
-- default_color = 'white',
-- gap_x = 0,
-- gap_y = 300,
-- alignment = 'top_right',
gap_x = 1385,
gap_y = 10,
imlib_cache_size = 0

}
conky.text = [[
${voffset 420}${image ~/.conky/conky-perso/loungeradio-linux/loungeradio.jpg -p 0,0 -s 550x430}${color3}${texeci 60 ~/.conky/conky-perso/loungeradio-linux/loungeradio.sh}
]]
	

Bon c'est du bricolage qu'il est possible d'améliorer, j'ai fais comme j'ai pu avec des brides de script de-ci de-là et avec l'aide des membres du forum wink

Ça me donne la vignette du morceau en cours.

1 clic sur le lanceur de la radio pour allumer la diffusion avec vignette à l'écran et un autre clic pour fermer le tout.

le 3em script pour les infos de l'artiste.

3 ) infos artiste

#!/bin/bash
    #pulling info from loung-radio.com for conky by nlinedesignz(at)web(dot)de 2013
 
    wget http://www.lounge-radio.com/code/pushed_files/now.html -O $HOME/.conky/conky-perso/loungeradio-linux/loungeradio.html >/dev/null 2>&1 &&
 
    artist=$(awk '/id="artist"/{getline; print}' $HOME/.conky/conky-perso/loungeradio-linux/loungeradio.html | sed "s/<div>\|<\/div>//g")
    album=$(awk '/id="album"/{getline; print}'   $HOME/.conky/conky-perso/loungeradio-linux/loungeradio.html | sed "s/<div>\|<\/div>//g")
    track=$(awk '/id="track"/{getline; print}'   $HOME/.conky/conky-perso/loungeradio-linux/loungeradio.html | sed "s/<div>\|<\/div>//g")
 
    wget "http://www.lounge-radio.com/code/pushed_files/$(awk '/id="covercontainer"/{print}' $HOME/.conky/conky-perso/loungeradio-linux/loungeradio.html | sed -r 's/.*src="(.*)" width=.*/\1/')" -O $HOME/.conky/conky-perso/loungeradio-linux/loungeradio.jpg #>/dev/null 2>&1 &&
#convert $HOME/.conky/conky-perso/loungeradio-linux/loungeradio.jpg -mattecolor grey -frame 2x2+1+1 \( +clone -background navy -shadow 70x7+15+25 \) +swap -background none -mosaic $HOME/.conky/conky-perso/loungeradio-linux/loungeradio.jpg
echo 
echo	 'Artist   :' $artist
echo	 'Album :' $album
echo	 'Piste   :' $track 

# https://www.dropbox.com/s/i6wx3az5ngw72y1/loungeradio-linux.zip?dl=0
#convert $HOME/.conky/conky-perso/loungeradio-linux/loungeradio.jpg -mattecolor grey -frame 2x2+1+1 \( +clone -background navy -shadow 70x7+15+25 \) +swap -background none -mosaic $HOME/.conky/conky-perso/loungeradio-linux/loungeradio_shadow.png

Dernière modification par enebre (Le 07/05/2018, à 21:00)

Hors ligne

#1944 Le 07/05/2018, à 21:19

enebre

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

@le-peyo
en effet, celui-ci que tu as donné fonctionne bien smile
J'ai fait un lanceur et pareil ça fonctionne nickel.

sh /home/ombre/.scripts/video

edit : le script de Kholo fonctionne sans &&

#! /bin/bash
SEEK=$(zenity --entry --title="Video Autoplay" --text="Que voulez-vous voir / écouter ?")
[[ $? = 0 ]] {
URL="https://www.google.fr/search?tbm=vid&q=$SEEK&btnI=J%27ai+de+la+chance&gbv=1"
xdg-open "$URL"
}
exit 0

Dernière modification par enebre (Le 07/05/2018, à 21:29)

Hors ligne

#1945 Le 07/05/2018, à 21:34

le-peyo

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

enebre a écrit :

edit : le script de Kholo fonctionne sans &&

Bien vu !

À plus.


Sous Linux depuis 2009 | Xubuntu 22.04 LTS | Lenovo Thinkpad W540
Windows... ? J'connais pas...
Petits scripts vidéos bien pratiques =>
C'est le moment : OMS et Institut Pasteur !

Hors ligne

#1946 Le 08/05/2018, à 08:43

kholo

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

@enebre : pour radio lounge, j'ai ouvert dans vlc
il y a deux liens dans la playlist
j'ai demandé les infos d'un des liens à vlc

http://nl1.lounge-radio.com:8010

Hors ligne

#1947 Le 08/05/2018, à 09:09

enebre

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Merci Kholo pour l'info.
Donc il me faudra un jour décider d'installer VLC.
Vlc prend beaucoup de cpu et de mémoire, alors que mplayer est frugal en ce domaine 1.12% cpu et 0.51% Mem

Pour le script lounge-radio avec vignette et infos, ça donne ceci:
1525767940.png

Dernière modification par enebre (Le 08/05/2018, à 09:25)

Hors ligne

#1948 Le 09/05/2018, à 01:02

zozo_serieux

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Bonjour (ou plutôt bonne nuit)
je n'ai jamais écrit de script et je désirerais de l'aide pour apprendre par l'exemple avec un besoin que j'ai:
je voudrais brancher un raspberry pi occasionnellement sur batterie mais je voudrais qu'il s'éteigne proprement lorsqu'il arrive presque au bout de la batterie.

Qu'écrire pour que
[- acpi -i se déclenche toutes les 4mn par exemple (au-dessus il y a #! /bin/sh si j'ai bien compris)
     - que cela écrive dans un fichier le résultat affiché (je suppose qu'il y a alors qqchose comme echo acpi -i >> monfichier.txt mais on fait comment s'il faut un sudo d'ailleurs dans une commande ?)
          - qu'arrivé à 5%
          - ou à 10mn d'autonomie restante
     - cela écrive aussi ce dernier résultat dans le fichier
- et éteigne dans ce cas la machine avec "sudo telinit 0" que j'utilise toujours comme commande sur mes machines sous linux] ?
(à la fin il y a exit 0 donc si j'ai suivi)

Merci d'avance car sachant ce que je désire, je vais apprendre en cherchant à comprendre si vous m'indiquez ce qu'il faut noter. Je ne suis pas informaticien mais j'ai pris l'habitude de suivre des tutoriels et de farfouiller (j'ai réussi à monter mon serveur nexcloud en suivant des tutoriels et en comprenant une grosse partie de ce que je modifiais dans les fichiers de configuration, j'utilise LaTeX pour mes documents et j'ai définitivement adopté vim et ed finalement tellement reposant pour écrire sans être perturbé par l'écran. Ce n'est pas grand chose mais j'aime la syntaxe!)

Ma nouvelle étape, des petits scripts pratiques! là je suis vraiment une quiche! alors je voudrais bien savoir smile

Dernière modification par zozo_serieux (Le 09/05/2018, à 01:06)

Hors ligne

#1949 Le 09/05/2018, à 14:47

erresse

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

@zozo_serieux:
Regarde 2 messages au-dessus du tien, kholo a écrit plein de tutoriels pour scripter. Dans sa signature, clique sur "scripts" et fais-en ton profit !


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#1950 Le 09/05/2018, à 15:50

kholo

Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)

Hors ligne