3ED Blog

24 lutego, 2009

Dradio ("radio" na ncurses)

Napisane w: Internet, Linux, Skrypty (1)

Ostatnio niechcący natrafiłem w polskim repo Archa na mały skrypt o nazwie "radio", trochę on mało wygodny pomyślałem, z ciekawości zajrzałem do środka, to co zobaczyłem wzbudziło we mnie "fuj" (o gustach się nie dyskutuje). Pod wpływem chwili napisałem ten skrypt, dłużej pisałem ten komentarz, może to przez późną porę 3:30 w nocy. Wracając do skryptu: użytkownik dostaje prosty konfig (możliwość dodania swoich stacji), interface na ncurses, posortowaną listę, itd.

Kod programu:

#!/bin/bash
##################################################################
# Nazwy i adresy stacji radiowych zaczerpnięte ze skryptu:       #
# http://www.supermegazord.pl/paczki/radio/                      #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Autor: 3ED <krzysztof1987@gmail.com>  http://3ed.jogger.pl/    #
##################################################################

# Lokalizacje radiowych list
for i in "/usr/share/dradio/dradio.lista" "$HOME/.dradio.lista"; do
	if [ -r "$i" ]; then . $i; fi
done

play() {
	dialog --infobox 'Odtwarzam strumień:
'"$2"'

>>> '"$1"' <<<

Aby przerwac i powrocic do menu nacisnij "q"
Regulacja glosnosci "vol- 9" i "vol+ 0"
Pauza "p", wyciszenie "m"' 10 50
mplayer -really-quiet $2 &> /dev/null
}

typeset tmp=/tmp/.radio.name
typeset -i e=0

until [ "$e" != "0" ]; do
	e=1
	eval $(echo 'dialog --cancel-label "Zakończ" --ok-label "Odtwarzaj" --menu "Wybierz stację" 24 40 40 '$(
		for i in ${!NAME[*]}; do echo '"'"${NAME[$i]}"'" ""'; done|sort
	)' 2> $tmp; e=$?')
	if [ "$e" != "0" ]; then
		break
	else
		e=1
	fi
	NAMESEL="$(cat $tmp)"
	for i in ${!NAME[*]}; do
		if [ "${NAME[$i]}" = "${NAMESEL}" ]; then
			e=0
			play "${NAME[$i]}" "${ADRESS[$i]}"
		fi
	done
done
clear

Lista stacji radiowych:

# /usr/share/dradio/dradio.lista
#  Konfiguracja radiowej listy

NAME+=("Radio Zet")
ADRESS+=("http://www.radiozet.pl/content/stream/radiozet.pls")

NAME+=("RMF FM")
ADRESS+=("http://213.251.141.62:8000/")

NAME+=("POLSKASTACJA Best of 80 90")
ADRESS+=("http://polskastacja.pl/play/aac_np.pls")

NAME+=("Radio Złote Przeboje")
ADRESS+=("http://lodz.radio.pionier.net.pl:8000/pl/zloteprzeboje.ogg")

NAME+=("Polskastacja Muzyka na Topie")
ADRESS+=("http://polskastacja.pl/play/aac_mnt.pls")

NAME+=("Planeta fm")
ADRESS+=("http://213.251.141.82:8150")

NAME+=("Radiostacja")
ADRESS+=("http://213.251.141.82:8150")

NAME+=("Radio Eska")
ADRESS+=("http://warszawa1-1.radio.pionier.net.pl:8000/eska-warszawa.ogg")

NAME+=("Antyradio")
ADRESS+=("http://213.251.138.121:7000")

NAME+=("Tylko Polskie Przeboje")
ADRESS+=("http://polskastacja.pl/play/aac_tpp.pls")

NAME+=("Best stacja")
ADRESS+=("http://www.beststacja.net.pl/48.m3u")

NAME+=("TOK FM")
ADRESS+=("http://sask1-3.radio.pionier.net.pl:8000/pl/radiotok.ogg")

NAME+=("Jungletrain")
ADRESS+=("http://stream1.jungletrain.net:8000")

NAME+=("Bassdrive")
ADRESS+=("http://uk.streams.bassdrive.com:8000")

NAME+=("Radio Team")
ADRESS+=("http://www.emiter.teamradio.pl:8095")

NAME+=("Art Radio")
ADRESS+=("http://www.radioart.pl/radioART_jedynka.m3u")

NAME+=("Radio Luz")
ADRESS+=("http://radioluz.pwr.wroc.pl/listen.pls")

NAME+=("Radio Afera")
ADRESS+=("http://lodz.radio.pionier.net.pl:8000/pl/afera.ogg")

NAME+=("Radio Akadera")
ADRESS+=("http://lodz.radio.pionier.net.pl:8000/pl/akadera.ogg")

NAME+=("Radio Centrum")
ADRESS+=("http://www.centrum.fm/ogg96.m3u")

NAME+=("Roxyfm")
ADRESS+=("http://lodz.radio.pionier.net.pl:8000/pl/roxyfm.ogg")

NAME+=("Radio horyzont")
ADRESS+=("http://radiohoryzont.net:9050")

NAME+=("Radio merkury")
ADRESS+=("http://lodz.radio.pionier.net.pl:8000/pl/merkury.ogg")

NAME+=("Radio kolor")
ADRESS+=("http://radiokolor.streamhost.pl:8074")

NAME+=("Idobi Radio")
ADRESS+=("http://72.13.82.202:80")

