• 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-MplayerRadio

Scheduled Pinned Locked Moved Entertainment
46 Posts 7 Posters 14.0k Views 8 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.
  • W Offline
    wishmaster270 Module Developer
    last edited by Apr 30, 2020, 4:22 PM

    Hi,

    gave it a new try today. But i can`t get xmms2 to run on my pi. Looks like the xmms alsa plugin has some problems with my HifiBerry.
    Also tried omxplayer but it has problems with internet streams.

    E 2 Replies Last reply May 1, 2020, 11:42 AM Reply Quote 0
    • E Offline
      electros Project Sponsor @wishmaster270
      last edited by May 1, 2020, 11:42 AM

      @wishmaster270 Thank you for you still trying

      1 Reply Last reply Reply Quote 0
      • E Offline
        electros Project Sponsor @wishmaster270
        last edited by May 4, 2020, 5:49 PM

        @wishmaster270 I installed xmms2 from " Synaptic Package Manager" and I must install all xmms2 related audio plugins before this to work. So maybe this is reason for no work.
        In another way can you please show me how I can run a xxx.sh file local instead of a web link when I chose a radio station ?

        1 Reply Last reply Reply Quote 0
        • W Offline
          wishmaster270 Module Developer
          last edited by May 4, 2020, 6:41 PM

          Hi,

          my problem is that i messed up my audio configuration as i tried to configure pulseaudio to make it possible to play music either on my local HifiBerry speakers or on a bluetooth speaker.
          Mplayer still works fine but i can`t get any sound from xmms2.
          The other problem is that there are a lot of known problems of xmms2 but xmms2 is dead since 2017.
          Thats why i tried omxplayer which is still maintained.

          Currently the module supports local playlist files but not calling any other player. You can change the binary that is called but it still sets the args as mplayer will need it.

          E 1 Reply Last reply May 4, 2020, 7:20 PM Reply Quote 0
          • E Offline
            electros Project Sponsor @wishmaster270
            last edited by May 4, 2020, 7:20 PM

            @wishmaster270 Ok, I find a easy way to play a web radio with xmms2 player from a executable .sh file for that I ask you to tell me how I can run that file from your module. Now is not working my radios with mplayer.

            1 Reply Last reply Reply Quote 0
            • W Offline
              wishmaster270 Module Developer
              last edited by May 4, 2020, 8:37 PM

              It pushed a new development version to the repo.
              You can change to it if you do the following commands:

              cd ~/MagicMirror/modules/MMM-MplayerRadio
              git checkout development
              git pull
              

              In the new version you can add “customCommand” and “customCommandArgs” to either the whole module or to every station.
              You then can use any script you like to play either all stations (by passing the url to it) or a special script for each station.

              Example:

              		{
              			module: "MMM-MplayerRadio",
              			header: "Radio",
              			position: "top_center",
              			config: {
              				customCommand: "/home/pi/doSomething.bash",
              				customCommandArgs: ["one", "two", "###URL###"],
              				stations: [
              					{
              						title: "Antenne.de",
              						url: "http://www.surfmusik.de/m3u/antenne-bayern,922.m3u",
              						logo: "https://upload.wikimedia.org/wikipedia/commons/a/ac/Antenne-bayern-logo.png",
              						customCommand: "/home/pi/doSomethingElse.bash",
              						customCommandArgs: ["one", "###URL###", "three"],
              					},
              				],
              			},
              		},
              

              In this example for all stations the script “/home/pi/doSomething.bash one two http://…” is called.
              But “Antenne.de” uses the script “/home/pi/doSomethingElse.bash” with different args.

              The only condition the customCommand-Script needs to meet is that it stays active as long as the station is running and stops the playback if it gets killed.

              E 1 Reply Last reply May 5, 2020, 7:55 AM Reply Quote 0
              • E Offline
                electros Project Sponsor @wishmaster270
                last edited by electros May 5, 2020, 7:57 AM May 5, 2020, 7:55 AM

                @wishmaster270 Now if I put this in the config file:

                {
                			module: "MMM-MplayerRadio",
                			header: "Radio",
                			position: "top_center",
                			config: {
                				customCommand: "",
                				customCommandArgs: ["", "", ""],
                				stations: [
                					{
                						title: "KissFM",
                						url: "",
                						logo: "https://upload.wikimedia.org/wikipedia/ro/8/86/Logo_Kiss_FM.png",
                						customCommand: "/home/pi/MagicMirror/modules/MMM-MplayerRadio/scripts/KissFM.sh",
                						customCommandArgs: ["", "", ""],
                					},
                				],
                			},
                		},
                

                and this in KissFM.sh

                #!/bin/bash
                
                    xmms2 stop
                
                   xmms2 clear
                  
                 
                xmms2 add https://live.kissfm.ro/kissfm.aacp
                
                  xmms2 play 
                

                it’s working when i want to start radio but nothing happens when i touch the stop button just a short flickering of your module(I use a 10" touchescreen).
                Thank you.

                1 Reply Last reply Reply Quote 0
                • W Offline
                  wishmaster270 Module Developer
                  last edited by May 5, 2020, 2:35 PM

                  Hi,

                  as i wrote in the documentation you need to make sure that your script runs as long as the station is active and needs to stop the playback if it gets a kill signal.
                  Maybe i will find a short tutorial about catching the kill signal.

                  1 Reply Last reply Reply Quote 0
                  • W Offline
                    wishmaster270 Module Developer
                    last edited by wishmaster270 May 5, 2020, 3:41 PM May 5, 2020, 2:58 PM

                    If you change your script to (playRadio.bash):

                    #!/bin/bash
                    URL=$1
                    RUN=1
                    exit_script() {
                            echo "Stopping playback"
                            xmms2 stop
                            xmms2 clear
                            RUN=0
                    }
                    
                    trap exit_script SIGINT SIGTERM
                    
                    xmms2 stop
                    xmms2 clear
                    xmms2 add $URL
                    xmms2 play
                    
                    while [ $RUN -gt 0 ]; do
                            echo "Still running"
                            sleep 1
                    done
                    

                    and the config to

                    		{
                    			module: "MMM-MplayerRadio",
                    			header: "Radio",
                    			position: "top_center",
                    			config: {
                    				stations: [
                    					{
                    						title: "KissFM",
                    						url: "https://live.kissfm.ro/kissfm.aacp",
                    						logo: "https://upload.wikimedia.org/wikipedia/ro/8/86/Logo_Kiss_FM.png",
                    						customCommand: "/home/pi/MagicMirror/modules/MMM-MplayerRadio/scripts/playRadio.bash",
                    						customCommandArgs: ["###URL###"],
                    					},
                    				],
                    			},
                    		},
                    

                    You can then reuse the same script for different stations only by adding the url as first parameter in the config

                    Edit: Added url back to the config

                    E B 2 Replies Last reply May 6, 2020, 6:13 PM Reply Quote 0
                    • E Offline
                      electros Project Sponsor @wishmaster270
                      last edited by May 6, 2020, 6:13 PM

                      @wishmaster270 it’s working now thanks.

                      W 1 Reply Last reply May 6, 2020, 6:16 PM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • 3 / 5
                      3 / 5
                      • First post
                        21/46
                        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