diff --git a/MMM-MusicOnDemand.js b/MMM-MusicOnDemand.js
index 81fbb0b..40a979b 100644
--- a/MMM-MusicOnDemand.js
+++ b/MMM-MusicOnDemand.js
@@ -1,18 +1,24 @@
-var text = "Initializing...";
+var init = "Initializing...";
var Title = "";
var Artist = "";
var currentTime = "";
var maxTime = "";
-var Cover = "";
var CoverLink = "";
+var closed = false;
Module.register("MMM-MusicOnDemand",{
defaults:{
+ chromiumPath: "/usr/bin/chromium-browser", // Set: chromiumPath : null, if you want to use the puppeteer chromium
+ showCover : true,
email: "maxmustermann@email.com",
password: "MaxMusterMann"
},
+
+ getStyles: function() {
+ return ['style.css',];
+ },
start: function(){
this.sendSocketNotification("CONFIG", this.config);
@@ -20,7 +26,22 @@ Module.register("MMM-MusicOnDemand",{
getDom: function(){
var wrapper = document.createElement("div");
- wrapper.innerHTML = "
" + text + "
" + "Title: " + Title + "
" + "Artist: " + Artist + "
" + currentTime + "/" + maxTime + "
" + Cover;
+ var text = '';
+ if(!closed){
+ text += "";
+ text += "
"+ Title +" |
"+ Artist +" |
"+ init +" |
"+ currentTime + " " + maxTime + " |
";
+ if(this.config.showCover && Artist != "Deezer"){
+ text += "
";
+ }
+
+ text += "
";
+ //text = "" + init + "
" + "Title: " + Title + "
" + "Artist: " + Artist + "
" + currentTime + "/" + maxTime + "
" + Cover;
+ }else{
+ wrapper.innerHTML = "Closed";
+ wrapper.className = "dimmed light small";
+ return wrapper;
+ }
+ wrapper.innerHTML = text;
return wrapper;
},
@@ -28,38 +49,36 @@ Module.register("MMM-MusicOnDemand",{
socketNotificationReceived: function(notification, payload) {
switch(notification){
case("LogIn"):
- text = "Logging in to deezer...";
- this.updateDom();
+ closed = false;
+ init = "Logging in to deezer...";
break;
case("Ready"):
- text = "";
- this.updateDom();
+ init = "";
break;
case("Title"):
Title = payload;
- this.updateDom();
break;
case("Update"):
Artist = payload.Artist;
Title = payload.Title;
maxTime = payload.MaxTime;
currentTime = payload.CurrentTime;
- this.updateDom();
break;
case("Ads"):
Title = "Ads";
Artist = "Deezer";
Cover = "";
- this.updateDom();
case("Cover"):
CoverLink = payload;
- Cover = '
';
- this.updateDom();
+ break;
+ case("Closed"):
+ closed = true;
break;
default:
break;
}
+ this.updateDom();
},
notificationReceived: function(notification, payload, sender) {
@@ -83,13 +102,13 @@ Module.register("MMM-MusicOnDemand",{
this.sendSocketNotification("PREVIOUS", "");
break;
case("Artist"):
- this.sendSocketNotification("Artist", payload.Artist.Artist);
+ this.sendSocketNotification("Artist", payload.Artist);
break;
case("Close"):
this.sendSocketNotification("Close", "");
break;
case("Title"):
- this.sendSocketNotification("Title", payload.Title.Title);
+ this.sendSocketNotification("Title", payload.Title);
break;
default:
break;
diff --git a/img/Example.png b/img/Example.png
index 4a7991c..5a0e0cf 100644
Binary files a/img/Example.png and b/img/Example.png differ
diff --git a/node_helper.js b/node_helper.js
index 2c346da..e0bb979 100644
--- a/node_helper.js
+++ b/node_helper.js
@@ -44,20 +44,35 @@ module.exports = NodeHelper.create({
break;
}
+ },
+
+ stop : function(){
+ closeBrowser();
}
});
async function closeBrowser(){
- loggedIn = false;
- playingMusic = false;
- await page.close();
- await browser.close();
+ try{
+ loggedIn = false;
+ playingMusic = false;
+ await page.close();
+ await browser.close();
+ self.sendSocketNotification("Closed", "");
+ }catch(error){
+ console.error(error);
+ }
+
}
async function LoginDeezer(){
try{
- browser = await puppeteer.launch({ executablePath: '/usr/bin/chromium-browser', ignoreDefaultArgs: ['--mute-audio']}); // headless : false
+ if(config.chromiumPath != null){
+ browser = await puppeteer.launch({ executablePath: config.chromiumPath, ignoreDefaultArgs: ['--mute-audio']}); // headless : false
+ }else{
+ browser = await puppeteer.launch({ignoreDefaultArgs: ['--mute-audio']}); // headless : false
+ }
+
page = await browser.newPage();
await page.setDefaultNavigationTimeout(120000);
//await page.setViewport({width:200, height:80});
diff --git a/style.css b/style.css
new file mode 100644
index 0000000..6617f1f
--- /dev/null
+++ b/style.css
@@ -0,0 +1,40 @@
+.player{
+ margin : auto;
+ width:250px;
+ display: block;
+}
+
+.cover-container{
+
+}
+
+.text-container{
+
+}
+
+.cover{
+ width:250px;
+ height:250px;
+}
+
+.init{
+ font-size:28px;
+ font-weight: bold;
+ margin: 0;
+}
+
+.title{
+ font-size:20px;
+ font-weight: bold;
+ margin: 0;
+}
+
+.artist{
+ font-size:20px;
+ margin: 0px;
+}
+
+.time{
+ font-size:20px;
+ margin: 0px;
+}