• 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 153.7k Views
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.
  • ejay-ibmE
    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

    ? Cr4z33C 2 Replies Last reply Mar 25, 2019, 7:18 PM Reply Quote 1
    • ?
      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
      • Cr4z33C
        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
        • Cr4z33C
          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. ;)

          ejay-ibmE 1 Reply Last reply Mar 27, 2019, 8:32 AM Reply Quote 0
          • ejay-ibmE
            ejay-ibm Project Sponsor Module Developer @Cr4z33
            last edited by Mar 27, 2019, 8:32 AM

            @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

            Cr4z33C 1 Reply Last reply Mar 27, 2019, 9:00 AM Reply Quote 0
            • Cr4z33C
              Cr4z33 @ejay-ibm
              last edited by Mar 27, 2019, 9:00 AM

              @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

              1 Reply Last reply Reply Quote 0
              • Cr4z33C
                Cr4z33
                last edited by Mar 27, 2019, 9:11 AM

                @ejay-ibm @Sean I noticed only now that if using allowDevices: with the Raspotify device name I can then hear the music, but somehow the module doesn’t ‘wake up’ and keeps showing the Spotify logo only.

                K Cr4z33C 2 Replies Last reply Mar 27, 2019, 5:29 PM Reply Quote 0
                • K
                  kwaeksler @Cr4z33
                  last edited by Mar 27, 2019, 5:29 PM

                  @Cr4z33 thats true. That was one of my feature request on page one. I only wanted to see the information about the song on the mirror when i play it on it. Because for other familie members the information about my playing songs arent very interessting when i am not at home. :-D

                  1 Reply Last reply Reply Quote 0
                  • K
                    kwaeksler
                    last edited by Mar 27, 2019, 5:33 PM

                    This post is deleted!
                    1 Reply Last reply Reply Quote 0
                    • K
                      kwaeksler @A Former User
                      last edited by Mar 27, 2019, 5:35 PM

                      @Sean said in MMM-Spotify:

                      updated

                      1.1.0 (2019-03-25)

                      • Added: touch(click) interface
                      • Device Limitation : Now you can allow or limit devices to display its playing on MM.
                      • Some CSS structure is changed.
                      • Now this module can emit SPOTIFY_* notifications for other module.

                      @Sean that sounds very great. I will update it later, thank you very much! :-)

                      R 1 Reply Last reply Jul 5, 2019, 3:56 PM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • 6
                      • 24
                      • 25
                      • 4 / 25
                      4 / 25
                      • First post
                        Last post
                      ads via Carbon Sell products, services, content and more with Squarespace. ads via Carbon
                      ads via Carbon
                      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

                      Looks like your connection to MagicMirror Forum was lost, please wait while we try to reconnect.

                        This website uses cookies to ensure you get the best experience on our website. Learn More