• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

MMM-Spotify

Scheduled Pinned Locked Moved Entertainment
242 Posts 50 Posters 177.6k Views 53 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    Cr4z33
    last edited by Mar 25, 2019, 4:28 PM

    @Sean OK now a different issue.

    I added the MMM-AssistantMk2 needed lines, but when I say ie. Michael Jackson on Spotify nothing happens…

    Isn’t it supposed to play then straight on MagicMirror? :thinking_face:

    ? 1 Reply Last reply Mar 25, 2019, 4:33 PM Reply Quote 0
    • ? Offline
      A Former User @Cr4z33
      last edited by Mar 25, 2019, 4:33 PM

      @Cr4z33
      If you didn’t make a proper command about it (with transciptionHook or gAction - I recommend gAction because spotify would be a reserved feature of real Google Assistant but not supported on this SDK level.), you can’t.

      C 1 Reply Last reply Mar 25, 2019, 4:49 PM Reply Quote 0
      • C Offline
        Cr4z33 @Guest
        last edited by Mar 25, 2019, 4:49 PM

        @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:

        1 Reply Last reply Reply Quote 0
        • C Offline
          Cr4z33
          last edited by Mar 25, 2019, 5:04 PM

          @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?

          ? 1 Reply Last reply Mar 25, 2019, 5:12 PM Reply Quote 0
          • ? Offline
            A Former User @Cr4z33
            last edited by Mar 25, 2019, 5:12 PM

            @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.

            C 1 Reply Last reply Mar 25, 2019, 5:14 PM Reply Quote 0
            • C Offline
              Cr4z33 @Guest
              last edited by Mar 25, 2019, 5:14 PM

              @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.

              1 Reply Last reply Reply Quote 0
              • E Offline
                ejay-ibm Project Sponsor Module Developer
                last edited by Mar 25, 2019, 6:37 PM

                @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

                ? C 2 Replies Last reply Mar 25, 2019, 7:18 PM Reply Quote 1
                • ? Offline
                  A Former User @ejay-ibm
                  last edited by Mar 25, 2019, 7:18 PM

                  @ejay-ibm thanks. As your wish, my colleague.

                  1 Reply Last reply Reply Quote 0
                  • C Offline
                    Cr4z33 @ejay-ibm
                    last edited by Mar 26, 2019, 8:54 AM

                    @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. ;)

                    1 Reply Last reply Reply Quote 0
                    • C Offline
                      Cr4z33
                      last edited by Cr4z33 Mar 26, 2019, 10:35 AM Mar 26, 2019, 10:08 AM

                      @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. ;)

                      E 1 Reply Last reply Mar 27, 2019, 8:32 AM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • 24
                      • 25
                      • 3 / 25
                      3 / 25
                      • First post
                        29/242
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy