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="";
|