X-Git-Url: https://git.rvb.name/mpd-lua.git/blobdiff_plain/55262d4cf0ac84eb33fafca62bdcae22a4d478b3..bf3bf92221cb7c06bcd93683db53b54b28ec31b5:/mpd.lua diff --git a/mpd.lua b/mpd.lua index 31275b6..b5e180d 100755 --- a/mpd.lua +++ b/mpd.lua @@ -182,10 +182,15 @@ if not command or command=="" then command="idle" end -if command=="play" or command=="pause" or command=="stop" or command=="previous" or command=="next" then +if command=="play" or command=="pause" or command=="stop" then res=mpd_send(m,command) +elseif command=="previous" or command=="next" then + + res=mpd_send(m,"play") + res=mpd_send(m,command) + elseif command=="idle" then m.timeout=30 @@ -203,6 +208,79 @@ elseif command=="volu" then volume=tonumber(status["volume"]) res=mpd_send(m,"setvol "..(volume+volstep)) +elseif string.starts(command,"fastfwd") then + + cmd=split(command,"|") + skip=tonumber(cmd[2]) + if not skip then + skip=15 + end + + status=mpd_send(m,"status") + rec_time=status["time"] + song=status["song"] + + if song then + + if rec_time then + rec_time=split(rec_time,":") + cur_time=tonumber(rec_time[1]) + + track_time=tonumber(rec_time[2]) + cur_time=cur_time+skip + if cur_time>track_time then + cur_time=track_time + end + + mpd_send(m,"seek "..song.." "..cur_time) + + else + + mpd_send(m,"play") + + end + + end + + res={} + +elseif string.starts(command,"rewind") then + + cmd=split(command,"|") + skip=tonumber(cmd[2]) + if not skip then + skip=15 + end + + status=mpd_send(m,"status") + rec_time=status["time"] + song=status["song"] + + if song then + + if rec_time then + rec_time=split(rec_time,":") + cur_time=tonumber(rec_time[1]) + + track_time=tonumber(rec_time[2]) + cur_time=cur_time-skip + if cur_time<0 then + cur_time=0 + end + + mpd_send(m,"seek "..song.." "..cur_time) + + else + + mpd_send(m,"play") + mpd_send(m,"previous") + + end + + end + + res={} + elseif command=="status" then res=mpd_send(m,"status") @@ -213,7 +291,8 @@ elseif command=="status" then if song then res['current_playing']=pl[song]['name'] else - res['current_playing']="No songs selected" + res['song']="--" + res['current_playing']="---" end elseif command=="playlist" then