Oversimplifying queue made identifying current track impossible; Reinstated queue as object list, merged with index for max data

This commit is contained in:
James Barnsley
2017-11-17 20:25:43 +13:00
parent fd3e1ce55d
commit 7aca106c74
11 changed files with 65 additions and 77 deletions

View File

@ -317,6 +317,7 @@ const CoreMiddleware = (function(){
type: 'TRACKS_LOADED',
tracks: [action.current_track]
});
next(action);
break;
@ -325,8 +326,7 @@ const CoreMiddleware = (function(){
type: 'TRACKS_LOADED',
tracks: action.tracks
});
action.tracks_uris = helpers.arrayOf('uri',action.tracks);
next(action);
break;

View File

@ -13,13 +13,13 @@ export default function reducer(core = {}, action){
case 'CURRENT_TRACK_LOADED':
return Object.assign({}, core, {
current_track_tlid: action.current_track_tlid,
current_track: action.current_track,
current_track_uri: action.current_track_uri
});
case 'QUEUE_LOADED':
return Object.assign({}, core, {
queue: action.tracks_uris
queue: action.tracks
});
case 'PUSHER_QUEUE_METADATA':

View File

@ -412,12 +412,12 @@ const MopidyMiddleware = (function(){
}
var current_track = store.getState().core.current_track
var current_tracklist = store.getState().core.current_tracklist
var queue = store.getState().core.queue
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 < queue.length; i++){
if (queue[i].tlid == current_track.tlid){
current_track_index = i
break
}
@ -1706,28 +1706,6 @@ const MopidyMiddleware = (function(){
**/
case 'MOPIDY_TLTRACKS':
/**
* TODO: Merge TLIDs into an array of TLIDS
var tracks = helpers.formatTracks(action.data);
var unique_tracks = [];
for (var i = 0; i < tracks.length; i++){
var track = {};
if (unique_tracks[tracks[i].uri] !== undefined){
var track = unique_tracks[tracks[i].uri];
if (existing_track.tlids !== undefined){
var tlids = existing_track.tlids;
} else {
var tlids = [];
}
} else {
unique_tracks[tracks[i].uri] = tracks[i];
}
}
**/
store.dispatch({
type: 'QUEUE_LOADED',
tracks: helpers.formatTracks(action.data)
@ -1751,9 +1729,7 @@ const MopidyMiddleware = (function(){
helpers.setWindowTitle(track, store.getState().mopidy.play_state);
store.dispatch({
type: 'CURRENT_TRACK_LOADED',
current_track: track,
current_track_tlid: track.tlid,
current_track_uri: track.uri
current_track: track
});
}
break;
@ -1765,9 +1741,8 @@ const MopidyMiddleware = (function(){
if (response.length > 0){
var track = Object.assign({}, response[0]);
store.dispatch({
type: 'TRACK_LOADED',
key: track.uri,
track: track
type: 'TRACKS_LOADED',
tracks: [track]
});
}
},