categories
Get the complete list of song filters - this method returns all available genres, tempos, and moods.
Parameters
- api_key - developer key
- callback (optional) - callback function name for a JSONP request
Request Example
http://developers.musicshake.com/api/categories?api_key=YOUR_API_KEY
Response Example
{ "genres":[ {"genre_id":"1","genre_name":"Pop"}, {"genre_id":"2","genre_name":"New Age"}, {"genre_id":"3","genre_name":"Rock"}, {"genre_id":"4","genre_name":"Latin"}, {"genre_id":"5","genre_name":"Electronic"}, {"genre_id":"6","genre_name":"Jazz"}, {"genre_id":"7","genre_name":"Hiphop"}, {"genre_id":"8","genre_name":"Ballad"}, {"genre_id":"9","genre_name":"R&B"}, {"genre_id":"10","genre_name":"Dance"}, {"genre_id":"11","genre_name":"Trance"}, {"genre_id":"12","genre_name":"Instrumental"} ], "tempos":[ "90", "110", "120", "140" ], "moods":[ {"mood_id":"1","mood_name":"Cloudy"}, {"mood_id":"2","mood_name":"Hopeful"}, {"mood_id":"3","mood_name":"Fresh"}, {"mood_id":"4","mood_name":"Dramatic"}, {"mood_id":"5","mood_name":"Anticipation"}, {"mood_id":"6","mood_name":"Calm"}, {"mood_id":"7","mood_name":"Comfort"}, {"mood_id":"8","mood_name":"Romantic"}, {"mood_id":"9","mood_name":"Holiday"}, {"mood_id":"10","mood_name":"Melancholy"}, {"mood_id":"11","mood_name":"Warm"}, {"mood_id":"12","mood_name":"Gentle"}, {"mood_id":"13","mood_name":"Energetic"}, {"mood_id":"14","mood_name":"Freedom"}, {"mood_id":"15","mood_name":"Leisurely"}, {"mood_id":"16","mood_name":"Lonesome"}, {"mood_id":"17","mood_name":"Wedding"}, {"mood_id":"18","mood_name":"Sad"}, {"mood_id":"19","mood_name":"Passionate"} ] }
ActionScript Example
import com.adobe.serialization.json.JSON;
import flash.net.URLLoader;
import flash.events.Event;
import flash.events.IOErrorEvent;
private function loadCategories():void
{
var requestURL:String = "http://developers.musicshake.com/api/categories?api_key=YOUR_API_KEY";
var ul:URLLoader = new URLLoader();
ul.addEventListener(IOErrorEvent.IO_ERROR, onURLLoaderError);
ul.addEventListener(Event.COMPLETE, onURLLoaderComplete);
try {
ul.load(new URLRequest(requestURL));
} catch (error:SecurityError) {
}
}
private function onURLLoaderError(error:Error):void
{
}
private function onURLLoaderComplete(event:Event):void
{
var o:Object = JSON.decode(event.target.data);
for each (var genre:Object in o.genres) {
trace("id=" + genre.genre_id + ", name="+genre.genre_name);
}
for each (var tempo:Object in o.tempos) {
trace(tempo);
}
for each (var mood:Object in o.moods) {
trace("id="+mood.mood_id + ", name="+mood.mood_name);
}
}