As of November 2014 I'm starting to re-write this using ember-cli and PouchDB. The system will be split into two parts, a server and a client.
Please see the 0.1.0 release for the old code.
The code in this project is under the MIT license, unless otherwise stated. Note that the data retrieved from echonest is bound by its own license.
Original idea and inspiration came from Music Box by Anita Shen Lillie.
The aim of this project is to provide everything required to build an application on top of The Echonest API using Ember and Ember CLI. The project is currently limited to providing an interface to fetch artists and songs, including basic playlisting.
Ember Echonest Adapter provides the following models:
- echonest-artist
- echonest-song
Model names are namespaced with 'echonest-' to avoid conflicts with other potential models in your application.
Ember Data convenience for Echonest Artists. For more information visit The Echonest Artist API docs
This is returns an artist profile with the buckets specified on the adapter.
this.store.find('echonest-artist', 'ARH6W4X1187B99274F')
.then(function (record) {
record.get('name'); // Radiohead
});
This is returns a list of artist profiles with the buckets specified on the adapter.
this.store.find('echonest-artist', {
name: 'Radiohead'
}).then(function (records) {
records.get('content.0.name'); // Radiohead
});
Similar artists are available via an async relationship on an echonest-artist record. This calls the similar artsist API method with the echonest-artist id.
echonestArtistRecord.get('similar')
.then(function (records) {
records; // similar artists records
});
this.store.find('echonest-song', 'ARH6W4X1187B99274F')
.then(function (record) {
record.get('artist_name'); // 'Radiohead'
record.get('title'); // 'Stay fly'
});
});
this.store.find('echonest-song', {
playlist: 'basic',
artist_id: 'ARH6W4X1187B99274F'
}).then(function (records) {
records; // playlist of songs
});
- Add echonest-genre model
- Add echonest-track model
- Allow easy configuration of buckets
- Allow configuration of similar artists API params
- Standard playlisting
- Premium playlisting
- Taste profiles
- Demo app
ember test
ember test --server
ember build
For more information on using ember-cli, visit http://www.ember-cli.com/.