diff --git a/Client/index.html b/Client/index.html index 591a402..4fa3aac 100644 --- a/Client/index.html +++ b/Client/index.html @@ -104,7 +104,7 @@ changes visibility with JS-->


-
+
diff --git a/Client/scripts.js b/Client/scripts.js index cda16b4..e25604c 100644 --- a/Client/scripts.js +++ b/Client/scripts.js @@ -299,11 +299,17 @@ async function displayElapsedPlaylistTime(elapsed=0,length=-1) { async function updateSingleSetting(data) { let toBeChanged = data["settingToChange"]; if (toBeChanged === "partymode") { - + document.getElementById("partymode-button").textContent = data["newData"]; } else if (toBeChanged === "perms") { - + let currentAdminPerms = data["newData"]; + document.getElementById("addsongsettingcheckbox").checked = currentAdminPerms["AS"]; + document.getElementById("skipsongsettingcheckbox").checked = currentAdminPerms["SK"]; + document.getElementById("playpausesettingcheckbox").checked = currentAdminPerms["PP"]; + document.getElementById("partymodesettingcheckbox").checked = currentAdminPerms["PM"]; + document.getElementById("volumechangesettingcheckbox").checked = currentAdminPerms["VOL"]; + document.getElementById("duplicateallowesettingcheckbox").checked = currentAdminPerms["DUP"]; } else if (toBeChanged === "volume") { - + document.getElementById("volumerange").value = data["newData"]; } } @@ -608,9 +614,10 @@ document.addEventListener('keydown', function(e){ }}) document.getElementById("playlist-mode").style.display = "none"; document.getElementById("settings-mode").style.display = "none"; -document.getElementById("volumerange").onchange = async function() { +document.getElementById("volumerange").onchange = async function(e) { // there is no reason for this not to be a defined function // FIX THIS + console.log(e); let returnValue = await getFromServer({setting:"volume",level:this.value}, "settings") if (returnValue["status"] == ERR_NO_ADMIN) { // alertText("Error: Admin restricted action"); @@ -716,6 +723,7 @@ socket.on("settingsChange",(data) => { console.log("working"); justChangedSetting = false; } else { - checkSettings(); + // checkSettings(); + updateSingleSetting(data); } }); \ No newline at end of file diff --git a/Server/webbyBits.py b/Server/webbyBits.py index 22a238c..8342e75 100644 --- a/Server/webbyBits.py +++ b/Server/webbyBits.py @@ -190,8 +190,12 @@ def settingsControl(): volumeLevel = int(recieveData["level"]) if(volumeLevel <= 100 and volumeLevel >= 0): volumePassed = player.audio_set_volume(volumeLevel) - socketio.emit("settingsChange") - return {"error":"ok","data":{"volumePassed":volumePassed}},200 + if(volumePassed == 0): + # only emit a signal i the volume really changed + socketio.emit("settingsChange",{"settingToChange":"volume","newData":volumeLevel}) + return {"error":"ok","data":{"volumePassed":volumePassed}},200 + else: + return {"error":"VLC cannot take volume change requests at this time","data":None},500 else: return {"error":"Invalid volume level","data":None},422 else: @@ -199,15 +203,16 @@ def settingsControl(): elif recieveData["setting"] == "partymode-toggle": if ADMIN_PASS == recieveData['password'] or controlPerms["PM"]: partyMode = not(partyMode) - socketio.emit("settingsChange") + partyModeStr = "On" if partyMode else "Off" + socketio.emit("settingsChange",{"settingToChange":"partymode","newData":partyModeStr}) return ERR_200 else: return ERR_NO_ADMIN elif recieveData["setting"] == "perms": if ADMIN_PASS == recieveData["password"]: - socketio.emit("settingsChange") controlPerms = recieveData["admin"] # print(recieveData["admin"]) + socketio.emit("settingsChange",{"settingToChange":"perms","newData":controlPerms}) return ERR_200 else: return ERR_NO_ADMIN