Archive for the ‘PHP’ Category

Shoutout to fred, who pointed out that was not available for playlists on

I told him I’d give it a shot when I had some time…


Well, it turned out to be a breeze.
Some more code and params were added, but in the image the meat of the new functionality.
I tried, but unfortunately, there were no 320kbps streams available for classical radio.

Enjoy the classical tunes and keep the feedback coming!

Quality setting added

Author: sandshark

By request a quality setting has been added to

320kbps mp3 quality is only available for difm, 128kbps and below work on the other sites as well!

Enjoy! updated

Author: sandshark

As you might have noticed, I updated last week, bringing the symfony version to 3 and using an out of the  box cache component for guzzle, which made the code a whole lot less complicated.

Unfortunately due to some changes  in streaming fees for audioaddict inc. they had to disable the free streaming option.
And since it wasn’t usefull to offer the free option anymore, I decided to remove it, and simplify that part of the code as well.

I hope you’ll still enjoy the good tunes, be it paying or on trial accounts!

Channels now tested

Author: sandshark

There sometimes seems to be some strange logic in the channel keys for
Hence I created a test to see if all the generated url’s are working.

The latest result, 330 channels in 10 minutes:

Screenshot from 2015-05-24 00:35:27


For the non technical people who might be trying to understand the code, status code 200 means OK 😉


RockRadio and JazzRadio have been added and tested in the same way, 464 channels checked in 14 minutes!
Also the interface has been updated to reflect the new options with ‘moar responsiveness’.

Screenshot from 2015-05-24 15:48:51

As a premium user, one thing that bothered me is that there currently is no option to download a playlist containing all channels.
There is an option to download your favorite channels, but I just wanted all channels especially when every once in a while a new channel pops up.
And I did not want to manage my favorites all the time just to have an up to date playlist.

That is why, when I needed something to hone my symfony skills on, I decided to take the matter in my own hands and made a little script to generate all channel playlists for premium members.


So the playlist generator is born. all channels playlist


  • Generate premium playlist
  • Alphabetically sorted
  • .pls and m3u playlist formats

Planned Features

  • Add an option for non-premium users
  • Make playlists for other sites
  • Quality settings option
  • And more.

Note: This script requires your ‘ Listen Key’ when the premium option is selected, which you can find in the settings of your account

I recently found this video on youtube about using netbeans for PHP with xdebug.
Also kCacheGrind is extensively demonstrated in this video.
(They analyse a wordpress blog, aka what you are looking at)

The interesting part of course is to see what takes how many resources and or time in your functions.
I’m really considering going over all my home projects when they are done to see what can be improved.
Not only can you improve the execution time of your already existing code, this also shows witch methods or structures are better then others for certain situations.

To watch all parts in a playlist, click here.

Anonymous functions in PHP

Author: sandshark

I recently discovered that since PHP 5.3.0 there are anonymous functions, also called lambda functions available.
This is a very nice feature especially for registering a simple callback.

An example:

$func = function($value) {
 return $value * 2;

print_r(array_map($func, range(1, 5)));

More information in the PHP Documentation can be found here.

Also, im am trying to post more frequently, and soon reports of my trip to the states will come up here too.