This project consists of several hacked together scripts, which generate playlists for various internet radio stations.
It was mainly born because foobar2000 doesn't support retrieving the Shoutcast radio directory, so to fix this, one rainy Sunday afternoon I started writing scripts to generate playlists which can be imported into foobar2000.
If one of the scripts broke, or you have a suggestion feel free to email me about it.
lab
with aws-eu
, aws-us
or aws-as
to use them.hq
, codec
and regional
parameters in the BBC Radio script.Multiple mirrors are not available for now. If you were using one that was listed here in the past, it most likely isn't working anymore, and you should rename them to one listed above.
URL: http://lab.rolisoft.net/playlists/shoutcast.php
Key | Default value | Valid values | Description |
---|---|---|---|
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
proxy |
false |
true false |
When set to true , generates an URL, which when accessed, downloads the playlist and redirects the client to the first stream URL. Useful when your player doesn't support playlists linking to playlists, such as foobar2000. |
resolve |
false |
true false |
When set to true , instead of linking to the playlist, downloads it and links to the first stream. This is similar to proxy , except it'll download the playlist at generation and your player won't have to deal with redirection.For ShoutCast, this is limited to 40 stations. Use proxy for more. |
api |
legacy/Top500? |
any ShoutCast API path and parameter | When the default value is in effect, the following URL will be processed:http://api.shoutcast.com/legacy/Top500?&f=xml&k=key This parameter lets you change the underlined part, so you can generate playlists for various genres, for example. Check out the ShoutCast API documentation for valid values. (Make sure to ommit &f=json and encode the value, if you're copying the examples.) |
URL: http://lab.rolisoft.net/playlists/icecast.php
Key | Default value | Valid values | Description |
---|---|---|---|
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
proxy |
false |
true false |
When set to true , generates an URL, which when accessed, downloads the playlist and redirects the client to the first stream URL. Useful when your player doesn't support playlists linking to playlists, such as foobar2000. |
resolve |
false |
true false |
When set to true , instead of linking to the playlist, downloads it and links to the first stream. This is similar to proxy , except it'll download the playlist at generation and your player won't have to deal with redirection.For IceCast, this is limited to 40 stations. Use proxy for more.As of June 2012, the script will download yp.xml and try to find the stream by title in it. However, this file is limited to 1000 unsorted entries, so a lot of streams will not be resolved by this method. |
pages |
1 |
1 - 5 |
IceCast only lists 20 stations per page, which might be a little small for a search. If you want to use resolve , the maximum number of pages is 2 which will result in 40 stations. Otherwise, it's 5 pages which will result in 100 streams. There is no pagination on the front page, so you will need to use the api parameter to browse a genre or use the search. |
api |
null | any dir.xiph.org path and parameter | Open the IceCast directory in your browser, then search for something or click on a genre. The resulting URL will be similar to this: http://dir.xiph.org/by_genre/Top40 This parameter lets you change the underlined part. By default, its value is empty, and it'll scrape the 20 stations on the front page. |
URL: http://lab.rolisoft.net/playlists/tunein.php
Key | Example values | Description |
---|---|---|
id |
g71 for smooth jazz |
Go to TuneIn.com in your browser. Select a category or genre, such as "Local radio" or "Electronic". If the page lists at least one radio station, look at the URL in your browser. It should look something like this:http://tunein.com/radio/Electronic-c57941/ Note down the underlined part. It's always the last segment in the URL, starts with a C, G, S, M or R and is followed by a number. This is your id and the generated playlist will have the stations listed on this page. |
Key | Default value | Valid values | Description |
---|---|---|---|
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
proxy |
false |
true false |
When set to true , generates an URL, which when accessed, downloads the playlist and redirects the client to the first stream URL. Useful when your player doesn't support playlists linking to playlists, such as foobar2000. |
resolve |
false |
true false |
When set to true , instead of linking to the playlist, downloads it and links to the first stream. This is similar to proxy , except it'll download the playlist at generation and your player won't have to deal with redirection.For TuneIn, this is limited to 40 stations. Use proxy for more. |
URL: http://lab.rolisoft.net/playlists/itunes.php
Key | Example values | Description |
---|---|---|
category |
top 40 |
Open your iTunes or look at this screenshot of iTunes to see the categories. Specify a regular expression which will match the category title. The first matched category will be used. For example, if you want to generate a playlist for the streams listed in the "Top 40 / Pop" section, you can either specify top 40 or pop . |
Key | Default value | Valid values | Description |
---|---|---|---|
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
proxy |
false |
true false |
When set to true , generates an URL, which when accessed, downloads the playlist and redirects the client to the first stream URL. Useful when your player doesn't support playlists linking to playlists, such as foobar2000. |
showcateg |
false |
true false |
When set to true , the category hierarchy will be prepended to the title of each stream. |
categsepr |
: |
anything | When showcateg is set to true , you can specify the character sequence to use for separating the various categories and the stream title. |
URL: http://lab.rolisoft.net/playlists/filtermusic.php
Key | Default value | Valid values | Description |
---|---|---|---|
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
category |
null |
any regex matching category title | You can specify a regular expression to filter the categories included in the generated playlist. When this is not specified, all the categories will be included. Go to FilterMusic.net in your browser, then click on "Categories" to see the list. For example, if you want to generate a playlist for stations under "Hits / Mainstream", then use hits or mainstream . If the parameter matches for multiple categories, all matching will be included. So you can generate for both "Hits / Mainstream" and "House / Dance" by using (hits|house) . |
showcateg |
false |
true false |
When set to true , the category hierarchy will be prepended to the title of each stream. |
categsepr |
: |
anything | When showcateg is set to true , you can specify the character sequence to use for separating the various categories and the stream title. |
URL: http://lab.rolisoft.net/playlists/screamerradio.php
Key | Default value | Valid values | Description |
---|---|---|---|
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
proxy |
false |
true false |
When set to true , generates an URL, which when accessed, downloads the playlist and redirects the client to the first stream URL. Useful when your player doesn't support playlists linking to playlists, such as foobar2000. |
category |
null |
any regex matching category title | You can specify a regular expression to filter the categories included in the generated playlist. When this is not specified, all the categories will be included. Go to Screamer-Radio.com in your browser, then inspect the three drop-down menu's (Select Category/Network/Country) contents. A regular expression matching a parent category will automatically include any sub-category. |
showcateg |
false |
true false |
When set to true , the category hierarchy will be prepended to the title of each stream. |
categsepr |
: |
anything | When showcateg is set to true , you can specify the character sequence to use for separating the various categories and the stream title. |
URL: http://lab.rolisoft.net/playlists/difm.php
Key | Default value | Valid values | Description |
---|---|---|---|
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
key |
null |
your listen key | When this parameter is specified, 256 Kb/s premium playlist will be generated with your listen key included in the URLs. aac , proxy and resolve are ignored when this is specified, since the premium IP addresses will be used. |
aac |
false |
true false |
Free: When set to true , the 40 Kb/s HE-AAC streams will be used instead of the 96 Kb/s MP3. This option will have an impact only on Digitally Imported streams; Sky.FM and JazzRadio.com don't have free AAC streams.Premium: When set to true , the 128 Kb/s HE-AAC streams will be used instead of the 256 Kb/s MP3. |
exclude |
null |
di sky jr |
A comma-separated list of sites to exclude from the generated playlist. For example, if you only want Digitally Imported streams, set this parameter to sky,jr . |
proxy |
false |
true false |
When set to true , generates an URL, which when accessed, downloads the playlist and redirects the client to the first stream URL. Useful when your player doesn't support playlists linking to playlists, such as foobar2000. |
resolve |
false |
true false |
When set to true , instead of linking to the playlist, downloads it and links to the first stream. This is similar to proxy , except it'll download the playlist at generation and your player won't have to deal with redirection. |
URL: http://lab.rolisoft.net/playlists/somafm.php
Key | Default value | Valid values | Description |
---|---|---|---|
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
proxy |
false |
true false |
When set to true , generates an URL, which when accessed, downloads the playlist and redirects the client to the first stream URL. Useful when your player doesn't support playlists linking to playlists, such as foobar2000. |
resolve |
false |
true false |
When set to true , instead of linking to the playlist, downloads it and links to the first stream. This is similar to proxy , except it'll download the playlist at generation and your player won't have to deal with redirection. |
URL: http://lab.rolisoft.net/playlists/977music.php
Key | Default value | Valid values | Description |
---|---|---|---|
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
aac |
false |
true false |
When set to true , the 64 Kb/s HE-AAC streams will be used instead of the 128 Kb/s MP3 streams. |
URL: http://lab.rolisoft.net/playlists/addictedtoradio.php
Key | Default value | Valid values | Description |
---|---|---|---|
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
resolve |
false |
true false |
When set to true , instead of linking to the playlist, downloads it and links to the first stream. This is similar to proxy , except it'll download the playlist at generation and your player won't have to deal with redirection.Because AddictedToRadio uses Radio Loyalty, proxy is on by default and can't be turned off. |
URL: http://lab.rolisoft.net/playlists/181fm.php
Key | Default value | Valid values | Description |
---|---|---|---|
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
proxy |
false |
true false |
When set to true , generates an URL, which when accessed, downloads the playlist and redirects the client to the first stream URL. Useful when your player doesn't support playlists linking to playlists, such as foobar2000. |
resolve |
false |
true false |
When set to true , instead of linking to the playlist, downloads it and links to the first stream. This is similar to proxy , except it'll download the playlist at generation and your player won't have to deal with redirection. |
URL: http://lab.rolisoft.net/playlists/1fm.php
Key | Default value | Valid values | Description |
---|---|---|---|
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
resolve |
false |
true false |
When set to true , instead of linking to the playlist, downloads it and links to the first stream. This is similar to proxy , except it'll download the playlist at generation and your player won't have to deal with redirection.Because 1.FM uses Radio Loyalty, proxy is on by default and can't be turned off. |
URL: http://lab.rolisoft.net/playlists/accuradio.php
Key | Default value | Valid values | Description |
---|---|---|---|
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
proxy |
false |
true false |
When set to true , generates an URL, which when accessed, downloads the playlist and redirects the client to the first stream URL. Useful when your player doesn't support playlists linking to playlists, such as foobar2000. |
resolve |
false |
true false |
When set to true , instead of linking to the playlist, downloads it and links to the first stream. This is similar to proxy , except it'll download the playlist at generation and your player won't have to deal with redirection. |
URL: http://lab.rolisoft.net/playlists/bbcradio.php
Key | Default value | Valid values | Description |
---|---|---|---|
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
proxy |
false |
true false |
When set to true , generates an URL, which when accessed, downloads the playlist and redirects the client to the first stream URL. Useful when your player doesn't support playlists linking to playlists, such as foobar2000. |
resolve |
false |
true false |
When set to true , instead of linking to the playlist, downloads it and links to the first stream. This is similar to proxy , except it'll download the playlist at generation and your player won't have to deal with redirection.BBC Radio streams contain an expiring token, therefore it's pointless to resolve all the streams because they're going to expire anyways in a few minutes. Use proxy instead, which will always provide a fresh stream. |
hq |
false |
true false |
When set to true and codec is left on aac , the playlist will be downloaded through a UK proxy and you will get the 128-320 Kb/s LC-AAC streams instead of the 56 Kb/s LC-AAC streams BBC offers for non-UK users. Can be used with both proxy and resolve . On average it adds 500 milliseconds to the resolution time of each stream, except if a proxy goes defunct, in which case you'll have to wait out the 6 second timeout period. If most or all proxies seem to be down or you can offer a better alternative, contact me. Please consider listening to the 56 Kb/s HE-AACv2 streams which sound like the 128 Kb/s LC-AAC, but are available to international users. |
codec |
aac |
aac heaac wma |
-> 56 Kb/s LC-AAC without hq and 128-320 Kb/s LC-AAC with hq -> 56 Kb/s HE-AACv2 regardless of hq -> 48 Kb/s WMA regardless of hq |
regional |
false |
true false |
When set to true , 46 regional BBC streams will be included. These are only available in 48 Kb/s WMA, regardless of codec and hq . |
URL: http://lab.rolisoft.net/playlists/nrj.php
Key | Default value | Valid values | Description |
---|---|---|---|
aac |
false |
true false |
When set to true , the 64 Kb/s AAC streams will be used instead of the 128 Kb/s MP3. |
format |
pls |
pls m3u asx xspf |
Specifies the type of playlist to generate. Unless you're having trouble with PLS files, there's no reason to change this. However, Windows Media Player doesn't support PLS. |
Downloads the specified playlist and redirects to the first stream listed in it.
Supported formats are: pls
, m3u
, asx
and xspf
.
URL: http://lab.rolisoft.net/playlists/redirect.php
Key | Example values | Description |
---|---|---|
url |
http://dir.xiph.org/listen/2019372/listen.xspf |
The playlist to download and parse. The format will be auto-detected from the content type or extension. |
Key | Default value | Valid values | Description |
---|---|---|---|
referer |
hostname of the url |
any url | Useful when the specified url has a hotlink protection and the playlist is not served from a whitelisted domain. |
Sends a RadioLoyalty.getStationConfig()
call to the amfPHP
installation on RadioLoyalty's server and redirects to the streamURL
from the response.
URL: http://lab.rolisoft.net/playlists/radioloyalty.php
Key | Example values | Description |
---|---|---|
ch |
3753 |
The ID of the channel on RadioLoyalty. Can be extracted from the URL of a RadioLoyalty pop-up player:http://player.radioloyalty.com/Universal/stationPreview.php?stationID=3753 |