Pertubations FRN

J'ai bricolé pour que la passerelle FRN démarre automatiquement au démarrage du serveur.

Cet après midi j'ai un peu cassé les pieds de ceux qui étaient sur FRN, soit pas grand monde. C'est dommage qui si peu de monde utilise ce logiciel, enfin bon.

Le but des opérations était de faire en sorte que le serveur FRN ainsi que le client démarrent tout seul. Vu comme ça, ça à l'air simple mais pas du tout en fait car un fois lancé, le programme serveur réclame un appui sur le bouton Start. Le client lui demande un appui sur Connect. En plus le client FRN balance deux flux audio et il faut en désactiver un. Le démarrage de Mumble lui ne pose aucun problème.

J'ai du faire un script.

#!/bin/bash
# On se place dans le home de l'utilisateur FRN et on attend 30 secondes pour que tout soit en route.
cd /home/frn
sleep 30

# On lance le serveur FRN, on attend 10'' qu'il démarre puis on récupère son WID pour que xdotool simule un alt+s
/usr/share/playonlinux/playonlinux --run "Serveur FRN" &
sleep 10
wids=`xdotool search --name "FRN Server" | head -1`
xdotool windowfocus $wids
xdotool key alt+s

# On lance le client FRN, 10'' plus tard on récupère son WID pour xdotool qui simule un alt+c
/usr/share/playonlinux/playonlinux --run "Client FRN" &
sleep 10
widc=`xdotool search --name "Free Radio Network Client" | head -1`
xdotool windowfocus $widc
xdotool key alt+c

# Là c'est le bordel, on cherche id du flux pulseaudio de FRN qui ne sert à rien.
# Je cherche le premier flux de la carte 1 dédié à FRN
# Une fois trouvé je récupère l'id du premier flux FRN
pactl=(`pactl list sink-inputs short`)
paid=""
index=0
while [ -z $paid ]
 do
 input=${pactl[$index]}
 sink=${pactl[$index+1]}
 let "index+=7"
 if [ $sink = "1" ]
  then
  paid=$input
 fi
done

# le premier flux est à conserver
# le second à muter
pactl set-sink-input-mute $paid 0
let "paid+=1"
pactl set-sink-input-mute $paid 1

# Lancement de Mumble
mumble &

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

Ajouter un rétrolien

URL de rétrolien : http://srdl.fr/index.php?trackback/80

Haut de page