Standardizing bracket syntax
This commit is contained in:
@ -41,7 +41,7 @@ export function debug(call, value){
|
||||
* Playback-oriented actions
|
||||
**/
|
||||
|
||||
export function changeTrack( tlid ){
|
||||
export function changeTrack(tlid){
|
||||
return instruct('playback.play', {tlid: tlid})
|
||||
}
|
||||
|
||||
@ -84,13 +84,13 @@ export function playAlbum(uri){
|
||||
}
|
||||
}
|
||||
|
||||
export function removeTracks( tlids ){
|
||||
export function removeTracks(tlids){
|
||||
return instruct('tracklist.remove', {tlid: tlids})
|
||||
}
|
||||
|
||||
export function reorderTracklist( indexes, insert_before ){
|
||||
var range = helpers.createRange( indexes );
|
||||
if( insert_before > range.start ) insert_before = insert_before - range.length
|
||||
export function reorderTracklist(indexes, insert_before){
|
||||
var range = helpers.createRange(indexes );
|
||||
if (insert_before > range.start ) insert_before = insert_before - range.length
|
||||
return {
|
||||
type: 'MOPIDY_REORDER_TRACKLIST',
|
||||
range_start: range.start,
|
||||
@ -152,7 +152,7 @@ export function setTimePosition(time_position){
|
||||
* Asset-oriented actions
|
||||
**/
|
||||
|
||||
export function getImages( context, uris ){
|
||||
export function getImages(context, uris){
|
||||
return {
|
||||
type: 'MOPIDY_GET_IMAGES',
|
||||
context: context,
|
||||
@ -168,7 +168,7 @@ export function createPlaylist(name, scheme){
|
||||
}
|
||||
}
|
||||
|
||||
export function deletePlaylist( uri ){
|
||||
export function deletePlaylist(uri){
|
||||
return {
|
||||
type: 'MOPIDY_DELETE_PLAYLIST',
|
||||
uri: uri
|
||||
@ -179,7 +179,7 @@ export function getLibraryPlaylists(){
|
||||
return { type: 'MOPIDY_GET_LIBRARY_PLAYLISTS' }
|
||||
}
|
||||
|
||||
export function getPlaylist( uri ){
|
||||
export function getPlaylist(uri){
|
||||
return {
|
||||
type: 'MOPIDY_GET_PLAYLIST',
|
||||
data: { uri: uri }
|
||||
@ -194,14 +194,14 @@ export function getPlaylists(uris, processor = null){
|
||||
}
|
||||
}
|
||||
|
||||
export function getDirectory( uri ){
|
||||
export function getDirectory(uri){
|
||||
return {
|
||||
type: 'MOPIDY_GET_DIRECTORY',
|
||||
data: { uri: uri }
|
||||
}
|
||||
}
|
||||
|
||||
export function getTrack( uri ){
|
||||
export function getTrack(uri){
|
||||
return {
|
||||
type: 'MOPIDY_GET_TRACK',
|
||||
data: { uri: uri }
|
||||
@ -214,7 +214,7 @@ export function getLibraryArtists(){
|
||||
}
|
||||
}
|
||||
|
||||
export function getArtist( uri ){
|
||||
export function getArtist(uri){
|
||||
return {
|
||||
type: 'MOPIDY_GET_ARTIST',
|
||||
data: { uri: uri }
|
||||
@ -229,7 +229,7 @@ export function getArtists(uris, processor = null){
|
||||
}
|
||||
}
|
||||
|
||||
export function getAlbum( uri ){
|
||||
export function getAlbum(uri){
|
||||
return {
|
||||
type: 'MOPIDY_GET_ALBUM',
|
||||
data: { uri: uri }
|
||||
|
||||
@ -26,32 +26,32 @@ const MopidyMiddleware = (function(){
|
||||
// if debug enabled
|
||||
if (store.getState().ui.log_mopidy) console.log('Mopidy', type, data)
|
||||
|
||||
switch( type ){
|
||||
switch(type){
|
||||
|
||||
case 'state:online':
|
||||
store.dispatch({ type: 'MOPIDY_CONNECTED' });
|
||||
instruct( ws, store, 'playback.getState' );
|
||||
instruct( ws, store, 'playback.getVolume' );
|
||||
instruct( ws, store, 'mixer.getMute' );
|
||||
instruct( ws, store, 'tracklist.getConsume' );
|
||||
instruct( ws, store, 'tracklist.getRandom' );
|
||||
instruct( ws, store, 'tracklist.getRepeat' );
|
||||
instruct( ws, store, 'tracklist.getTlTracks' );
|
||||
instruct( ws, store, 'playback.getCurrentTlTrack' );
|
||||
instruct( ws, store, 'playback.getTimePosition' );
|
||||
instruct( ws, store, 'getUriSchemes' );
|
||||
instruct(ws, store, 'playback.getState' );
|
||||
instruct(ws, store, 'playback.getVolume' );
|
||||
instruct(ws, store, 'mixer.getMute' );
|
||||
instruct(ws, store, 'tracklist.getConsume' );
|
||||
instruct(ws, store, 'tracklist.getRandom' );
|
||||
instruct(ws, store, 'tracklist.getRepeat' );
|
||||
instruct(ws, store, 'tracklist.getTlTracks' );
|
||||
instruct(ws, store, 'playback.getCurrentTlTrack' );
|
||||
instruct(ws, store, 'playback.getTimePosition' );
|
||||
instruct(ws, store, 'getUriSchemes' );
|
||||
|
||||
// every 1000s update our play position (when playing)
|
||||
progress_interval = setInterval(() => {
|
||||
if (store.getState().mopidy.play_state == 'playing'){
|
||||
|
||||
// every 10s get real position from server
|
||||
if( progress_interval_counter % 10 == 0 ){
|
||||
if (progress_interval_counter % 10 == 0){
|
||||
store.dispatch(mopidyActions.getTimePosition())
|
||||
|
||||
// otherwise we just assume to add 1000ms every 1000ms of play time
|
||||
}else{
|
||||
store.dispatch(mopidyActions.setTimePosition( store.getState().mopidy.time_position + 1000 ))
|
||||
store.dispatch(mopidyActions.setTimePosition(store.getState().mopidy.time_position + 1000 ))
|
||||
}
|
||||
|
||||
progress_interval_counter++
|
||||
@ -69,12 +69,12 @@ const MopidyMiddleware = (function(){
|
||||
break;
|
||||
|
||||
case 'event:tracklistChanged':
|
||||
instruct( ws, store, 'tracklist.getTlTracks' );
|
||||
instruct(ws, store, 'tracklist.getTlTracks' );
|
||||
break;
|
||||
|
||||
case 'event:playbackStateChanged':
|
||||
instruct( ws, store, 'playback.getState' );
|
||||
instruct( ws, store, 'playback.getTimePosition' );
|
||||
instruct(ws, store, 'playback.getState' );
|
||||
instruct(ws, store, 'playback.getTimePosition' );
|
||||
break;
|
||||
|
||||
case 'event:seeked':
|
||||
@ -82,11 +82,11 @@ const MopidyMiddleware = (function(){
|
||||
break;
|
||||
|
||||
case 'event:trackPlaybackEnded':
|
||||
instruct( ws, store, 'playback.getTimePosition' );
|
||||
instruct(ws, store, 'playback.getTimePosition' );
|
||||
break;
|
||||
|
||||
case 'event:trackPlaybackStarted':
|
||||
instruct( ws, store, 'playback.getCurrentTlTrack' );
|
||||
instruct(ws, store, 'playback.getCurrentTlTrack' );
|
||||
break;
|
||||
|
||||
case 'event:volumeChanged':
|
||||
@ -98,13 +98,13 @@ const MopidyMiddleware = (function(){
|
||||
break;
|
||||
|
||||
case 'event:optionsChanged':
|
||||
instruct( ws, store, 'tracklist.getConsume' );
|
||||
instruct( ws, store, 'tracklist.getRandom' );
|
||||
instruct( ws, store, 'tracklist.getRepeat' );
|
||||
instruct(ws, store, 'tracklist.getConsume' );
|
||||
instruct(ws, store, 'tracklist.getRandom' );
|
||||
instruct(ws, store, 'tracklist.getRepeat' );
|
||||
break;
|
||||
|
||||
default:
|
||||
//console.log( 'MopidyService: Unhandled message', type, message );
|
||||
//console.log('MopidyService: Unhandled message', type, message );
|
||||
}
|
||||
}
|
||||
|
||||
@ -128,9 +128,9 @@ const MopidyMiddleware = (function(){
|
||||
var model = callParts[0];
|
||||
var method = callParts[1];
|
||||
|
||||
return new Promise( (resolve, reject) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (model in ws){
|
||||
if( method in ws[model] ){
|
||||
if (method in ws[model]){
|
||||
var mopidyObject = ws[model][method]
|
||||
var property = method;
|
||||
}else{
|
||||
@ -194,11 +194,11 @@ const MopidyMiddleware = (function(){
|
||||
* it just proceeds to the next middleware, or default functionality
|
||||
**/
|
||||
return store => next => action => {
|
||||
switch(action.type) {
|
||||
switch(action.type){
|
||||
|
||||
case 'MOPIDY_CONNECT':
|
||||
|
||||
if(socket != null) socket.close()
|
||||
if (socket != null) socket.close()
|
||||
store.dispatch({ type: 'MOPIDY_CONNECTING' })
|
||||
var state = store.getState()
|
||||
|
||||
@ -207,7 +207,7 @@ const MopidyMiddleware = (function(){
|
||||
callingConvention: 'by-position-or-by-name'
|
||||
})
|
||||
|
||||
socket.on( (type, data) => handleMessage( socket, store, type, data ) )
|
||||
socket.on((type, data) => handleMessage(socket, store, type, data ) )
|
||||
break
|
||||
|
||||
case 'MOPIDY_CONNECTED':
|
||||
@ -216,19 +216,19 @@ const MopidyMiddleware = (function(){
|
||||
break
|
||||
|
||||
case 'MOPIDY_DISCONNECT':
|
||||
if(socket != null) socket.close()
|
||||
if (socket != null) socket.close()
|
||||
socket = null
|
||||
store.dispatch({ type: 'MOPIDY_DISCONNECTED' })
|
||||
break
|
||||
|
||||
// send an instruction to the websocket
|
||||
case 'MOPIDY_INSTRUCT':
|
||||
instruct( socket, store, action.call, action.value )
|
||||
instruct(socket, store, action.call, action.value )
|
||||
break
|
||||
|
||||
case 'MOPIDY_DEBUG':
|
||||
instruct( socket, store, action.call, action.value )
|
||||
.then( response => {
|
||||
instruct(socket, store, action.call, action.value )
|
||||
.then(response => {
|
||||
store.dispatch({ type: 'DEBUG', response: response })
|
||||
})
|
||||
break
|
||||
@ -238,13 +238,13 @@ const MopidyMiddleware = (function(){
|
||||
var remove = ['http','https','mms','rtmp','rtmps','rtsp','sc','yt']
|
||||
|
||||
// remove all our ignored types
|
||||
for( var i = 0; i < remove.length; i++ ){
|
||||
for(var i = 0; i < remove.length; i++){
|
||||
var index = uri_schemes.indexOf(remove[i])
|
||||
if( index > -1 ) uri_schemes.splice(index, 1);
|
||||
if (index > -1 ) uri_schemes.splice(index, 1);
|
||||
}
|
||||
|
||||
// append with ':' to make them a mopidy URI
|
||||
for( var i = 0; i < uri_schemes.length; i++ ){
|
||||
for(var i = 0; i < uri_schemes.length; i++){
|
||||
uri_schemes[i] = uri_schemes[i] +':'
|
||||
}
|
||||
|
||||
@ -279,7 +279,7 @@ const MopidyMiddleware = (function(){
|
||||
body: store.getState().pusher.username +' skipped this track',
|
||||
icon: (store.getState().core.current_track ? helpers.getTrackIcon(store.getState().core.current_track, store.getState().core) : false)
|
||||
}
|
||||
store.dispatch( pusherActions.deliverBroadcast(data) )
|
||||
store.dispatch(pusherActions.deliverBroadcast(data) )
|
||||
break
|
||||
|
||||
case 'MOPIDY_STOP':
|
||||
@ -289,7 +289,7 @@ const MopidyMiddleware = (function(){
|
||||
body: store.getState().pusher.username +' stopped playback',
|
||||
icon: (store.getState().core.current_track ? helpers.getTrackIcon(store.getState().core.current_track, store.getState().core) : false)
|
||||
}
|
||||
store.dispatch( pusherActions.deliverBroadcast(data) )
|
||||
store.dispatch(pusherActions.deliverBroadcast(data) )
|
||||
break
|
||||
|
||||
case 'MOPIDY_PLAY_PLAYLIST':
|
||||
@ -409,8 +409,8 @@ const MopidyMiddleware = (function(){
|
||||
var current_track_index = -1
|
||||
|
||||
if (current_track !== undefined){
|
||||
for( var i = 0; i < current_tracklist.length; i++ ){
|
||||
if( current_tracklist[i].tlid == current_track.tlid ){
|
||||
for(var i = 0; i < current_tracklist.length; i++){
|
||||
if (current_tracklist[i].tlid == current_track.tlid){
|
||||
current_track_index = i
|
||||
break
|
||||
}
|
||||
@ -503,7 +503,7 @@ const MopidyMiddleware = (function(){
|
||||
|
||||
// add the rest of our uris (if any)
|
||||
action.uris.shift();
|
||||
if( action.uris.length > 0 ){
|
||||
if (action.uris.length > 0){
|
||||
|
||||
// wait 100ms so the server can trigger track_changed etc
|
||||
// this means our UI feels snappier as the first track shows up quickly
|
||||
@ -527,7 +527,7 @@ const MopidyMiddleware = (function(){
|
||||
case 'MOPIDY_REORDER_TRACKLIST':
|
||||
|
||||
// add our first track
|
||||
instruct( socket, store, 'tracklist.move', { start: action.range_start, end: action.range_start + action.range_length, to_position: action.insert_before } )
|
||||
instruct(socket, store, 'tracklist.move', { start: action.range_start, end: action.range_start + action.range_length, to_position: action.insert_before } )
|
||||
.then(
|
||||
response => {
|
||||
// TODO: when complete, send event to confirm success/failure
|
||||
@ -629,8 +629,8 @@ const MopidyMiddleware = (function(){
|
||||
))
|
||||
}
|
||||
|
||||
instruct( socket, store, 'library.search', {query: {album: [action.data.query]}, uris: [action.data.uri_scheme]})
|
||||
.then(
|
||||
instruct(socket, store, 'library.search', {query: {album: [action.data.query]}, uris: [action.data.uri_scheme]})
|
||||
.then(
|
||||
response => {
|
||||
if (response.length > 0){
|
||||
|
||||
@ -694,8 +694,8 @@ const MopidyMiddleware = (function(){
|
||||
))
|
||||
}
|
||||
|
||||
instruct( socket, store, 'library.search', {query: {artist: [action.data.query]}, uris: [action.data.uri_scheme]})
|
||||
.then(
|
||||
instruct(socket, store, 'library.search', {query: {artist: [action.data.query]}, uris: [action.data.uri_scheme]})
|
||||
.then(
|
||||
response => {
|
||||
if (response.length > 0){
|
||||
var artists_uris = []
|
||||
@ -752,7 +752,7 @@ const MopidyMiddleware = (function(){
|
||||
store.dispatch(uiActions.processFinished('MOPIDY_GET_SEARCH_RESULTS_PROCESSOR'))
|
||||
}
|
||||
|
||||
instruct( socket, store, 'playlists.asList')
|
||||
instruct(socket, store, 'playlists.asList')
|
||||
.then(
|
||||
response => {
|
||||
if (response.length > 0){
|
||||
@ -812,7 +812,7 @@ const MopidyMiddleware = (function(){
|
||||
))
|
||||
}
|
||||
|
||||
instruct( socket, store, 'library.search', {query: {any: [action.data.query]}, uris: [action.data.uri_scheme]})
|
||||
instruct(socket, store, 'library.search', {query: {any: [action.data.query]}, uris: [action.data.uri_scheme]})
|
||||
.then(
|
||||
response => {
|
||||
if (response.length > 0 && response[0].tracks !== undefined){
|
||||
@ -847,7 +847,7 @@ const MopidyMiddleware = (function(){
|
||||
remaining: (action.data.uri_schemes.length) + 1
|
||||
}
|
||||
));
|
||||
instruct( socket, store, 'library.search', {query: {any: [action.data.query]}, uris: [action.data.uri_scheme]})
|
||||
instruct(socket, store, 'library.search', {query: {any: [action.data.query]}, uris: [action.data.uri_scheme]})
|
||||
.then(
|
||||
response => {
|
||||
if (response.length > 0 && response[0].tracks !== undefined){
|
||||
@ -879,7 +879,7 @@ const MopidyMiddleware = (function(){
|
||||
remaining: (action.data.uri_schemes.length) + 0.75
|
||||
}
|
||||
));
|
||||
instruct( socket, store, 'library.search', {query: {album: [action.data.query]}, uris: [action.data.uri_scheme]})
|
||||
instruct(socket, store, 'library.search', {query: {album: [action.data.query]}, uris: [action.data.uri_scheme]})
|
||||
.then(
|
||||
response => {
|
||||
if (response.length > 0){
|
||||
@ -931,7 +931,7 @@ const MopidyMiddleware = (function(){
|
||||
remaining: (action.data.uri_schemes.length) + 0.5
|
||||
}
|
||||
));
|
||||
instruct( socket, store, 'library.search', {query: {artist: [action.data.query]}, uris: [action.data.uri_scheme]})
|
||||
instruct(socket, store, 'library.search', {query: {artist: [action.data.query]}, uris: [action.data.uri_scheme]})
|
||||
.then(
|
||||
response => {
|
||||
if (response.length > 0){
|
||||
@ -1001,7 +1001,7 @@ const MopidyMiddleware = (function(){
|
||||
remaining: (action.data.uri_schemes.length) + 0.25
|
||||
}
|
||||
))
|
||||
instruct( socket, store, 'playlists.asList')
|
||||
instruct(socket, store, 'playlists.asList')
|
||||
.then(
|
||||
response => {
|
||||
if (response.length > 0){
|
||||
@ -1054,8 +1054,8 @@ const MopidyMiddleware = (function(){
|
||||
**/
|
||||
|
||||
case 'MOPIDY_GET_LIBRARY_PLAYLISTS':
|
||||
instruct( socket, store, 'playlists.asList' )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'playlists.asList' )
|
||||
.then(response => {
|
||||
|
||||
// drop in our URI list
|
||||
var playlist_uris = helpers.arrayOf('uri',response)
|
||||
@ -1072,9 +1072,9 @@ const MopidyMiddleware = (function(){
|
||||
store.dispatch({ type: 'MOPIDY_LIBRARY_PLAYLISTS_LOADED_ALL' });
|
||||
|
||||
// get the full playlist objects
|
||||
for (var i = 0; i < playlist_uris_filtered.length; i++ ){
|
||||
instruct( socket, store, 'playlists.lookup', { uri: playlist_uris_filtered[i] })
|
||||
.then( response => {
|
||||
for (var i = 0; i < playlist_uris_filtered.length; i++){
|
||||
instruct(socket, store, 'playlists.lookup', { uri: playlist_uris_filtered[i] })
|
||||
.then(response => {
|
||||
var source = helpers.uriSource(response.uri)
|
||||
var playlist = Object.assign(
|
||||
{},
|
||||
@ -1085,7 +1085,7 @@ const MopidyMiddleware = (function(){
|
||||
source: source,
|
||||
is_mopidy: true,
|
||||
last_modified: response.last_modified,
|
||||
tracks_total: ( response.tracks ? response.tracks.length : 0 )
|
||||
tracks_total: (response.tracks ? response.tracks.length : 0 )
|
||||
}
|
||||
)
|
||||
|
||||
@ -1100,21 +1100,21 @@ const MopidyMiddleware = (function(){
|
||||
break;
|
||||
|
||||
case 'MOPIDY_GET_PLAYLIST':
|
||||
instruct( socket, store, 'playlists.lookup', action.data )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'playlists.lookup', action.data )
|
||||
.then(response => {
|
||||
var playlist = Object.assign(
|
||||
{},
|
||||
response,
|
||||
{
|
||||
type: 'playlist',
|
||||
is_mopidy: true,
|
||||
tracks: ( response.tracks ? response.tracks : [] ),
|
||||
tracks_total: ( response.tracks ? response.tracks.length : [] )
|
||||
tracks: (response.tracks ? response.tracks : [] ),
|
||||
tracks_total: (response.tracks ? response.tracks.length : [] )
|
||||
}
|
||||
)
|
||||
|
||||
// tracks? get the full track objects
|
||||
if( playlist.tracks.length > 0 ) store.dispatch({
|
||||
if (playlist.tracks.length > 0 ) store.dispatch({
|
||||
type: 'MOPIDY_RESOLVE_PLAYLIST_TRACKS',
|
||||
tracks: playlist.tracks,
|
||||
key: response.uri
|
||||
@ -1132,23 +1132,23 @@ const MopidyMiddleware = (function(){
|
||||
var tracks = Object.assign([], action.tracks)
|
||||
var uris = helpers.arrayOf('uri',tracks)
|
||||
|
||||
instruct( socket, store, 'library.lookup', { uris: uris } )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'library.lookup', { uris: uris } )
|
||||
.then(response => {
|
||||
for(var uri in response){
|
||||
if (response.hasOwnProperty(uri)) {
|
||||
if (response.hasOwnProperty(uri)){
|
||||
|
||||
var track = response[uri][0]
|
||||
if( track ){
|
||||
if (track){
|
||||
|
||||
// find the track reference, and drop in the full track data
|
||||
function getByURI( trackReference ){
|
||||
function getByURI(trackReference){
|
||||
return track.uri == trackReference.uri
|
||||
}
|
||||
var trackReferences = tracks.filter(getByURI);
|
||||
|
||||
// there could be multiple instances of this track, so accommodate this
|
||||
for( var j = 0; j < trackReferences.length; j++){
|
||||
var key = tracks.indexOf( trackReferences[j] );
|
||||
for(var j = 0; j < trackReferences.length; j++){
|
||||
var key = tracks.indexOf(trackReferences[j] );
|
||||
tracks[ key ] = track;
|
||||
}
|
||||
}
|
||||
@ -1165,10 +1165,10 @@ const MopidyMiddleware = (function(){
|
||||
|
||||
case 'MOPIDY_ADD_PLAYLIST_TRACKS':
|
||||
|
||||
instruct( socket, store, 'playlists.lookup', { uri: action.key })
|
||||
.then( response => {
|
||||
instruct(socket, store, 'playlists.lookup', { uri: action.key })
|
||||
.then(response => {
|
||||
var tracks = [];
|
||||
for( var i = 0; i < action.tracks_uris.length; i++ ){
|
||||
for(var i = 0; i < action.tracks_uris.length; i++){
|
||||
tracks.push({
|
||||
__model__: "Track",
|
||||
uri: action.tracks_uris[i]
|
||||
@ -1176,14 +1176,14 @@ const MopidyMiddleware = (function(){
|
||||
}
|
||||
|
||||
var playlist = Object.assign({}, response)
|
||||
if( playlist.tracks ){
|
||||
if (playlist.tracks){
|
||||
playlist.tracks = [...playlist.tracks, ...tracks]
|
||||
}else{
|
||||
playlist.tracks = tracks
|
||||
}
|
||||
|
||||
instruct( socket, store, 'playlists.save', { playlist: playlist } )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'playlists.save', { playlist: playlist } )
|
||||
.then(response => {
|
||||
store.dispatch({
|
||||
type: 'PLAYLIST_TRACKS_ADDED',
|
||||
key: action.key,
|
||||
@ -1202,14 +1202,14 @@ const MopidyMiddleware = (function(){
|
||||
var indexes = Object.assign([], action.tracks_indexes)
|
||||
indexes.sort(descending);
|
||||
|
||||
instruct( socket, store, 'playlists.lookup', { uri: action.key })
|
||||
.then( response => {
|
||||
instruct(socket, store, 'playlists.lookup', { uri: action.key })
|
||||
.then(response => {
|
||||
var playlist = Object.assign({}, response)
|
||||
for( var i = 0; i < indexes.length; i++ ){
|
||||
for(var i = 0; i < indexes.length; i++){
|
||||
playlist.tracks.splice(indexes[i], 1);
|
||||
}
|
||||
instruct( socket, store, 'playlists.save', { playlist: playlist } )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'playlists.save', { playlist: playlist } )
|
||||
.then(response => {
|
||||
store.dispatch({
|
||||
type: 'PLAYLIST_TRACKS_REMOVED',
|
||||
key: action.key,
|
||||
@ -1222,11 +1222,11 @@ const MopidyMiddleware = (function(){
|
||||
case 'MOPIDY_SAVE_PLAYLIST':
|
||||
var uri = action.key
|
||||
|
||||
instruct( socket, store, 'playlists.lookup', { uri: action.key })
|
||||
.then( response => {
|
||||
instruct(socket, store, 'playlists.lookup', { uri: action.key })
|
||||
.then(response => {
|
||||
var playlist = Object.assign({}, response, { name: action.name })
|
||||
instruct( socket, store, 'playlists.save', { playlist: playlist } )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'playlists.save', { playlist: playlist } )
|
||||
.then(response => {
|
||||
|
||||
store.dispatch({
|
||||
type: 'PLAYLIST_UPDATED',
|
||||
@ -1251,8 +1251,8 @@ const MopidyMiddleware = (function(){
|
||||
break
|
||||
|
||||
case 'MOPIDY_REORDER_PLAYLIST_TRACKS':
|
||||
instruct( socket, store, 'playlists.lookup', { uri: action.key })
|
||||
.then( response => {
|
||||
instruct(socket, store, 'playlists.lookup', { uri: action.key })
|
||||
.then(response => {
|
||||
|
||||
var playlist = Object.assign({}, response)
|
||||
var tracks = Object.assign([], playlist.tracks)
|
||||
@ -1262,27 +1262,27 @@ const MopidyMiddleware = (function(){
|
||||
var range_start = action.range_start
|
||||
var range_length = action.range_length
|
||||
var insert_before = action.insert_before
|
||||
if( insert_before > range_start ) insert_before = insert_before - range_length
|
||||
if (insert_before > range_start ) insert_before = insert_before - range_length
|
||||
|
||||
// collate our tracks to be moved
|
||||
for( var i = 0; i < range_length; i++ ){
|
||||
for(var i = 0; i < range_length; i++){
|
||||
|
||||
// add to FRONT: we work backwards to avoid screwing up our indexes
|
||||
tracks_to_move.unshift( tracks[range_start + i] )
|
||||
tracks_to_move.unshift(tracks[range_start + i] )
|
||||
}
|
||||
|
||||
// remove tracks from their old location
|
||||
tracks.splice( range_start, range_length )
|
||||
tracks.splice(range_start, range_length )
|
||||
|
||||
// now plug them back in, in their new location
|
||||
for( var i = 0; i < tracks_to_move.length; i++ ){
|
||||
tracks.splice( insert_before, 0, tracks_to_move[i] )
|
||||
for(var i = 0; i < tracks_to_move.length; i++){
|
||||
tracks.splice(insert_before, 0, tracks_to_move[i] )
|
||||
}
|
||||
|
||||
// update playlist
|
||||
playlist = Object.assign({}, playlist, { tracks: tracks })
|
||||
instruct( socket, store, 'playlists.save', { playlist: playlist } )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'playlists.save', { playlist: playlist } )
|
||||
.then(response => {
|
||||
|
||||
store.dispatch({
|
||||
type: 'MOPIDY_RESOLVE_PLAYLIST_TRACKS',
|
||||
@ -1294,8 +1294,8 @@ const MopidyMiddleware = (function(){
|
||||
break
|
||||
|
||||
case 'MOPIDY_CREATE_PLAYLIST':
|
||||
instruct( socket, store, 'playlists.create', { name: action.name, uri_scheme: action.scheme })
|
||||
.then( response => {
|
||||
instruct(socket, store, 'playlists.create', { name: action.name, uri_scheme: action.scheme })
|
||||
.then(response => {
|
||||
store.dispatch(uiActions.createNotification('Created playlist'))
|
||||
|
||||
store.dispatch({
|
||||
@ -1313,8 +1313,8 @@ const MopidyMiddleware = (function(){
|
||||
break
|
||||
|
||||
case 'MOPIDY_DELETE_PLAYLIST':
|
||||
instruct( socket, store, 'playlists.delete', { uri: action.uri })
|
||||
.then( response => {
|
||||
instruct(socket, store, 'playlists.delete', { uri: action.uri })
|
||||
.then(response => {
|
||||
store.dispatch(uiActions.createNotification('Deleted playlist'))
|
||||
store.dispatch({
|
||||
type: 'MOPIDY_LIBRARY_PLAYLIST_DELETED',
|
||||
@ -1333,8 +1333,8 @@ const MopidyMiddleware = (function(){
|
||||
var last_run = store.getState().ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR
|
||||
|
||||
if (!last_run){
|
||||
instruct( socket, store, 'library.browse', { uri: 'local:directory?type=album' } )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'library.browse', { uri: 'local:directory?type=album' } )
|
||||
.then(response => {
|
||||
if (response.length <= 0) return
|
||||
|
||||
var uris = helpers.arrayOf('uri',response)
|
||||
@ -1393,14 +1393,14 @@ const MopidyMiddleware = (function(){
|
||||
break
|
||||
|
||||
case 'MOPIDY_GET_ALBUMS':
|
||||
instruct( socket, store, 'library.lookup', { uris: action.uris } )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'library.lookup', { uris: action.uris } )
|
||||
.then(response => {
|
||||
if (response.length <= 0) return
|
||||
|
||||
var albums = []
|
||||
|
||||
for (var uri in response){
|
||||
if (response.hasOwnProperty(uri) && response[uri].length > 0 && response[uri][0] && response[uri][0].album ){
|
||||
if (response.hasOwnProperty(uri) && response[uri].length > 0 && response[uri][0] && response[uri][0].album){
|
||||
var album = Object.assign(
|
||||
{},
|
||||
{
|
||||
@ -1436,8 +1436,8 @@ const MopidyMiddleware = (function(){
|
||||
break;
|
||||
|
||||
case 'MOPIDY_GET_ALBUM':
|
||||
instruct( socket, store, 'library.lookup', action.data )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'library.lookup', action.data )
|
||||
.then(response => {
|
||||
if (response.length <= 0) return
|
||||
|
||||
var album = Object.assign(
|
||||
@ -1453,38 +1453,37 @@ const MopidyMiddleware = (function(){
|
||||
)
|
||||
|
||||
var uris = [];
|
||||
for( var i = 0; i < album.tracks.length; i++ ){
|
||||
uris.push( album.tracks[i].uri );
|
||||
for(var i = 0; i < album.tracks.length; i++){
|
||||
uris.push(album.tracks[i].uri );
|
||||
}
|
||||
|
||||
// load artwork from LastFM
|
||||
if( album.images.length <= 0 ){
|
||||
|
||||
var mbid = helpers.getFromUri('mbid',album.uri)
|
||||
if( mbid ){
|
||||
store.dispatch( lastfmActions.getAlbum( false, false, mbid ) )
|
||||
}else{
|
||||
store.dispatch( lastfmActions.getAlbum( album.artists[0].name, album.name ) )
|
||||
if (album.images.length <= 0){
|
||||
var mbid = helpers.getFromUri('mbid',album.uri);
|
||||
if (mbid){
|
||||
store.dispatch(lastfmActions.getAlbum(false, false, mbid));
|
||||
} else {
|
||||
store.dispatch(lastfmActions.getAlbum(album.artists[0].name, album.name));
|
||||
}
|
||||
}
|
||||
|
||||
instruct( socket, store, 'library.lookup', { uris: uris } )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'library.lookup', { uris: uris } )
|
||||
.then(response => {
|
||||
|
||||
for(var uri in response){
|
||||
if (response.hasOwnProperty(uri)) {
|
||||
if (response.hasOwnProperty(uri)){
|
||||
|
||||
var track = response[uri][0];
|
||||
|
||||
// find the track reference, and drop in the full track data
|
||||
function getByURI( trackReference ){
|
||||
function getByURI(trackReference){
|
||||
return track.uri == trackReference.uri
|
||||
}
|
||||
var trackReferences = album.tracks.filter(getByURI);
|
||||
|
||||
// there could be multiple instances of this track, so accommodate this
|
||||
for( var j = 0; j < trackReferences.length; j++){
|
||||
var key = album.tracks.indexOf( trackReferences[j] );
|
||||
for(var j = 0; j < trackReferences.length; j++){
|
||||
var key = album.tracks.indexOf(trackReferences[j] );
|
||||
album.tracks[ key ] = track;
|
||||
}
|
||||
}
|
||||
@ -1506,8 +1505,8 @@ const MopidyMiddleware = (function(){
|
||||
**/
|
||||
|
||||
case 'MOPIDY_GET_LIBRARY_ARTISTS':
|
||||
instruct( socket, store, 'library.browse', { uri: 'local:directory?type=artist' } )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'library.browse', { uri: 'local:directory?type=artist' } )
|
||||
.then(response => {
|
||||
if (response.length <= 0) return
|
||||
|
||||
var uris = helpers.arrayOf('uri',response)
|
||||
@ -1537,8 +1536,8 @@ const MopidyMiddleware = (function(){
|
||||
var last_run = store.getState().ui.processes.MOPIDY_LIBRARY_ARTISTS_PROCESSOR
|
||||
|
||||
if (!last_run){
|
||||
instruct( socket, store, 'library.browse', { uri: 'local:directory?type=artist' } )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'library.browse', { uri: 'local:directory?type=artist' } )
|
||||
.then(response => {
|
||||
if (response.length <= 0) return
|
||||
|
||||
var uris = helpers.arrayOf('uri',response)
|
||||
@ -1585,19 +1584,19 @@ const MopidyMiddleware = (function(){
|
||||
*/
|
||||
|
||||
case 'MOPIDY_GET_ARTIST':
|
||||
instruct( socket, store, 'library.lookup', action.data )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'library.lookup', action.data )
|
||||
.then(response => {
|
||||
if (response.length <= 0) return
|
||||
|
||||
var albums = []
|
||||
for( var i = 0; i < response.length; i++ ){
|
||||
for(var i = 0; i < response.length; i++){
|
||||
var album = response[i].album;
|
||||
if (album){
|
||||
function getByURI( albumToCheck ){
|
||||
function getByURI(albumToCheck){
|
||||
return album.uri == albumToCheck.uri
|
||||
}
|
||||
var existingAlbum = albums.find(getByURI);
|
||||
if( !existingAlbum ){
|
||||
if (!existingAlbum){
|
||||
albums.push(album)
|
||||
}
|
||||
}
|
||||
@ -1626,19 +1625,19 @@ const MopidyMiddleware = (function(){
|
||||
})
|
||||
|
||||
// load artwork from LastFM
|
||||
if( !artist.images || artist.images.length <= 0 ){
|
||||
if( artist.musicbrainz_id ){
|
||||
store.dispatch( lastfmActions.getArtist( artist.uri, false, artist.musicbrainz_id ) )
|
||||
if (!artist.images || artist.images.length <= 0){
|
||||
if (artist.musicbrainz_id){
|
||||
store.dispatch(lastfmActions.getArtist(artist.uri, false, artist.musicbrainz_id ) )
|
||||
}else{
|
||||
store.dispatch( lastfmActions.getArtist( artist.uri, artist.name.replace('&','and') ) )
|
||||
store.dispatch(lastfmActions.getArtist(artist.uri, artist.name.replace('&','and') ) )
|
||||
}
|
||||
}
|
||||
})
|
||||
break;
|
||||
|
||||
case 'MOPIDY_GET_ARTISTS':
|
||||
instruct( socket, store, 'library.lookup', {uris: action.uris})
|
||||
.then( response => {
|
||||
instruct(socket, store, 'library.lookup', {uris: action.uris})
|
||||
.then(response => {
|
||||
if (response.length <= 0) return
|
||||
|
||||
var artists = []
|
||||
@ -1705,7 +1704,7 @@ const MopidyMiddleware = (function(){
|
||||
break
|
||||
|
||||
case 'MOPIDY_GET_TRACK':
|
||||
instruct( socket, store, 'library.lookup', action.data )
|
||||
instruct(socket, store, 'library.lookup', action.data )
|
||||
.then(
|
||||
response => {
|
||||
if (response.length > 0){
|
||||
@ -1733,8 +1732,8 @@ const MopidyMiddleware = (function(){
|
||||
|
||||
case 'MOPIDY_GET_IMAGES':
|
||||
|
||||
instruct( socket, store, 'library.getImages', {uris: action.uris})
|
||||
.then( response => {
|
||||
instruct(socket, store, 'library.getImages', {uris: action.uris})
|
||||
.then(response => {
|
||||
|
||||
let records = []
|
||||
for (var uri in response){
|
||||
@ -1768,8 +1767,8 @@ const MopidyMiddleware = (function(){
|
||||
|
||||
case 'MOPIDY_GET_DIRECTORY':
|
||||
store.dispatch({ type: 'MOPIDY_DIRECTORY_LOADED', data: false })
|
||||
instruct( socket, store, 'library.browse', action.data )
|
||||
.then( response => {
|
||||
instruct(socket, store, 'library.browse', action.data )
|
||||
.then(response => {
|
||||
store.dispatch({
|
||||
type: 'MOPIDY_DIRECTORY_LOADED',
|
||||
data: response
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
import * as helpers from '../../helpers'
|
||||
|
||||
export default function reducer(mopidy = {}, action){
|
||||
switch (action.type) {
|
||||
switch (action.type){
|
||||
|
||||
case 'MOPIDY_CONNECT':
|
||||
case 'MOPIDY_CONNECTING':
|
||||
|
||||
Reference in New Issue
Block a user