From 69c25411b9f13cb6fef5f2bb40e28e1efbc7e0db Mon Sep 17 00:00:00 2001 From: Krateng Date: Fri, 17 May 2019 17:56:29 +0200 Subject: [PATCH] Added Spotify module to scrobbler --- scrobblers/chromium-generic/background.js | 9 +++++++-- scrobblers/chromium-generic/manifest.json | 2 +- scrobblers/chromium-generic/sites/spotify.js | 11 +++++++++++ scrobblers/chromium-generic/sitescript.js | 2 +- 4 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 scrobblers/chromium-generic/sites/spotify.js diff --git a/scrobblers/chromium-generic/background.js b/scrobblers/chromium-generic/background.js index fdedfca..8a9fab6 100644 --- a/scrobblers/chromium-generic/background.js +++ b/scrobblers/chromium-generic/background.js @@ -19,10 +19,15 @@ pages = { }, "YouTube Music":{ "patterns":[ - "https://music.youtube.com", - "http://music.youtube.com" + "https://music.youtube.com" ], "script":"ytmusic.js" + }, + "Spotify Web":{ + "patterns":[ + "https://open.spotify.com" + ], + "script":"spotify.js" } } diff --git a/scrobblers/chromium-generic/manifest.json b/scrobblers/chromium-generic/manifest.json index 4f73fe5..6fc345a 100644 --- a/scrobblers/chromium-generic/manifest.json +++ b/scrobblers/chromium-generic/manifest.json @@ -1,6 +1,6 @@ { "name": "Maloja Scrobbler", - "version": "1.2", + "version": "1.3", "description": "Scrobbles tracks from various sites to your Maloja server", "manifest_version": 2, "permissions": ["activeTab", diff --git a/scrobblers/chromium-generic/sites/spotify.js b/scrobblers/chromium-generic/sites/spotify.js new file mode 100644 index 0000000..23e946a --- /dev/null +++ b/scrobblers/chromium-generic/sites/spotify.js @@ -0,0 +1,11 @@ +maloja_scrobbler_selector_playbar = "//div[@class='now-playing-bar']" + + +maloja_scrobbler_selector_metadata = ".//div[@class='now-playing-bar__left']" + +maloja_scrobbler_selector_title = ".//div[contains(@class,'track-info__name')]//a/text()" +maloja_scrobbler_selector_artist = ".//div[contains(@class,'track-info__artists')]//a/text()" +maloja_scrobbler_selector_duration = ".//div[@class='playback-bar__progress-time'][2]/text()" + + +maloja_scrobbler_selector_control = ".//div[contains(@class,'player-controls__buttons')]/button[3]/@title" diff --git a/scrobblers/chromium-generic/sitescript.js b/scrobblers/chromium-generic/sitescript.js index a9b770b..0f5adb5 100644 --- a/scrobblers/chromium-generic/sitescript.js +++ b/scrobblers/chromium-generic/sitescript.js @@ -71,7 +71,7 @@ else { //stopPlayback() } else if (control == "Pause") { - console.log("Playing " + artist + " - " + title); + console.log("Playing " + artist + " - " + title + " (" + durationSeconds + " sec)"); chrome.runtime.sendMessage({type:"startPlayback",time:Math.floor(Date.now()),artist:artist,title:title,duration:durationSeconds}); //startPlayback(artist,title,durationSeconds) }