diff --git a/scrobblers/chromium/background.js b/scrobblers/chromium/background.js
index 32d4571..11d297b 100644
--- a/scrobblers/chromium/background.js
+++ b/scrobblers/chromium/background.js
@@ -207,6 +207,14 @@ class Controller {
}
}
+ backlog_scrobble() {
+ while (this.alreadyPlayed > this.currentLength) {
+ this.alreadyPlayed = this.alreadyPlayed - this.currentLength
+ var secondsago = this.alreadyPlayed
+ scrobble(this.currentArtist,this.currentTitle,this.currentLength,secondsago)
+ }
+ }
+
@@ -216,12 +224,8 @@ class Controller {
if (artist == this.currentArtist && title == this.currentTitle && !this.currentlyPlaying) {
console.log("Resuming playback of " + this.currentTitle)
- // Already played full song
- while (this.alreadyPlayed > this.currentLength) {
- this.alreadyPlayed = this.alreadyPlayed - this.currentLength
- var secondsago = this.alreadyPlayed
- scrobble(this.currentArtist,this.currentTitle,this.currentLength,secondsago)
- }
+ // Already played full song?
+ this.backlog_scrobble()
this.setUpdate()
this.currentlyPlaying = true
@@ -263,12 +267,8 @@ class Controller {
}
- // Already played full song
- while (this.alreadyPlayed > this.currentLength) {
- this.alreadyPlayed = this.alreadyPlayed - this.currentLength
- var secondsago = this.alreadyPlayed
- scrobble(this.currentArtist,this.currentTitle,this.currentLength,secondsago)
- }
+ // Already played full song?
+ this.backlog_scrobble()
this.currentlyPlaying = false
diff --git a/scrobblers/chromium/settings.html b/scrobblers/chromium/settings.html
index 6c8995b..115255c 100644
--- a/scrobblers/chromium/settings.html
+++ b/scrobblers/chromium/settings.html
@@ -29,10 +29,10 @@
Server:
-
+
API key:
-
+
Tabs:
diff --git a/scrobblers/chromium/settings.js b/scrobblers/chromium/settings.js
index fbbceed..8b2f8d2 100644
--- a/scrobblers/chromium/settings.js
+++ b/scrobblers/chromium/settings.js
@@ -1,7 +1,10 @@
+var config_defaults = {
+ serverurl:"http://localhost:42010",
+ apikey:"BlackPinkInYourArea"
+}
+
document.addEventListener("DOMContentLoaded",function() {
- document.getElementById("serverurl").addEventListener("input",updateServer);
- document.getElementById("apikey").addEventListener("input",updateAPIKey);
document.getElementById("serverurl").addEventListener("change",checkServer);
document.getElementById("apikey").addEventListener("change",checkServer);
@@ -12,15 +15,12 @@ document.addEventListener("DOMContentLoaded",function() {
chrome.runtime.onMessage.addListener(onInternalMessage);
-
- chrome.storage.local.get({"serverurl":"http://localhost:42010"},function(result) {
- document.getElementById("serverurl").value = result["serverurl"]
- checkServerMaybe()
- });
- chrome.storage.local.get({"apikey":"BlackPinkInYourArea"},function(result) {
- document.getElementById("apikey").value = result["apikey"]
- checkServerMaybe()
- });
+ chrome.storage.local.get(config_defaults,function(result){
+ for (var key in result) {
+ document.getElementById(key).value = result[key];
+ }
+ checkServer();
+ })
chrome.runtime.sendMessage({"type":"query"})
@@ -29,17 +29,6 @@ document.addEventListener("DOMContentLoaded",function() {
});
-//this makes sure only the second call actually makes a request (the first request is pointless
-//when the other element isn't filled yet and might actually overwrite the correct result because
-//of a race condition)
-var done = 0
-function checkServerMaybe() {
- done++;
- if (done == 2) {
- checkServer()
- }
-}
-
function onInternalMessage(request,sender) {
if (request.type == "response") {
players = request.content
@@ -58,17 +47,11 @@ function onInternalMessage(request,sender) {
-function updateServer() {
-
- text = document.getElementById("serverurl").value
-
-
- chrome.storage.local.set({"serverurl":text})
-}
-
-function updateAPIKey() {
- text = document.getElementById("apikey").value
- chrome.storage.local.set({"apikey":text})
+function saveConfig() {
+ for (var key in config_defaults) {
+ var value = document.getElementById(key).value;
+ chrome.storage.local.set({ [key]: value });
+ }
}
function checkServer() {