-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathplayer.sh
executable file
·48 lines (39 loc) · 1.55 KB
/
player.sh
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
#!/bin/bash
version='2.0.0'
player='mpv --no-video'
unamestr=`uname`
song_curl='https://radiooooo.com/play'
format='mpeg'
mode='explore'
# for osx, use play
if [[ "$unamestr" == 'Darwin' ]]; then
player='play'
fi
trap "echo Exited!; exit;" SIGINT SIGTERM
echo -e "radiooooo-cli $version - command line player for https://radiooooo.com\n"
if [ $# -lt 2 ]; then
echo "Usage: player.sh [decades] [moods] [countries]"
echo -e " - decades: contains comma-separated decade list: eg: 1920,1950,1990\n (decade can be from 1910 to 2020 in 10 year increments)"
echo -e " - moods: contains comma-separated mood list: eg: SLOW,FAST,WEIRD"
echo -e " - countries: contains comma-separated country list: eg: FRA,USA,ITA\n (3 letters country isocode eg: FRA)"
echo -e "\nexample: player.sh 1960,1980 SLOW,FAST FRA,ITA"
echo -e "\nsystem commands needed: curl, jq, mpv"
exit
fi
decades=$1
moods=$2
country=$3
q_moods=`echo \"$moods\" | sed 's/,/","/'`
q_countries=`echo \"$country\" | sed 's/,/","/'`
echo -e "Using '$player' system command\n"
while true; do
echo "Fetching a new song for $decades - $moods - $country"
json_response=`curl -s -X POST $song_curl -H "Content-Type: application/json" -d "{\"mode\":\"$mode\",\"moods\":[$q_moods],\"decades\":[$decades],\"isocodes\":[$q_countries]}"`
json_error=`echo $json_response | jq -r ".error"`
if [ "$json_error" != "null" ]; then
echo "Error: $json_error"
exit 1
fi
song_url=`echo $json_response | jq -r ".links.$format"`
$player $song_url
done