config->item('base_url')?>public/scripts/audio-player/audio-player.js"> ____________________ * 5. Paste the following wherever you want the MP3 player embedded in your theme templates: ____________________ has_audio()): ?>
get_audio()?>
____________________ */ class Last_fm { function pre_db($item, $original) { //Get Title, break up, set artist and track name $track_info = explode(' – ', $item->item_title); $encoded_artist = urlencode($track_info[0]); $encoded_track = urlencode($track_info[1]); $api_key = "b289b45792952ec5faf60e486c64e8aa"; //Form Last.fm API call URL using track info $lastfm_URL = "http://ws.audioscrobbler.com/2.0/?method=track.getinfo&api_key=$api_key&artist=$encoded_artist&track=$encoded_track"; //Get Last.fm track XML $c1 = curl_init(); curl_setopt($c1, CURLOPT_RETURNTRANSFER, 1); curl_setopt($c1, CURLOPT_URL, $lastfm_URL); $lastfm_xml = curl_exec($c1); curl_close($c1); $lastfm_track = new SimpleXMLElement($lastfm_xml); //Track details $item->item_data['track_title'] = (string)($lastfm_track->track->name); $item->item_data['track_url'] = (string)($lastfm_track->track->url); $item->item_data['duration'] = (string)($lastfm_track->track->duration); $item->item_data['listeners'] = (string)($lastfm_track->track->listeners); $item->item_data['playcount'] = (string)($lastfm_track->track->playcount); $item->item_data['streamable'] = (bool)($lastfm_track->results->trackmatches->track->streamable); //Artist details $item->item_data['artist'] = (string)($lastfm_track->track->artist->name); $item->item_data['artist_url'] = (string)($lastfm_track->track->artist->url); //Album details $item->item_data['album_title'] = (string)($lastfm_track->track->album[0]->title); $item->item_data['album_url'] = (string)($lastfm_track->track->album[0]->url); $item->item_data['image_url_small'] = (string)($lastfm_track->track->album[0]->image[0]); $item->item_data['image_url_medium'] = (string)($lastfm_track->track->album[0]->image[1]); $item->item_data['image_url_large'] = (string)($lastfm_track->track->album[0]->image[2]); //Tags for ($i = 0; $i < 5; $i++) { $item->item_data['tags'][$i] = (string)($lastfm_track->track->toptags->tag[$i]->name); } //Wiki entry $item->item_data['wiki_summary'] = (string)($lastfm_track->track->wiki->summary); $item->item_data['wiki_entry'] = (string)($lastfm_track->track->wiki->content); $item->item_data['wiki_publish_date'] = (string)($lastfm_track->track->wiki->published); //Markdown content $item->item_content = '['.$item->item_data['track_title'].']('.$item->item_data['track_url'].') by ['.$item->item_data['artist'].']('.$item->item_data['artist_url'].')'; //OR HTML content (uncomment the line below and comment out the line above) //$item->item_content = ''.$item->item_data['track_title'].' by '.$item->item_data['artist'].''; //Form Seeqpod API call URL using encoded track info $seeqpod_uid = "476fca868e51f0ac7821118f4c277cb9abd97573"; $seeqpod_URL = "http://www.seeqpod.com/api/v0.2/$seeqpod_uid/music/search/$encoded_artist+$encoded_track"; //Get Seeqpod search results XML $c2 = curl_init(); curl_setopt($c2, CURLOPT_RETURNTRANSFER, 1); curl_setopt($c2, CURLOPT_URL, $seeqpod_URL); $seeqpod_xml = curl_exec($c2); curl_close($c2); $seeqpod_tracks = new SimpleXMLElement($seeqpod_xml); //Loop through Seeqpod MP3 URLs testing whether broken link for ($i = 0; $i < 10; $i++) { $mp3_URL = (string)($seeqpod_tracks->trackList->track[$i]->location); $mp3_URL = str_replace(" ", "%20", $mp3_URL); $c3 = curl_init(); curl_setopt($c3, CURLOPT_URL, $mp3_URL); curl_setopt($c3, CURLOPT_HEADER, true); curl_setopt($c3, CURLOPT_NOBODY, true); curl_setopt($c3, CURLOPT_RETURNTRANSFER, true); $header = curl_exec($c3); curl_close($c3); //For the first good MP3 found, store its URL and break loop if(strpos($header, "Content-Type: audio/mpeg")) { //MP3 File $item->item_data['audio'] = $mp3_URL; break; } } return $item; } function pre_display($item) { //If no album art, set images as blank last.fm fall-backs if(!$item->item_data['image_url_small']) { //Doesn't seem to be a small fall-back? $item->item_data['image_url_small'] = "http://cdn.last.fm/flatness/catalogue/noimage/2/default_album_medium.png"; $item->item_data['image_url_medium'] = "http://cdn.last.fm/flatness/catalogue/noimage/2/default_album_large.png"; $item->item_data['image_url_large'] = "http://cdn.last.fm/flatness/catalogue/noimage/2/default_album_large.png"; } //Change this to the image size you want $item->item_data['image'] = $item->item_data['image_url_medium']; //Prepare flash mp3 player if($item->item_data['audio']) { $item->item_data['audio'] = '

You will need Flash Player to listen.

'; } return $item; } } ?>