Archive for July 2009

MPoD streaming problem – fix is in the AppStore

For version 1.3.1 of MPoD some test code got into the released version by accident. As a result people are having problems with the ‘On the go’ mode. Version 1.3.2 that restores the original functionality is posted to the AppStore and became available for download by August 2nd.

MPoD v1.3.1 available for download

Icon.pngMPoD version 1.3.1 is available in the AppStore. This version ensures that cover art will still work after August 15, and has some small improvements:


  • finer grained volume controls;
  • enabling/disabling of configured mpd outputs;
  • displaying the filename when the title tag is missing;
  • MPoD can detect when the mpd database has changed and reload its cache;
  • bugfixes in connection settings screen.

Signing Amazon Webservices requests

MPoD is retrieving cover art for the currently playing song from Amazon the AWS (Amazon Web Services). From August 15 onwards, all requests made will have to be signed using a secret key that is attached to the registered AWSAccessKeyId. Searching on Google, I found various helpful bits, especially on the learn amazon web services blog. But I didn’t find a ready made implementation that I could use directly from my code.

Based on what I found I created a helper class AWSRequestSigner, that takes a dictionary of parameters to pass to the webservice, and returns a ready made NSURL object that can be used in an NSURLRequest object as in the following example:


NSURL *url = [AWSRequestSigner urlForParameterDict:[NSDictionary dictionaryWithObjectsAndKeys:
                                               @"Sea Of Tears",        @"Title",
                                               @"Eilen Jewell",        @"Artist",
                                               @"ItemSearch",          @"Operation",
                                               @"Images",              @"ResponseGroup",
                                               @"Music",               @"SearchIndex",
                                               @"AWSECommerceService", @"Service",
                                               nil]];

To look at the source code for the AWSRequestSigner class, download it here and open it in XCode.