user@linuxtrack:~ $ python -c 'print("Soyez les bienvenus !")'

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

#1 15-06-2015 21:56:23

WarLocG
#! modo de compet

Radio belge

Un petit partage de ma part smile

Pour que le script puisse fonctionner, vlc et cvlc doivent etre présent.

Enjoy.

#set -x

readonly args="$@"

radio(){
  local pod=$args
  local uri=

  case $args in
    'La premiere')
        uri='http://lapremiere.ice.rtbf.be/lapremiere-128.mp3'
        echo 'La premiere' > last-radio
        ;;
    'Vivacite')
        uri='http://vivacitebruxelles.ice.rtbf.be/vivabxl-128.mp3'
        echo Vivacite > last-radio
        ;;
    'Musiq3')
        uri='http://musiq3.ice.rtbf.be/musiq3-128.mp3'
        echo Musiq3 > last-radio
        ;;
    'Classic21')
        uri='http://classic21.ice.rtbf.be/classic21-128.mp3'
        echo Classic21 > last-radio
        ;;
    'Pure FM')
        uri='http://purefm.ice.rtbf.be/purefm-128.mp3'
        echo 'Pure FM' > last-radio
        ;;
    *) if [[ -z last-radio && $(wc -l last-radio) -ne 0 ]]; then
         uri=$(cat last-radio)
       fi
       ;;
  esac
  
  cvlc --volume 120 $uri &
}

if [[ $(ps auxc | grep vlc | wc -l) -ge 1 ]]; then
   sudo killall vlc
fi

radio

Synthaxe (en admettant que le script s'appelle radio.sh):

     (La première)  sh radio.sh "La premiere"
     (Vivacité)      sh radio.sh "Vivacite"
     (Musiq3)        sh radio.sh "Musiq3"
     (Classic21)     sh radio.sh "Classic21"
     (Pure FM)      sh radio.sh "Pure FM"

Il me reste un bug cependant à corriger, en effet lorsqu'une radio est déjà lancée, le kill du stream actuel ne se fait pas encore et ca a pour conséquence que les deux stream se chevauchent.


Avant de poser vos questions, jeter un oeil ici
Mon CodeVault et Wiki : ici
Les messages privés envers le staff sont uniquement pour les cas d'urgence ou affaires privées (personnelles). Les demandes se feront exclusivement sur le forum. Merci de respecter cette clause sous peine de sanctions.

Hors ligne

#2 16-06-2015 06:41:32

IceF0x
#! Gourou Linux

Re : Radio belge

il va très bien avec ce topic http://linuxtrack.net/viewtopic.php?id=1102 ou arpinux avait mis sa version de script radio également.


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#3 21-09-2016 15:34:18

IceF0x
#! Gourou Linux

Re : Radio belge

Après la discussion de hier soir, j'ai modifié comme ceci

check fichier de conf caché
check suppression des pipe dans le test de process vlc
check changement dans la vérification du fichier .last-radio

#!/bin/bash

#set -x

readonly args="$@"

hash cvlc || sudo apt-get install vlc-nox

radio(){
  local pod=$args
  local uri=

  case $args in
    'La premiere')
        uri='http://lapremiere.ice.rtbf.be/lapremiere-128.mp3'
        echo 'La premiere' > ~/.last-radio
        ;;
    'Vivacite')
        uri='http://vivacitebruxelles.ice.rtbf.be/vivabxl-128.mp3'
        echo Vivacite > ~/.last-radio
        ;;
    'Musiq3')
        uri='http://musiq3.ice.rtbf.be/musiq3-128.mp3'
        echo Musiq3 > ~/.last-radio
        ;;
    'Classic21')
        uri='http://classic21.ice.rtbf.be/classic21-128.mp3'
        echo Classic21 > ~/.last-radio
        ;;
    'Pure FM')
        uri='http://purefm.ice.rtbf.be/purefm-128.mp3'
        echo 'Pure FM' > ~/.last-radio
        ;;
    *) if [[ -s ~/.last-radio ]]; then
         uri=$(cat ~/.last-radio)
       fi
       ;;
  esac

  cvlc --volume 120 $uri &
}

pidof vlc 
if [ "$?" -eq "0" ]
then
  killall vlc && radio
else
  radio
fi

Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#4 21-09-2016 15:47:40

penthium2
Modérateur

Re : Radio belge

faudrait dans ce style de script qui propose des install de soft de faire avant une détection d'os pour savoir si on prend : apt-get, dnf, yum, yaourt, pacman, etc... et ou un message d'erreur indiquant quel logiciel il manque.

exemple :

hash cvlc || sudo apt-get install vlc-nox || echo "please install cvlc"

Sachant qu'on rentre dans la merde que chaque distrib a un nom différent pour tel ou tel application . exemple sous fedora c'est vlc-core qui fournit cvlc.


vi est mon ami pour la vie
Viperr
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn

Hors ligne

Pied de page des forums