From: marcelveldt Date: Mon, 11 Nov 2019 23:33:33 +0000 (+0100) Subject: show stream details in OSD X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=39bcb1155afe1453f1b54172c44b4c5f98d58f38;p=music-assistant-server.git show stream details in OSD --- diff --git a/frontend/src/assets/crossfade.png b/frontend/src/assets/crossfade.png new file mode 100644 index 00000000..26c5df0d Binary files /dev/null and b/frontend/src/assets/crossfade.png differ diff --git a/frontend/src/assets/ogg.png b/frontend/src/assets/ogg.png new file mode 100644 index 00000000..c6d69145 Binary files /dev/null and b/frontend/src/assets/ogg.png differ diff --git a/frontend/src/components/InfoHeader.vue b/frontend/src/components/InfoHeader.vue index c9232039..deed2708 100644 --- a/frontend/src/components/InfoHeader.vue +++ b/frontend/src/components/InfoHeader.vue @@ -258,6 +258,9 @@ export default Vue.extend({ }) } return desc + }, + getQualityInfo () { + }, getUniqueProviders () { var keys = [] @@ -274,17 +277,6 @@ export default Vue.extend({ } } return qualities - }, - getFileFormatLogo (provider) { - if (provider.quality === 0) return 'mp3.png' - else if (provider.quality === 1) return 'vorbis.png' - else if (provider.quality === 2) return 'aac.png' - else if (provider.quality > 2) return 'flac.png' - }, - getFileFormatDesc (provider) { - var desc = '' - if (provider.details) desc += ' ' + provider.details - return desc } } }) diff --git a/frontend/src/components/ListviewItem.vue b/frontend/src/components/ListviewItem.vue index 45fe640f..f9438914 100644 --- a/frontend/src/components/ListviewItem.vue +++ b/frontend/src/components/ListviewItem.vue @@ -2,7 +2,7 @@
- + + + {{ isHiRes }} + @@ -170,10 +175,20 @@ export default Vue.extend({ isHiRes () { for (var prov of this.item.provider_ids) { if (prov.quality > 6) { - return true + if (prov.details) { + return prov.details + } else if (prov.quality === 7) { + return '44.1/48khz 24 bits' + } else if (prov.quality === 8) { + return '88.2/96khz 24 bits' + } else if (prov.quality === 9) { + return '176/192khz 24 bits' + } else { + return '+192kHz 24 bits' + } } } - return false + return '' } }, created () { }, @@ -184,7 +199,6 @@ export default Vue.extend({ methods: { itemClicked (mediaItem = null) { // mediaItem in the list is clicked - if (this.onclickHandler) return this.onclickHandler(mediaItem) let url = '' if (mediaItem.media_type === 1) { url = '/artists/' + mediaItem.item_id diff --git a/frontend/src/components/PlayerOSD.vue b/frontend/src/components/PlayerOSD.vue index b11d61dc..9f744a02 100644 --- a/frontend/src/components/PlayerOSD.vue +++ b/frontend/src/components/PlayerOSD.vue @@ -54,6 +54,66 @@ + + + + + + {{ $t('stream_details') }} + + + + + + {{ streamDetails.provider }} + + + + + + + + + {{ streamDetails.sample_rate/1000 }} kHz / {{ streamDetails.bit_depth }} bits + + + +
+ + + + + + {{ $t('crossfade_enabled') }} + + + +
+
+ + + volume_up + + + {{ streamVolumeLevelAdjustment }} + + + +
+
+
+
@@ -242,6 +302,19 @@ export default Vue.extend({ }, progressBarWidth () { return window.innerWidth - 160 + }, + streamDetails () { + if (!this.playerQueueDetails.cur_item || !this.playerQueueDetails.cur_item || !this.playerQueueDetails.cur_item.streamdetails.provider || !this.playerQueueDetails.cur_item.streamdetails.content_type) return {} + return this.playerQueueDetails.cur_item.streamdetails + }, + streamVolumeLevelAdjustment () { + if (!this.streamDetails || !this.streamDetails.sox_options) return '' + if (this.streamDetails.sox_options.includes('vol ')) { + var re = /(.*vol\s+)(.*)(\s+dB.*)/ + var volLevel = this.streamDetails.sox_options.replace(re, '$2') + return volLevel + ' dB' + } + return '' } }, created () { diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index 23eefca9..45b27d81 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -87,8 +87,8 @@ "add_queue" : "Add to Queue", "queue_clear" : "Clear queue", "show_info" : "Show info", - "queue_next_tracks": "Next tracks", - "queue_previous_tracks": "Played tracks", + "queue_next_tracks": "Next", + "queue_previous_tracks": "Played", "queue_move_up" : "Move up", "queue_move_down" : "Move down", "queue_options" : "Queue options", @@ -97,6 +97,8 @@ "enable_shuffle" : "Enable shuffle", "disable_shuffle" : "Disable shuffle", "read_more": "read more", + "stream_details": "Streamdetails", + "crossfade_enabled": "Crossfade enabled", "state" : { "playing" : "playing", "stopped" : "stopped", diff --git a/frontend/src/locales/nl.json b/frontend/src/locales/nl.json index 8dae4e59..db2e1110 100644 --- a/frontend/src/locales/nl.json +++ b/frontend/src/locales/nl.json @@ -88,7 +88,7 @@ "queue_clear" : "Wachtrij leegmaken", "show_info" : "Bekijk informatie", "queue_next_tracks": "Aankomend", - "queue_previous_tracks": "Reeds afgespeeld", + "queue_previous_tracks": "Afgespeeld", "queue_move_up" : "Verplaats omhoog", "queue_move_down" : "Verplaats omlaag", "queue_options" : "Wachtrij opties", @@ -97,6 +97,8 @@ "enable_shuffle" : "Shuffle inschakelen", "disable_shuffle" : "Shuffle uitschakelen", "read_more": "meer lezen", + "stream_details": "Streamdetails", + "crossfade_enabled": "Crossfade ingeschakeld", "state" : { "playing" : "afspelen", "stopped" : "gestopt", diff --git a/frontend/src/plugins/server.js b/frontend/src/plugins/server.js index 62a50c18..33745a46 100644 --- a/frontend/src/plugins/server.js +++ b/frontend/src/plugins/server.js @@ -68,7 +68,9 @@ const server = new Vue({ } else if (mediaItem.artist && mediaItem.artist.metadata && mediaItem.artist.metadata[imageType]) { return mediaItem.artist.metadata[imageType] } else if (mediaItem.album && mediaItem.album.artist && mediaItem.album.artist.metadata && mediaItem.album.artist.metadata[imageType]) { - return mediaItem.artist.metadata[imageType] + return mediaItem.album.artist.metadata[imageType] + } else if (mediaItem.artists && mediaItem.artists[0].metadata && mediaItem.artists[0].metadata[imageType]) { + return mediaItem.artists[0].metadata[imageType] } else return '' }, diff --git a/frontend/src/views/ItemDetails.vue b/frontend/src/views/ItemDetails.vue index 47753391..9b09ca38 100644 --- a/frontend/src/views/ItemDetails.vue +++ b/frontend/src/views/ItemDetails.vue @@ -112,9 +112,6 @@ export default { } this.retrieveInfos() }, - beforeDestroy () { - this.$server.$off('refresh_listing') - }, methods: { retrieveInfos () { // retrieve the item details diff --git a/frontend/src/views/PlayerQueue.vue b/frontend/src/views/PlayerQueue.vue index 531ffdb3..34b4da29 100644 --- a/frontend/src/views/PlayerQueue.vue +++ b/frontend/src/views/PlayerQueue.vue @@ -1,6 +1,6 @@