Read the statement by Michael Teeuw here.
MMM-Spotify
-
@Sean well I followed your instructions so… :grimacing_face:
gAction
you say?
Ouch that’s all new to me and I guess it will take a while then… OK… :confounded_face: -
@Sean OK maybe it is my fault, but it was my understanding that this Spotify module can be also a stand-alone player?
For some reason a second try at
Michael Jackson on Spotify
made start the web player I was previously running on my computer…Does this mean that if I have Raspotify (how to set it up then?) I can actually run everything from the Pi?
-
@Cr4z33
This is not a standalone player. you need “RASPOTIFY” to play songs directly on MM.
There is some API about standalone player, but unfortunately, RPI doesn’t support that feature.
Your trial was not about this module on RPI. It was an original features of Google Assistant. -
@Sean I want them both. ;)
Voice commands to play Spotify songs STRAIGHT in MM.Thanks for confirming I am going to have some Raspotify reading now.
-
@Cr4z33 if you don’t want to use gaction like me .
I’ll share my transcription hook and command i’m using with this module and others.
It works perfectly. with raspotify. raspotify is pretty easy to install and run.transcriptionHook: { HIDE_ALL_MODULES: { pattern: "standby mode", command: "HIDEMODULES" }, SHOW_ALL_MODULES: { pattern: "show modules", command: "SHOWMODULES" }, SCREEN_ON: { pattern: "turn on screen", command: "SCREENON" }, SCREEN_OFF: { pattern: "turn off screen", command: "SCREENOFF" }, REBOOT: { pattern: "reboot the mirror", command: "REBOOT" }, SHUTDOWN: { pattern: "extinction totale", command: "SHUTDOWN" }, STOP_PLAY: { pattern: "stop the video", // this is for youtube but it is preferable to have youtubeAutoplay: false, when running spotify so you don't get interaction with youtube player. command: "STOP_VID" }, // STOP_PLAY2: { // pattern: "arrête la musique", // command: "STOP_VID" // }, SPOTIFY_PREVIOUS: { pattern: "previous song", command: "SPOTIFY_PREVIOUS" }, SPOTIFY_PAUSE: { pattern : "stop the musique", command: "SPOTIFY_PAUSE" }, SPOTIFY_PLAY: { pattern : "music please", command: "SPOTIFY_PLAY" }, SPOTIFY_NEXT: { pattern: "next song", command: "SPOTIFY_NEXT" }, SPOTIFY_VOLUME: { pattern: "set music volume to ([0-9]{1,2}[0]?|100)", command: "SPOTIFY_VOLUME" }, SPOTIFY_SEARCH: { pattern: "play (.*) on Spotify", command: "SPOTIFY_SEARCH" }, SPOTIFY_SEARCH_PLAYLIST: { pattern: "playlist (.*) on Spotify", command: "SPOTIFY_SEARCH_PLAYLIST" }, SPOTIFY_MA_PLAYLIST: { pattern: "(.*) my playlist", // (.*) is an action eg: play my playlist / run my playlist etc... command: "SPOTIFY_MA_PLAYLIST" }, SPOTIFY_TRANSFER: { pattern: "play the music on (.*)", // (.*) is the name of your device command: "SPOTIFY_TRANSFER" }, VOLUME_UP: { pattern: "volume up", command: "CMD_VOLUME_UP" }, VOLUME_DOWN: { pattern: "volume down", command: "CMD_VOLUME_DOWN" }, SET_VOLUME: { pattern: "set master volume to ([0-9]{1,2}[0]?|100)", command: "CMD_VOLUME_SET" } }, command: { STOP_VID: { moduleExec: { module: ["MMM-AssistantMk2"], exec: (module, params, key) => { module.assistant.subdom.youtube.innerHTML = ""; module.assistant.subdom.youtube.style.display = "none"; module.youtubePlaying = false; } } }, SPOTIFY_TRANSFER: { notificationExec: { notification: "SPOTIFY_TRANSFER", payload: (params) => { console.log("SPOTIFY_TRANSFER @",params) return params[1]; } } }, SPOTIFY_PAUSE: { notificationExec: { notification: "SPOTIFY_PAUSE" } }, SPOTIFY_PLAY: { notificationExec: { notification: "SPOTIFY_PLAY" } }, SPOTIFY_MA_PLAYLIST: { notificationExec: { notification: "SPOTIFY_PLAY", payload: (params) => { console.log("SPOTIFY_MA_PLAYLIST") return { context_uri:"spotify:playlist:0bdByehKVfdsfdsfdsOhF5t", // Uri of a personnal playlist or album } }, notification: "SPOTIFY_SHUFFLE", // added this to toogle shuffle notification: "SPOTIFY_NEXT" // added this to not always have the same song starting first } }, SPOTIFY_NEXT: { notificationExec: { notification: "SPOTIFY_NEXT" } }, SPOTIFY_PREVIOUS: { notificationExec: { notification: "SPOTIFY_PREVIOUS" } }, SPOTIFY_VOLUME: { notificationExec: { notification: "SPOTIFY_VOLUME", payload: (params) => { console.log("SPOTIFY_VOLUME @",params) return params[1]; } } }, SPOTIFY_SEARCH: { notificationExec: { notification: "SPOTIFY_SEARCH", payload: (params) => { console.log("SPOTIFY_SEARCH @",params) return { type: "artist,track,album,playlist", query: params[1], random:false, } } } }, SPOTIFY_SEARCH_PLAYLIST: { notificationExec: { notification: "SPOTIFY_SEARCH", payload: (params) => { console.log("SPOTIFY_SEARCH_PLAYLIST @",params) return { type: "playlist", query: params[1], random:true, } } } }, CMD_VOLUME_UP: { notificationExec: { notification: "VOLUME_UP" } }, CMD_VOLUME_DOWN: { notificationExec: { notification: "VOLUME_DOWN" } }, CMD_VOLUME_SET: { notificationExec: { notification: "VOLUME_SET", payload: (params, key) => { console.log("@", params); return params[1]; } } } },
hope this will help.
@Sean let me know if you want me to update the wiki.
Ejay
-
@ejay-ibm thanks. As your wish, my colleague.
-
@ejay-ibm thanks, but it came out that the module was already fine only I didn’t know I had to setup Raspotify if I want a stand-alone solution.
Tbh you guys should state that as I guess many here would love to run Spotify completely from the mirror, but it is not so obvious. ;)
-
@Sean @ejay-ibm can you please add the option to hide module commands?
If someone like me is using MMM-AssistantMk2 to control it then buttons aren’t needed anymore. ;) -
@Cr4z33 We have added an option to hide the control
after doing a “git pull” from : ~/MagicMirror/modules/MMM-Spotify/
you can set in your config file
control: "default", //"default", "hidden" available~
Ejay
-
@ejay-ibm nice thanks! :thumbs_up_medium_skin_tone:
Also I didn’t notice in your last reply the many Spotify’ MMM-AssistantMk2 commands you were sharing.
Thanks for that too (although GA doesn’t understand properly yet when calling a specific Playlist, but hey we can’t have everything lol). :D