summaryrefslogtreecommitdiffstats
path: root/clerk
diff options
context:
space:
mode:
authorRasmus Steinke <rasi@xssn.at>2014-08-10 18:23:28 +0200
committerRasmus Steinke <rasi@xssn.at>2014-08-10 18:23:28 +0200
commit3a00bf407f880eedcfc655c60ee98d13d186578c (patch)
tree2a293295ef872dc28e56f028cdce98c0e0e26123 /clerk
parent2e259748784eb9e27a7206a0c501f115af6ff071 (diff)
downloadperl-app-clerk-3a00bf407f880eedcfc655c60ee98d13d186578c.tar.gz
perl-app-clerk-3a00bf407f880eedcfc655c60ee98d13d186578c.tar.xz
added rss/suspend/resume support
Diffstat (limited to 'clerk')
-rwxr-xr-xclerk48
1 files changed, 47 insertions, 1 deletions
diff --git a/clerk b/clerk
index 5cbce8a..75b2c56 100755
--- a/clerk
+++ b/clerk
@@ -359,12 +359,58 @@ managePlaylists () {
dplayQueueLoad
elif [[ "$TRACKDISPLAY" == "Save Playlist" ]]; then
dplayQueueSave
+ elif [[ "$TRACKDISPLAY" == "Load RSS Feed" ]]; then
+ loadRSS
elif [[ "$TRACKDISPLAY" == "Crop Playlist" ]]; then
mpc crop && dplayQueue
+ elif [[ "$TRACKDISPLAY" == "Suspend Playlist" ]]; then
+ suspendPlaylist
+ elif [[ "$TRACKDISPLAY" == "Resume Playlist" ]]; then
+ resumePlaylist
elif [[ "$TRACKDISPLAY" == "Clear Playlist" ]]; then
mpc clear && dplayQueue
fi
-done < <(export seperator=$seperator; echo -e "0 Return to Playlist Menu\n---\nLoad Playlist\nSave Playlist\nCrop Playlist\nClear Playlist" | dmenu_t -p "Queue")
+done < <(export seperator=$seperator; echo -e "0 Return to Playlist Menu\n---\nLoad Playlist\nSave Playlist\nLoad RSS Feed\nCrop Playlist\n---\nSuspend Playlist\nResume Playlist\n---\nClear Playlist" | dmenu_t -p "Queue > ")
+}
+
+loadRSS () {
+ while read PODCAST
+ do
+ if [[ "$PODCAST" == "0 Return to Playlist Menu" ]]; then
+ managePlaylists
+ else
+ mpc clear
+ mpc load $(cat $HOME/.config/clerk/podcasts | cut -d '\' -f 2)
+ fi
+done < <(echo -e "0 Return to Playlist Menu\n---\n$(cat $HOME/.config/clerk/podcasts | cut -d '\' -f 1)" | dmenu_t -p "Load RSS Feed > ")
+}
+
+suspendPlaylist () {
+ playing=$(! mpc status | grep playing)
+ state=$(mpc status | tail -2 | head -1)
+ time=$(echo "$state" | awk -F ' ' '{ print $NF }' | sed 's/[)(]//g')
+ song=$(mpc current --format '%file%')
+ position=$(mpc current --format '%position%')
+
+ if [[ $1 == "save" ]]; then
+ if [[ -z "$playing" ]]; then
+ echo "mpd is not playing"
+ else
+ mpc rm resume
+ mpc save resume
+ rm -f $HOME/.config/clerk/mpd_saved
+ echo "song="$song"" > $HOME/.config/clerk/mpd_saved
+ echo "pos="$position"" >> $HOME/.config/clerk/mpd_saved
+ echo "time="$time"" >> $HOME/.config/clerk/mpd_saved
+ fi
+ elif [[ $1 == "load" ]]; then
+ source $HOME/.config/clerk/mpd_saved
+ mpc clear
+ mpc load resume
+ mpc play $pos
+ sleep 2
+ mpc seek "$time"
+ fi
}
dplayQueue () {