Radio Station Management in vmcMote

Q: How do I add radio stations to vmcMote?

A: Radio stations are configured on the server side. Open the base folder of your vmcMote server installation. There is a subfolder called “radio”. Inside, you will find an xml file called “radio_stations_demo.xml”, two applications and a subfolder "stations". First, remove the _demo part of the xml file. “radio_stations.xml” is the file that vmcMoteServer uses to read your configured radio stations. The xml is called _demo.xml in the download package to prevent overwriting your self created radio_station.xml on server updates.

The stations folder contains the station information. You will find a demo configuration in there. To add a new station, just copy this folder, and rename it, as you like. Inside the newly created station folder, you find a file named “station_info.xml” and a demo image. Delete the image, and copy a cover file of the station you want to add into the folder. Then, have a look into “station_info.xml”. Change the name as you want and enter the correct filename of your cover file. Replace the URL by the URL of your radio station. This needs to be the pure URL of the stream, not a stream playlist (like .m3u)! Now, the new station has to be added to the “radio_stations.xml” in the radio folder. There are two ways to do so: Either, you modify it by hand: add a new station tag and set the name to the name of the subfolder of the new station inside the stations directory. Or, you can just execute the “RadioStationsXmlGenerator.exe”. It will scan your stations folder for subfolders and automatically generate a new “radio_stations.xml”.

The order of stations can be modified by rearranging the tags in the “radio_stations.xml”.

You can always check your configuration by executing “RadioStationChecker.exe”. It will verify that “radio_stations.xml” is a proper xml file, the stations defined in it exist (their subfolders), and it will also check the consistency of each “station_info.xml” of a specified station (correctness of the xml code and also the existence of the cover image file). Please note that the stream addresses are not verified.

Q: And how do I get pure radio stream addresses from a stream specified as m3u?

A: The way I use to locate pure radio stream addresses is to open a stream URL from a website with Windows Media Player. Then, right click on the field on the bottom showing the info about the playing media, select “File” and then “Properties”. In the popup, you will find a “Location” field at the bottom that contains the pure URL of the just playing stream.
However, this does not work for some redirected Stream-URLs. The WMC is showing another URL as it is using internally (and that is what vmcMoteServer sees). In this case, vmcMote is not able to identify the track info and show the cover in the now playing view. The VLC Media Player seems to be able to get the address behind the redirect. Just open the stream with it, drop down the arrow in front of the stream in the playlist and right click on the now visible stream itself. Select media information. The URL is shown at the bottom of the popup.

Q: Where do I find radio streams?

A: There are several ways:
- You can go the website of a terrestrial radio station and look if they offer a stream.
- You could just search the web for stream addresses. They are often posted in forums.
- It’s a long time that I used MoreRadio. But, back then; it just opened stream addresses via the Media Player process used by Media Center (just as I do too). You can minimize Media Center, open Media Player and read out the properties of the playing stream as described before.

Q: Why don’t you offer a way to import my streams from the MoreRadio or McShoutCast radio plugin?

A: There could probably be ways to access the databases or config-files or whatever these plugins use to store their data, and get hold of the station information. However, I would be dependent of yet another third party. So if something changes in their data format, I would have to support multiple versions and so on. I do not have the time (due to my work) to implement it and also not to support this in a proper way. But feel free to write a converter ;-)