diff --git a/mopidy_musicbox_webclient/static/js/gui.js b/mopidy_musicbox_webclient/static/js/gui.js index 26ec9bc2..a2ac39d8 100644 --- a/mopidy_musicbox_webclient/static/js/gui.js +++ b/mopidy_musicbox_webclient/static/js/gui.js @@ -16,9 +16,25 @@ function resetSong () { data.track.artists = '' data.track.length = 0 data.track.uri = '' + data.stream = '' setSongInfo(data) } +function setSongTitle (data) { + var name = data.track.name + if (data.stream) { + name = data.stream + ' || ' + data.track.name + console.log('Setting name %s', name) + } + $('#modalname').html('' + name + '') + $('#infoname').html(name) +} + +function setStreamTitle (title) { + songdata.stream = title + setSongTitle(songdata) +} + function resizeMb () { if ($(window).width() < 880) { $('#panel').panel('close') @@ -26,7 +42,7 @@ function resizeMb () { $('#panel').panel('open') } - $('#infoname').html(songdata.track.name) + setSongTitle(songdata) $('#infoartist').html(artiststext) if ($(window).width() > 960) { @@ -35,14 +51,6 @@ function resizeMb () { } } -function setSongTitle (track, refresh_ui) { - songdata.track.name = track.name - $('#modalname').html('' + track.name + '') - if (refresh_ui) { - resizeMb() - } -} - function setSongInfo (data) { if (!data) { return } if (data.tlid === songdata.tlid) { return } @@ -63,10 +71,7 @@ function setSongInfo (data) { } } } - songdata = data - - setSongTitle(data.track, false) songlength = Infinity if (!data.track.length || data.track.length === 0) { @@ -282,8 +287,9 @@ function initSocketevents () { }) mopidy.on('event:streamTitleChanged', function (data) { - // Update all track info. - mopidy.playback.getCurrentTlTrack().then(processCurrenttrack, console.error) + // The stream title is separate from the current track. + setStreamTitle(data.title) + controls.setPlayState(true) }) } diff --git a/mopidy_musicbox_webclient/static/js/process_ws.js b/mopidy_musicbox_webclient/static/js/process_ws.js index 00d8afe5..87f8ace2 100644 --- a/mopidy_musicbox_webclient/static/js/process_ws.js +++ b/mopidy_musicbox_webclient/static/js/process_ws.js @@ -6,10 +6,13 @@ */ /** ****************************************************** - * process results of a (new) currently playing track + * process results of a (new) currently playing track and any stream title *********************************************************/ function processCurrenttrack (data) { setSongInfo(data) + mopidy.playback.getStreamTitle().then(function (title) { + setStreamTitle(title) + }, console.error) } /** ******************************************************