KarstenW.
(Themenstarter)
Anmeldungsdatum: 27. Juni 2011
Beiträge: 208
|
Hallo dAnjou, da hast Du natürlich Recht daran habe ich nicht gedacht. Werde mir mal ein paar Gedanken machen und versuchen Deinen Lösungsvorschlag umzusetzen. Vielleicht findet sich jemand der eine mögliche Lösung in das Script integrieren kann. Gruß
Karsten
|
Vain
Anmeldungsdatum: 12. April 2008
Beiträge: 2503
|
Semi-OT: Julian92 schrieb: clear löscht den Bildschirm, und das macht man unter Unix nicht. Vielleicht steht da was, was der User noch braucht.
Das hatte ich zu Beginn auch gedacht. Allerdings ist das so nicht ganz richtig, zumindest in all meinen bisherigen Scripten. Clear verschiebt im Bash-Script alles bisherige aus dem Blickfeld. Mit der Scrollbar kann man nach oben fahren und die vorherigen Ereignisse einsehen. Es täuscht also im Prinzip nur ein frisches Fenster vor.
Das hängt übrigens vom verwendeten Terminal ab. Wenn dein Terminal das so macht – gut. Aber das muss nicht immer so sein. Es reicht schon, wenn du das mal am Linux-VT (Strg+Alt+F1 und so, wissenschon) machst. Der Scrollback-Buffer ist doch schon deutlich kleiner als bei deinem (vermutlich) GNOME-Terminal. Ja, du kannst auch hier zurückscrollen – aber nicht weit. Da kann ein „clear “ hinreichend nerven. ☺
|
Ryuno-Ki
Anmeldungsdatum: 7. März 2011
Beiträge: 1105
|
Mal 'ne Frage ... Haben Server eigentlich auch Soundkarten (das sie keine GUI brauchen, weiß ich 😉) Falls ja, wäre mitunter ja eine Opion --desktop sinnvoll, die dann die Zenity-Variante aufruft ... Manch einer mag das Ding ja lieber in der Konsole bedienen 😉 Als Anregung Ryu
|
dAnjou
Anmeldungsdatum: 8. Oktober 2007
Beiträge: 872
|
Ryuno-Ki schrieb: Haben Server eigentlich auch Soundkarten (das sie keine GUI brauchen, weiß ich 😉)
Server sind so gesehen auch nur ganz normale Rechner. Und Home-Server werden sicherlich eine Soundkarte haben. Server in Rechenzentren hingegen nicht, aber da will ja auch keiner Musik hören 😉
|
xxxx
Anmeldungsdatum: 12. Oktober 2009
Beiträge: 47
|
Hi, ich habe eben etwas an Deinem Script rumgebastelt. Es verwendet in dieser Variante eine externe Senderliste:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | # Sendername Typ Parameter
Radio Vorarlberg shoutcast 1568257
Antenne Vorarlberg HD shoutcast 2301871
Antenne Vorarlberg Partymix shoutcast 1271847
Antenne Vorarlberg - Die 80er shoutcast 1280075
Antenne Vorarlberg - Schlagerkult shoutcast 1270547
Antenne Vorarlberg - Lounge shoutcast 1268946
Antenne Vorarlberg - Classic Rock shoutcast 927112
Antenne Vorarlberg - Hit shoutcast 1275817
Antenne Vorarlberg - Lovesongs shoutcast 1268893
Antenne Vorarlberg - Die 90er shoutcast 1266169
Antenne Vorarlberg - Die 70er shoutcast 2166816
Rockantenne Heavy Metal url http://mp3channels.webradio.rockantenne.de/heavy-metal.m3u
Bayern 3 url http://streams.br-online.de/bayern3_2.m3u
B5 Aktuell url http://streams.br-online.de/b5aktuell_2.m3u
|
Außerdem läuft der größte Teil des Scripts in einer Endlosschleife, anstatt wie bisher jedesmal eine neue Instanz zu starten.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 | #!/bin/bash
# Bash-Tuner
# Ein Script von Karsten Weidenfeld (2011)
SHOUTCAST_BASISURL="http://yp.shoutcast.com/sbin/tunein-station.pls?id="
# Senderliste im gleichen Verzeichnis wie das Script
SENDER_LISTE="$(dirname "$(readlink -f "$0")")/bash-tuner-senderliste"
# Senderliste im HOME-Verzeichnis
#SENDER_LISTE="$HOME/bash-tuner-senderliste"
while :; do # Beginn Endlosschleife
if ! [[ -f "$SENDER_LISTE" ]]; then
echo "Senderliste \"$SENDER_LISTE\" nicht gefunden." >&2
exit 1
fi
# Senderliste laden
SENDER_NAMEN=()
SENDER_URLS=()
i=0
while read typ parameter name; do
case "$typ" in
url)
SENDER_URLS[i]="$parameter"
;;
shoutcast)
SENDER_URLS[i]="$SHOUTCAST_BASISURL$parameter"
;;
*)
echo "Unbekannter Sendertyp \"$typ\"" >&2
continue
;;
esac
SENDER_NAMEN[i]="$name"
let i++
done < <(sed -r '/^\s*#/d;s/^(.*)\s+([[:alnum:]]+)\s+([^[:space:]]+)$/\2 \3 \1/' < "$SENDER_LISTE")
cat <<EOF
====================================
Antenne Vorarlberg @ Bash-Tuner @
http://www.Bitdome.de
====================================
EOF
# Liste ausgeben
i=1
anzahl_sender=${#SENDER_NAMEN[@]}
ziffern=${#anzahl_sender}
for sender in "${SENDER_NAMEN[@]}"; do
printf "%-${ziffern}d: $sender\n" $i
let i++
done
cat <<EOF
[url] Streamadresse eingeben und abspielen
Playersteuerung: [9] Leiser [0] Lauter [Q] Sender beenden
Bitte geben Sie die Programmnummer ein
Programm beenden mit [x]:
EOF
declare -l sendernummer
read sendernummer
if [[ $sendernummer =~ ^[0-9]+$ ]]; then
if (( sendernummer > 0 && sendernummer <= anzahl_sender )); then
mplayer -playlist "${SENDER_URLS[sendernummer-1]}"
else
echo "Senderplatz nicht belegt: $sendernummer" >&2
fi
elif [[ $sendernummer == url ]]; then
echo "Bitte geben Sie die Streamadresse ein, die abgespielt werden soll:"
read streamurl
mplayer -playlist "$streamurl"
elif [[ $sendernummer == x ]]; then
exit
fi
done # Ende der Endlosschleife
|
Ich hoffe damit kann jemand was anfangen
|
KarstenW.
(Themenstarter)
Anmeldungsdatum: 27. Juni 2011
Beiträge: 208
|
Hallo XXXX, habe gerade mal getestet und muss sagen einfach grandios wie Du das gelöst hast, habe mir schon den Kopf zerbrochen wie man das mit einer externen Datei löst in der die Sender gelistet sind. Danke für Deinen Beitrag zum Projekt. Gruß
Karsten
|
grema
Anmeldungsdatum: 27. August 2009
Beiträge: 8
|
Inhalt der datei: webradioliste.csv
1
2
3
4
5
6
7
8
9
10
11
12 | 1;Radio Vorarlberg;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1568257
2;Antenne Vorarlberg HD;http://yp.shoutcast.com/sbin/tunein-station.pls?id=2301871
3;ANTENNE VORARLBERG - Partymix;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1271847
4;ANTENNE VORARLBERG - Die 80er;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1280075
5;ANTENNE VORARLBERG - Schlagerkult;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1270547
6;ANTENNE VORARLBERG - Lounge;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1268946
7;ANTENNE VORARLBERG - Classic Rock;http://yp.shoutcast.com/sbin/tunein-station.pls?id=927112
8;ANTENNE VORARLBERG - Hit;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1275817
9;ANTENNE VORARLBERG - Lovesongs;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1268893
10;ANTENNE VORARLBERG - Die 90er;http://yp.shoutcast.com/sbin/tunein-station.pls?id=1266169
11;ANTENNE VORARLBERG - Die 70er;http://yp.shoutcast.com/sbin/tunein-station.pls?id=2166816
12;radio salue classic rock;http://tiscali.project-fx.de/play.mp3?radio=saluecrock;m
|
Das script zum abspielen 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 | #!/bin/bash
# file: bash-tuner.sh
######################
# path und dateiname ggf. anpassen
CSV_File=$HOME/webradioliste.csv
typeset -a senderurl sendername urltyp
while read Zeile
do
i=$(echo $Zeile|cut -d";" -f1)
name=$(echo $Zeile|cut -d";" -f2)
url=$(echo $Zeile|cut -d";" -f3)
typ=$(echo $Zeile|cut -d";" -f4)
echo $i" "$name|more
senderurl[$i]=$url; sendername[$i]=$name; urltyp[$i]=$typ
done < $CSV_File
echo -e "Playersteuerung: [9] Leiser [0] Lauter [Q] Sender beenden \n"
read -p "Bitte geben Sie die Programmnummer ein. Programm abbrechen mit [x]:" i
if [ "$i" == "x" ];then exit ;fi
if [ "${urltyp[$i]}" == "" ];then
mplayer -playlist ${senderurl[$i]}
else
echo -e "Keine pls, spiele mp3...\n"
mplayer `wget -O - --read-timeout 60 "${senderurl[$i]}&txt=1"`
fi
exit 0
|
Du kannst es natürlich noch etwas ausbauen. Gruss
42 😉 Nachtrag: Man beachte in der webradiolist.csv ,Eintrag 12, dahinter steht noch ein ";m" um auch andere urls zu verarbeiten
|
walaw
Anmeldungsdatum: 18. Februar 2014
Beiträge: 54
|
Hallo! Spannendes Projekt! Wurde am Bash-Tuner noch weiter gebastelt? Gibt es ähnliche alternative Projekte? Und welche Dateien sind jetzt die aktuellsten um den Bash-Tuner zu betreiben - also mit all den Aktualisierungen aus dem Thread hier? 😕
|
walaw
Anmeldungsdatum: 18. Februar 2014
Beiträge: 54
|
|
KarstenW.
(Themenstarter)
Anmeldungsdatum: 27. Juni 2011
Beiträge: 208
|
Hallo zusammen, das Bashtuner Projekt gibt es noch und die aktuelle Version finden man unter https://gist.github.com/hoodie/5746978 Von Zeit zu Zeit arbeite ich an dem Script weiter und versuche neue Ideen umzusetzen. Da ich in meiner Freizeit bei http://www.Radio-Wolke7.de als Moderator und helfende Hand in der Technik mitwirke ist es manchmal zeitlich schwierig. Paralell läuft aktuell noch ein weiteres Projekt. Auf meinem VServer baue ich gerade eine zeitgesteuerte Aufnahme Automation für ein Sendungsarchiv. Meine http://www.Radiolauscher.de Seite und http://www.Linuxfiles.de sind auch noch weitere Projekte. Bashtuner aber ist und bleibt mein Baby ☺ um das ich mich auch weiterhin kümmern werde. Grüße aus Lippstadt
Karsten
|
Drosselbart
Anmeldungsdatum: 26. August 2010
Beiträge: 34
|
Hallo, ich finde bashtuner absolut prima, Ich moechte es mit gnome-terminal -e /home/solaris/bin/bashtuner.sh -af
starten aber das klappt nicht, wo ist der Fehler? Vielen Dank! Gruss aus Essen
|
Drosselbart
Anmeldungsdatum: 26. August 2010
Beiträge: 34
|
meine Frage hat sich erledigt.
gnome-terminal -x /home/solaris/bin/bashtuner.sh -af macht was es soll
|