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);
}
}
