├── .gitignore ├── public ├── components │ ├── lists │ │ ├── tracks │ │ │ ├── tracks.directive.html │ │ │ └── tracks.directive.js │ │ ├── playlists │ │ │ ├── playlist.directive.html │ │ │ └── playlist.directive.js │ │ ├── albums │ │ │ ├── albums.directive.html │ │ │ └── albums.directive.js │ │ └── artists │ │ │ ├── artists.directive.html │ │ │ └── artists.directive.js │ ├── socket │ │ └── socket.factory.js │ ├── artist │ │ ├── artist.directive.js │ │ └── artist.directive.html │ ├── queue │ │ ├── queue.directive.js │ │ └── queue.directive.html │ ├── player │ │ ├── playbar │ │ │ ├── playbar.directive.js │ │ │ └── playbar.directive.html │ │ ├── seekbar │ │ │ ├── seekbar.directive.html │ │ │ └── seekbar.directive.js │ │ └── player.service.js │ └── album │ │ ├── album.directive.js │ │ └── album.directive.html ├── views │ ├── browse │ │ └── browse.html │ ├── search │ │ ├── search.html │ │ └── search.controller.js │ └── lyrics │ │ └── lyrics.html ├── filters │ ├── capitalize.filter.js │ └── seconds-time.filter.js ├── res │ └── img │ │ └── empty │ │ └── artist.svg ├── css │ ├── style.css │ └── style.sass ├── apis │ └── spotify.service.js └── index.html ├── .bowerrc ├── app ├── sockets │ ├── index.js │ └── player.socket.js ├── routes │ ├── index.js │ ├── radio.routes.js │ ├── artist.routes.js │ ├── search.routes.js │ ├── album.routes.js │ ├── user.routes.js │ └── track.routes.js └── services │ └── spotify.js ├── config └── keys.js ├── Gruntfile.js ├── package.json ├── server.js ├── README.md └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env -------------------------------------------------------------------------------- /public/components/lists/tracks/tracks.directive.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "public/components/" 3 | } -------------------------------------------------------------------------------- /public/components/lists/playlists/playlist.directive.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/views/browse/browse.html: -------------------------------------------------------------------------------- 1 |
Browse
-------------------------------------------------------------------------------- /app/sockets/index.js: -------------------------------------------------------------------------------- 1 | module.exports = function(io) { 2 | require('./player.socket')(io); 3 | }; -------------------------------------------------------------------------------- /public/components/lists/albums/albums.directive.html: -------------------------------------------------------------------------------- 1 |Artists
3 |Albums
8 |{{track.lyrics}}
6 | 7 |10 | Sourced from 11 | MetroLyrics 12 |
13 |{{data.name}}
10 |{{data.followers.total}} {{data.followers.total == 1 ? 'follower' : 'followers'}}
11 |{{data.name}}
31 |{{$index - Player.queue.nowPlaying.index}}
37 | 38 |{{track.artists[0].name}}
41 |{{Player.queue.source.tracks.items[Player.queue.nowPlaying.index].name}}
20 | 21 |22 | {{Player.queue.source.tracks.items[0].artists[0].name}} 23 | - 24 | {{Player.queue.source.name}} 25 |
26 |