summaryrefslogtreecommitdiffstats
path: root/god/streams
diff options
context:
space:
mode:
Diffstat (limited to 'god/streams')
-rw-r--r--god/streams/.gitignore1
-rw-r--r--god/streams/Makefile6
-rw-r--r--god/streams/README10
-rw-r--r--god/streams/README.md38
-rw-r--r--god/streams/bin/helper/streamfind10
-rw-r--r--god/streams/bin/helper/streamwrite6
-rwxr-xr-xgod/streams/bin/mpdstreams (renamed from god/streams/mpdstreams)3
-rwxr-xr-xgod/streams/bin/relaxxapi.py (renamed from god/streams/relaxxapi.py)0
-rwxr-xr-xgod/streams/bin/relaxxstreams (renamed from god/streams/relaxxstreams)4
-rwxr-xr-xgod/streams/bin/stream-starter (renamed from god/streams/stream-starter)0
-rwxr-xr-x[-rw-r--r--]god/streams/bin/streams (renamed from god/streams/streams)2
-rw-r--r--god/streams/db/direct.db78
-rw-r--r--god/streams/db/stream.db (renamed from god/streams/stream.db)4
-rw-r--r--god/streams/doc/relaxxplayer.api (renamed from god/streams/relaxxplayer.api)2
14 files changed, 143 insertions, 21 deletions
diff --git a/god/streams/.gitignore b/god/streams/.gitignore
new file mode 100644
index 00000000..0d20b648
--- /dev/null
+++ b/god/streams/.gitignore
@@ -0,0 +1 @@
+*.pyc
diff --git a/god/streams/Makefile b/god/streams/Makefile
index ab5d1429..2d0056f4 100644
--- a/god/streams/Makefile
+++ b/god/streams/Makefile
@@ -4,10 +4,10 @@ streams = $(shell cut -d\ -f2 stream.db)
CURRDIR = ${PWD}
.PHONY: all $(streams)
-local: ../bin/streams
+local: ../../bin/streams
-../bin/streams:
- ln -sf $$PWD/streams ../bin/streams
+../../bin/streams:
+ ln -sf $$PWD/bin/streams ../../bin/streams
all: $(streams)
@update-rc.d groove defaults 2>/dev/null || echo "** put groove daemon in DAEMONS in /etc/rc.conf"
diff --git a/god/streams/README b/god/streams/README
deleted file mode 100644
index 82300c24..00000000
--- a/god/streams/README
+++ /dev/null
@@ -1,10 +0,0 @@
-streams done right
-
-deepmix,groovesalad and radiotux are now init.d scrips which can be
-started and stopped.
-
-scripts are dumped into /etc/init.d and groovesalad will be set as
-default via update-rc.d
-
-mplayer will be started in a tmux session either by creating a new
-session or starting a new window inside the first existing one
diff --git a/god/streams/README.md b/god/streams/README.md
new file mode 100644
index 00000000..cc763ede
--- /dev/null
+++ b/god/streams/README.md
@@ -0,0 +1,38 @@
+# streams done right(tm)
+
+There are numerous ways to start streams ( make your computer or some server
+output streamed audio). Currently implemented are:
+
+# Streams Modules
+1. pure streams - will start mpd on your local machine
+2. mpdstreams - will use a given mpd server to start a stream
+3. relaxxstreams - will contact the relaxxplayer (mpd front-end) if the direct
+ connection to the mpd is prohibited by firewall rules
+# Database
+Currently there are a number of possible streams saved in the database files
+which contain of a link, a space, and the name of the stream. the database
+can be found in db/ .
+
+Currently there are two kinds of databases:
+1. streams.db - contains links to playlists of streams
+2. direct.db - contains links directly to the stream, not the playlist
+
+to generate direct.db from a list of playlists use the helper/* scripts
+
+# initscripts
+
+the most convenient way to start streams is to use stream-starter which is
+a script which, when symlinked with a name of a stream, invokes the streams
+tool with its own name as parameter.
+
+An example:
+
+ ln -s /krebs/god/streams/bin/stream-starter /etc/init.d/groove
+ /etc/init.d/groove start
+
+# Remarks
+deepmix,groovesalad and radiotux are now init.d scrips which can be
+started and stopped.
+
+scripts are dumped into /etc/init.d and groovesalad will be set as
+default via update-rc.d
diff --git a/god/streams/bin/helper/streamfind b/god/streams/bin/helper/streamfind
new file mode 100644
index 00000000..32b84a4e
--- /dev/null
+++ b/god/streams/bin/helper/streamfind
@@ -0,0 +1,10 @@
+#!/bin/sh
+cat stream.db | while read url name;do
+ curl $url --max-time 1 2>/dev/null| sed -n 's/[fF]ile[0-9]=\(.*\)/\1/p' > "streamfinder/$name"
+ if [ "x`cat \"streamfinder/$name\"`" == "x" ];then
+ rm "streamfinder/$name"
+ echo "$name empty or not a stream"
+ else
+ echo "wrote $name"
+ fi
+done
diff --git a/god/streams/bin/helper/streamwrite b/god/streams/bin/helper/streamwrite
new file mode 100644
index 00000000..a10fb155
--- /dev/null
+++ b/god/streams/bin/helper/streamwrite
@@ -0,0 +1,6 @@
+for i in `ls -1 streamfinder/`;
+do
+ for j in `cat "$i"`;do
+ echo "$j $i" >> direct.db
+ done
+done
diff --git a/god/streams/mpdstreams b/god/streams/bin/mpdstreams
index d9132937..a2a5f77c 100755
--- a/god/streams/mpdstreams
+++ b/god/streams/bin/mpdstreams
@@ -8,9 +8,8 @@ from subprocess import Popen, PIPE
os.chdir(os.path.dirname(os.path.realpath(sys.argv[0])))
pidfile = "/tmp/krebs.stream.pid"
host="lounge.mpd.shack"
-url_file = os.environ.get("STREAM_DB", "stream.db")
+url_file = os.environ.get("STREAM_DB", "../db/stream.db")
urls = []
-#urls = [ url,f for (url,f) in open(url_file).readline() ]
for line in open(url_file):
urls.append(line.split())
#print urls
diff --git a/god/streams/relaxxapi.py b/god/streams/bin/relaxxapi.py
index f367caef..f367caef 100755
--- a/god/streams/relaxxapi.py
+++ b/god/streams/bin/relaxxapi.py
diff --git a/god/streams/relaxxstreams b/god/streams/bin/relaxxstreams
index 57cfb05b..0d3813a7 100755
--- a/god/streams/relaxxstreams
+++ b/god/streams/bin/relaxxstreams
@@ -15,9 +15,9 @@ from subprocess import Popen, PIPE
os.chdir(os.path.dirname(os.path.realpath(sys.argv[0])))
pidfile = "/tmp/krebs.stream.pid"
-baseurl="http://elab.mpd.shack/"
+baseurl="http://lounge.mpd.shack/"
url=baseurl+"include/controller-playlist.php?action=%s&value=%s&json=%s"
-url_file = os.environ.get("STREAM_DB", "direct.db")
+url_file = os.environ.get("STREAM_DB", "../db/direct.db")
urls = []
for line in open(url_file):
diff --git a/god/streams/stream-starter b/god/streams/bin/stream-starter
index 4d3a406f..4d3a406f 100755
--- a/god/streams/stream-starter
+++ b/god/streams/bin/stream-starter
diff --git a/god/streams/streams b/god/streams/bin/streams
index 65669b2d..ea6e9a90 100644..100755
--- a/god/streams/streams
+++ b/god/streams/bin/streams
@@ -5,7 +5,7 @@ from subprocess import Popen, PIPE
os.chdir(os.path.dirname(os.path.realpath(sys.argv[0])))
pidfile = "/tmp/krebs.stream.pid"
-url_file = os.environ.get("STREAM_DB", "stream.db")
+url_file = os.environ.get("STREAM_DB", "../db/stream.db")
urls = []
#urls = [ url,f for (url,f) in open(url_file).readline() ]
for line in open(url_file):
diff --git a/god/streams/db/direct.db b/god/streams/db/direct.db
new file mode 100644
index 00000000..02da4608
--- /dev/null
+++ b/god/streams/db/direct.db
@@ -0,0 +1,78 @@
+http://ice.somafm.com/groovesalad groove
+http://ice.somafm.com/u80s underground80s
+http://de.scenemusic.net/necta192.mp3 demoscene
+http://radio.krautchan.net:8000/radio.mp3 radiofreieskrautchan
+http://stream2.jungletrain.net:8000 jungletrain
+http://streams.xenim.de/radiotux.ogg radiotux
+http://localhost:8000/stream.ogg icecast
+http://localhost:8000/shice.ogg shice
+http://sfstream1.somafm.com:9090 480min
+http://mp1.somafm.com:8080 480min
+http://ice.somafm.com/480min 480min
+http://shouthostdirect11.streams.bassdrive.com:8398 bassdrive
+http://sanjose1.serverhostingcenter.streams.bassdrive.com:8600 bassdrive
+http://arces.net.streams.bassdrive.com:8000 bassdrive
+http://amsterdam1.serverhostingcenter.streams.bassdrive.com:8000 bassdrive
+http://shouthostdirect10.streams.bassdrive.com:8200 bassdrive
+http://shouthostdirect13.streams.bassdrive.com:8202 bassdrive
+http://czech1.serverhostingcenter.streams.bassdrive.com:8200 bassdrive
+http://shouthostdirect12.streams.bassdrive.com:8200 bassdrive
+http://beezle.streams.bassdrive.com:8765 bassdrive
+http://sfstream1.somafm.com:8384 beatblender
+http://sfstream1.somafm.com:8388 beatblender
+http://ice.somafm.com/beatblender beatblender
+http://sfstream1.somafm.com:8040 blackrockfm
+http://ice.somafm.com/brfm blackrockfm
+http://sfstream1.somafm.com:7000 bootliquor
+http://207.200.96.230:8014 bootliquor
+http://mp1.somafm.com:9004 bootliquor
+http://ice.somafm.com/bootliquor bootliquor
+http://sfstream1.somafm.com:8062 cliqhop
+http://mp2.somafm.com:2668 cliqhop
+http://ice.somafm.com/cliqhop cliqhop
+http://sfstream1.somafm.com:8700 covers
+http://ice.somafm.com/covers covers
+http://85.21.79.93:8040 deepmix
+http://212.7.194.133:8128 deepmix
+http://85.21.79.31:7128 deepmix
+http://69.163.134.109:8128 deepmix
+http://194.183.224.59:8128 deepmix
+http://radio.cdn.deluxemusic.tv/deluxemusic.tv/radio_web/mp3 deluxe
+http://sfstream1.somafm.com:8900 digitalis
+http://ice.somafm.com/digitalis digitalis
+http://205.234.246.42:8300 doomed
+http://sfstream1.somafm.com:8300 doomed
+http://ice.somafm.com/doomed doomed
+http://streamer-dtc-aa01.somafm.com:80/stream/1032 dronezone
+http://sfstream1.somafm.com:8014 dronezone
+http://mp2.somafm.com:8002 dronezone
+http://ice.somafm.com/dronezone dronezone
+http://sfstream1.somafm.com:8500 illstreet
+http://ice.somafm.com/illstreet illstreet
+http://sfstream1.somafm.com:8090 indypop
+http://ice.somafm.com/indiepop indypop
+http://sfstream1.somafm.com:8800 lush
+http://mp1.somafm.com:8800 lush
+http://ice.somafm.com/lush lush
+http://sfstream1.somafm.com:2020 missioncontrol
+http://mp1.somafm.com:2020 missioncontrol
+http://ice.somafm.com/missioncontrol missioncontrol
+http://sfstream1.somafm.com:2200 poptron
+http://ice.somafm.com/poptron poptron
+http://sfstream1.somafm.com:8002 secretagent
+http://mp2.somafm.com:9016 secretagent
+http://ice.somafm.com/secretagent secretagent
+http://sfstream1.somafm.com:8600 sonicuniverse
+http://mp2.somafm.com:8600 sonicuniverse
+http://ice.somafm.com/sonicuniverse sonicuniverse
+http://mp2.somafm.com:5400 southbysoma
+http://ice.somafm.com/sxfm southbysoma
+http://sfstream1.somafm.com:8000 spacestationsoma
+http://mp2.somafm.com:2666 spacestationsoma
+http://ice.somafm.com/spacestation spacestationsoma
+http://sfstream1.somafm.com:8850 suburbsofgoa
+http://ice.somafm.com/suburbsofgoa suburbsofgoa
+http://205.188.215.230:8010 tagstrip
+http://ice.somafm.com/tags tagstrip
+http://sfstream1.somafm.com:8880 underground80s
+http://ice.somafm.com/u80s underground80s
diff --git a/god/streams/stream.db b/god/streams/db/stream.db
index 2e873843..1d9b51bc 100644
--- a/god/streams/stream.db
+++ b/god/streams/db/stream.db
@@ -7,7 +7,7 @@ http://stream2.jungletrain.net:8000 jungletrain
http://playlist.tormentedradio.com/tormentedradio.pls tormented
http://filebitch.shack:8000 mpd
http://radio.krautchan.net:8000/radio.mp3 radiofreieskrautchan
-http://nl1.streamhosting.ch/listen.pls lounge
+http://nl1.streamhosting.ch:80 lounge
http://deluxetelevision.com/livestreams/radio/DELUXE_RADIO.pls deluxe
http://livestream.radiodarmstadt.de:8000 darmstadt
http://somafm.com/sxfm.pls southbysoma
@@ -26,7 +26,7 @@ http://somafm.com/bootliquor.pls bootliquor
http://somafm.com/covers.pls covers
http://somafm.com/illstreet.pls illstreet
http://somafm.com/tags.pls tagstrip
-http://somafm.com/groovesalad.pls groove
+http://somafm.com/groovesalad.pls groove
http://somafm.com/lush.pls lush
http://somafm.com/digitalis.pls digitalis
http://somafm.com/sonicuniverse.pls sonicuniverse
diff --git a/god/streams/relaxxplayer.api b/god/streams/doc/relaxxplayer.api
index 6e8af577..50d25af2 100644
--- a/god/streams/relaxxplayer.api
+++ b/god/streams/doc/relaxxplayer.api
@@ -2,7 +2,7 @@ http://lounge.mpd.shack/include/controller-playback.php?action=setCrossfade&valu
http://lounge.mpd.shack/include/controller-playback.php?action=repeat&value=1&json=null
http://lounge.mpd.shack/include/controller-playlist.php?action=clear&value=&json=null
http://lounge.mpd.shack/include/controller-playlist.php?action=addSong&value=http%3A%2F%2F212.7.194.133%3A8128&json=null
-http://lounge.mpd.shack/include/controller- playlist.php?action=getPlaylistInfo&value=0&json=
+http://lounge.mpd.shack/include/controller-playlist.php?action=getPlaylistInfo&value=0&json=
[{
"file": "http:\/\/212.7.194.133:8128",
"Title": "Max & Dima - Sapovnela Studio: Batut",