Adding stream_title_changed listener, fixes #627

This commit is contained in:
James Barnsley
2020-11-14 21:33:38 +13:00
parent 407cc7d9de
commit 147a8bcb9e
3 changed files with 40 additions and 6 deletions

View File

@ -1,6 +1,5 @@
import { removeDuplicates, arrayOf } from '../../util/arrays';
import { formatTracks } from '../../util/format';
import { arrayOf } from '../../util/arrays';
export default function reducer(core = {}, action) {
switch (action.type) {
@ -10,10 +9,6 @@ export default function reducer(core = {}, action) {
case 'CACHEBUST_HTTP_STREAM':
return { ...core, http_streaming_cachebuster: new Date().getTime() };
/**
* Current track and tracklist
* */
case 'CURRENT_TRACK_LOADED':
return {
...core,
@ -21,6 +16,15 @@ export default function reducer(core = {}, action) {
current_track_uri: action.uri,
};
case 'MOPIDY_STREAM_TITLE_CHANGED':
return {
...core,
current_track: {
...core.current_track,
name: action.title,
},
};
case 'CLEAR_CURRENT_TRACK':
return {
...core,

View File

@ -277,6 +277,13 @@ export function currentTrackLoaded(tl_track) {
};
}
export function streamTitleChanged(title) {
return {
type: 'MOPIDY_STREAM_TITLE_CHANGED',
title,
};
}
export function getNextTrack() {
return {
type: 'MOPIDY_GET_NEXT_TRACK',

View File

@ -148,6 +148,10 @@ const MopidyMiddleware = (function () {
);
break;
case 'event:streamTitleChanged':
store.dispatch(mopidyActions.streamTitleChanged(data.title));
break;
case 'event:volumeChanged':
store.dispatch({ type: 'MOPIDY_VOLUME', volume: data.volume });
break;
@ -1474,6 +1478,25 @@ const MopidyMiddleware = (function () {
break;
}
case 'MOPIDY_STREAM_TITLE_CHANGED': {
const {
core: {
current_track,
},
} = store.getState();
const track = {
...current_track,
name: action.title,
};
store.dispatch({
type: 'CURRENT_TRACK_LOADED',
track,
uri: current_track.uri,
});
break;
}
case 'MOPIDY_GET_NEXT_TRACK':
request(store, 'tracklist.getNextTlid')
.then(