Read the statement by Michael Teeuw here.
MMM-MplayerRadio
-
@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 ? -
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.
-
@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.
-
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 pullIn 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.
-
@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 playit’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. -
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. -
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 doneand 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
-
@wishmaster270 it’s working now thanks.
-
@electros Perfect.
I think I will check in the script into the repository so you can easy update to upcoming versions -
@wishmaster270 Thank you
-
@wishmaster270 Hi, I’m newbie and know almost nothing about coding. I have installed your module successfully, but what should I do to start it (without touchscreen)? It is shown on my mirror but not played. I put only one Station.
I want to start it automatically if I start my mirror.
Thanks. -
@bryan_1 Hi, currently there is no autoplay feature implemented. But I will check it the next days. Maybe it is not a big deal
-
Hi,
just published an new version (0.0.3) which provides an autoplay feature. Simply add the station index you want to play to the config option “autoplay”. If you only configured one station it is 0. The station will start to play after about 1 second after the mirror started.
-
hi @wishmaster270 ,
if you want me to create a vocal control with MMM-GoogleAssistant, just tell me.
I can create a special sub-code for your modulecan do:
- volume control (no api found)
- change stations (next/previous/play/toogle,etc) from your api
-
@Bugsounet Hi, great idea. At the moment my mirror is only controlled by sensors and touch.
The volume control buttons of my module only send an notification to MMM-Volume that’s way there isn’t any api in this module.
Everything else can be controlled by notifications. There is a small section about the notifications in the readme. -
@wishmaster270 wow, vielen Dank :folded_hands:
-
@wishmaster270 said in MMM-MplayerRadio:
The volume control buttons of my module only send an notification to MMM-Volume that’s way there isn’t any api in this module
ok so not needed because GA/A2D have native this function (volume control in vocal)
I can create quiclky an sample by I don’t know if you use my moduleEdit:
the problem is I can’t send real name of the radio (it’s different with the google Server response)
so i will code :SAY To GoogleAssistant NOTIFICATION Sended to MMM-MplayerRadio Function Radio play RADIO_PLAY Playing first station Radio stop RADIO_STOP Stop radio Radio Next RADIO_NEXT Next Station Radio Previous RADIO_PREVIOUS Previous Station Of course all user can change you prefered ‘sentence’ for activate each wanted control
Edit 2:
[ASSISTANT] Command RADIO_PLAY is executed (notificationExec). MMM-NotificationReceived.js:20 [Notification Sended From][MMM-GoogleAssistant] RADIO_PLAY {} [ASSISTANT] Command RADIO_STOP is executed (notificationExec). MMM-NotificationReceived.js:20 [Notification Sended From][MMM-GoogleAssistant] RADIO_STOP {} [ASSISTANT] Command RADIO_PREVIOUS is executed (notificationExec). MMM-NotificationReceived.js:20 [Notification Sended From][MMM-GoogleAssistant] RADIO_PREVIOUS {} [ASSISTANT] Command RADIO_NEXT is executed (notificationExec). MMM-NotificationReceived.js:20 [Notification Sended From][MMM-GoogleAssistant] RADIO_NEXT {}Tell me if ok, in all case notification are sended.
sample of syntax used for send :this.sendNotification("RADIO_STOP")For volume:
Vocal Control already coded with GA/A2D :volume 100%for exemple
make RPI volume to 100%
So don’t worry about this :)Notes:
GA: MMM-GoogleAssistant
A2D: MMM-Assistant2Display
too long to write lol !Sub-Code (recipe) is coded and commit in my dev branch
if some users want to test it
-
@Bugsounet Hi, thank you for your work. I checked the code, your notifications should work as planned. Play will start with the last station played or with the first one initially.
-
Hi!
my second post :)
I’ve lost my first one somewhere , sorry if you read twice :) :)I’ve raspberry with AIY voice module , magic mirror software and a little touchscreen
the touchscreen works good ( in the lego cabinet) with touch software like MMM-ModuleBar
but I can’t use the buttons below the MMM-MplayerRadio , they seems dosn’t work or send notificationthe MplayerRadio module is working , and I really like hear the music from the module but i want to use the touch buttons too 😃
i’ve used the “/etc/asound.conf” of your hints and the radio plays ok (with the “Pulse” configuration) but only if the trick below:
I put the option DisplayStatioOnStartup: true and I click on the suggested radio
(with this option = false, the radio dosn’t start or I cannot go in the menu with the radio display list)
I’ve also installed MMM-Volume module too, but the volume button I suppose have the same problem of previous , play and next buttons
Do you have any advice or hints or config example ?
thanks for reading
Roberto -
@robfer Hi, normally there is some other module covering the buttons in such cases.
You can solve this by setting z-index in your custom.css.
The higher the index the more in the foreground the module will be.The following config is part of my custom.css file:
.MMM-ImagesPhotos, .MMM-ImageSlideshow, .MMM-COVID19, .MMM-Spotify, .MMM-Temperature, .MMM-LEDStripControl { z-index: -1; } .MMM-MplayerRadio { z-index: 999; }
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login