NAME+=("Radio Zak")
ADRESS+=("http://lodz.radio.pionier.net.pl:8000/radiozak.ogg")

NAME+=("Radio dla Ciebie")
ADRESS+=("http://sc9232.xpx.pl:9232")

NAME+=("Nectarine")
ADRESS+=("http://nectarine.sik.fi:8002/live.mp3")

NAME+=("Radio Wa Ma")
ADRESS+=("http://213.251.139.121:9500")

NAME+=("Radio Ławeczka")
ADRESS+=("http://www.laweczka.net/laweczka.m3u")

NAME+=("Radio Maryja")
ADRESS+=("mms://195.94.205.211/rm")

Komentarze do wpisu "Dradio ("radio" na ncurses)":

1 | nielodzki

18 stycznia 2011, 01:26:41

favicon

dzieki za pomoc- teraz bedzie mozna sobie żaka przez internet posłuchać^^

2 | 3ED

09 lutego 2011, 13:49:33

favicon

Dobrze słyszeć, że kogoś to interesuje. :)

Dodaj komentarz

Markdown ( szczegółowy opis znaczników ):
*em* | 1. lista 2. numerowana | * lista wypunktowana | _strong_ | [link](http://) | | > cytat.
  • Zapowiedź świata post-nielegalnej kopii

    "Do napisania tego tekstu zainspirowała mnie duża liczba dyskusji przeprowadzonych na forach internetowych z różnymi ludźmi na temat oblicza piractwa komputerowego nielegalnego kopiowania oraz natury własności intelektualnej. Przy okazji tych dyskusji wypłynęła masa nieścisłości i dziur w obrazie rzeczywistości prezentowanym ludzkości przez organizacje takie jak ZAIKS, RIAA, MPAA, MAFIAA i różnorakich korporacyjnych lobbystów. Ponieważ nie znoszę kłamstw i niesprawiedliwości, postanowiłem, że nie będę dłużej tolerował panoszenia się fałszywej propagandy i napiszę ten artykuł, będący zwieńczeniem kilku lat przemyśleń, wspomnianych już dyskusji i argumentów użytych przez obie strony barykady."

    (Więcej..) osnews.pl [LINK]

  • Czy w projektach publicznych można kierować się zasadami ekonomii?

    "W dyskusjach nad racjonalnością ekonomiczną projektów informatycznych w administracji publicznej jest często pada argument, że "administracja publiczna nie kieruje się zasadą maksymalizacji zysku". Często to jest to tylko wygodna wymówka by odrzucić wszelkie próby obiektywizacji lub racjonalizacji wydatków publicznych."

    ipsec.pl[LINK]

  • Oszczędne państwo rozwijające swój rynek.. NIE!

    "Jesteśmy bogatym krajem. Nie musimy szukać tańszych, stabilniejszych i bezpieczniejszych rozwiązań w administracji publicznej, która wychodzi z założenia, że nie warto wspierać "małych i średnich przedsiębiorstw innowacyjnych" w Polsce."

    "Oto fakty!" na pppit.org.pl [LINK]

  • Android 1.0 działa na Qualcomm

    "Wszystko wskazuje na to, iż otwarty system Android przeznaczony na urządzenia mobilne działa na urządzeniu firmy Qualcomm."

    Filmiki z działającym androidem, trzeba to zobaczyć.

    OSNews.pl [LINK]

  • Rzeczpospolita windowsowa

    "Co by się działo, gdyby rząd zadekretował, że jedynym autem dopuszczonym na polskie drogi jest fiat albo citroën? A jednak pozwalamy, by państwo zmuszało nas do używania systemu operacyjnego Microsoftu"

    Gazeta wyborcza [LINK]

  • Wolność komputerów

    Czy programy pisane przez hobbistów mogą być równie dobre jak te tworzone przez wielkie koncerny? Ile rzeczywiście płacą za oprogramowanie zwykli użytkownicy i firmy? I czy w ogóle muszą za nie płacić?

    Rzeczpospolita [LINK]

  • Chiński UMPC z Linuksem

    Kto mi kupi takie cacko? :)

    Linux.pl [LINK]

  • Kto to jest własnowierca?

    "Propagujemy ideę zniesienia religijnego poddaństwa, zakazania poddawania dzieci religijnemu praniu mózgu i zapisywania ich do sekt i kościołów bez ich świadomej zgody. Informujemy o szkodliwych skutkach niewolnictwa religijnego. Służymy radami, jak wystąpić formalnie i duchowo z Kościoła. A przede wszystkim zmuszamy do myślenia! Jesteśmy religijnymi wyzwoleńcami niezależnymi od osób czerpiących zyski z kontroli nad ludzkimi umysłami i wierzeniami. Nowego, lepszego świata nie można zbudować na gruncie dyktatorskich tworów religijnych. Chcesz się od nich uniezależnić? Przyłącz się do nas! Zostań własnowiercą!"

    A ja pytam osochozi? Co oznacza słowo własnowierca? W co wiara? Z niektórych tekstów na tej stronie wynikać może że od tego przybywa nam sekt (w przeciwieństwie do ateizmu, który je potępia)..

    wlasnowierca.go.pl [LINK]

Foto

O blogu

3ED Blog - na różne tematy ale głównie w okół Linuksa.. Internetowy notatnik pisany w wolnych chwilach. Nie oczekuje zysku, dużej widowni - po prostu zapisuje tu to co mi przyjdzie do głowy.. Oczywiście komentarzem możesz dać mi temat do czego zachęcam.