X-Git-Url: https://git.rvb.name/mpd-lua.git/blobdiff_plain/759671cb4bae0c5a209dc4406f5e5c3b46316375..6c4cba13d034c0c7675e8f2aa3ee04ad24c911e1:/mpd.js diff --git a/mpd.js b/mpd.js index 78d9c8b..b5ff513 100644 --- a/mpd.js +++ b/mpd.js @@ -1,4 +1,4 @@ -urlbase="mpd.lua?" +urlbase="/cgi-bin/mpd.cgi?" minScrollHeight=200 currentState="" @@ -48,8 +48,12 @@ function toHHMMSS(seconds) { function RefreshTime() { if (currentSeconds) { currentTime = toHHMMSS(currentSeconds) - trackTime = toHHMMSS(trackSeconds) - nowPlayingTime = currentTime+"/"+trackTime + if (trackSeconds) { + trackTime = toHHMMSS(trackSeconds) + nowPlayingTime = currentTime+"/"+trackTime + } else { + nowPlayingTime = currentTime + } } else { nowPlayingTime = "-:--/-:--" } @@ -61,7 +65,7 @@ function PeriodicRefreshTime() { nowTime = Date.now() delta = (nowTime - updateTime)/1000 currentSeconds = updateSeconds + Math.round(delta) - if (currentSeconds > trackSeconds) { + if (trackSeconds && (currentSeconds > trackSeconds)) { currentSeconds = trackSeconds } RefreshTime() @@ -76,7 +80,14 @@ function RefreshPageStatus() { if (this.readyState != 4 || this.status != 200) return; var returnedData = JSON.parse(this.responseText); trackName = GetFilename(returnedData['current_playing']); + try { + var trackName=decodeURI(trackName).replace(/%2C/g,",") + } + catch(e) { + console.log(trackName) + } trackNo = returnedData['song']; + trackId = returnedData['songid'] currentState = returnedData['state']; document.title='MPD Player: '+trackName; if (trackNo) { @@ -121,7 +132,7 @@ function RefreshPageStatus() { var items = document.getElementById('items'); var table = items.getElementsByClassName('track'); - var current_track="track_"+trackNo; + var current_track="track_"+trackId; for (var i = 0; i < table.length; i++) { if (table[i].id==current_track) { table[i].classList.add("itemActive"); @@ -162,7 +173,13 @@ req.onreadystatechange = function () { var even = 0; for (var key in returnedData) { var rec=returnedData[key]; - var name=GetFilename(rec["name"]); + var name=GetFilename(rec["title"]); + try { + var name=decodeURI(name).replace(/%2C/g,",") + } + catch(e) { + console.log(name) + } var id=rec["id"]; if (even) { @@ -175,7 +192,7 @@ req.onreadystatechange = function () { itemsText = itemsText + "\ \ - "+(Number(id)+1)+"\ + "+(Number(key)+1)+"\ \ \ "+name+"\ @@ -214,7 +231,7 @@ req.onreadystatechange = function () { var playlistMenuText = "\ \ - \
\ + \ \
"; @@ -250,6 +267,12 @@ req.onreadystatechange = function () { } else { var tailName=name }; + try { + var tailName=decodeURI(tailName).replace(/%2C/g,",") + } + catch(e) { + console.log(tailName) + } if (type == "directory" || type == "file") { if (even) { @@ -306,7 +329,7 @@ req.onreadystatechange = function () { var returnedData = JSON.parse(this.responseText); playlistMenuText="\ \ - \
\ + \ \
";