From d40449f2edb44e148d93676e4d85f1db6a92ef49 Mon Sep 17 00:00:00 2001 From: Borewit Date: Tue, 25 Sep 2018 23:51:45 +0200 Subject: [PATCH] Fix audio track number not displayed and adds audio disk (media) number (#1454) * Fix issue track number not displayed if total number of tracks is not defined (common.track.of === null). * Add disk number in addition to track number. * Update order of audio properties from: album, track, disk, format to track, disk, album, format * Return JSX block. * Get rid of third parameter which is replaced by CSS capitalize * Fixed error when value is undefined. --- src/renderer/pages/player-page.js | 41 +++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/src/renderer/pages/player-page.js b/src/renderer/pages/player-page.js index 61b11905..826d7aeb 100644 --- a/src/renderer/pages/player-page.js +++ b/src/renderer/pages/player-page.js @@ -204,6 +204,28 @@ function renderOverlay (state) { ) } +/** + * Render track or disk number string + * @param common metadata.common part + * @param key should be either 'track' or 'disk' + * @return track or disk number metadata as JSX block + */ +function renderTrack (common, key) { + // Audio metadata: track-number + if (common[key] && common[key].no) { + let str = `${common[key].no}` + if (common[key].of) { + str += ` of ${common[key].of}` + } + const style = { textTransform: 'capitalize' } + return ( +
+ {str} +
+ ) + } +} + function renderAudioMetadata (state) { const fileSummary = state.getPlayingFileSummary() if (!fileSummary.audioInfo) return @@ -227,6 +249,15 @@ function renderAudioMetadata (state) { )) } + // Audio metadata: disk & track-number + const count = ['track', 'disk'] + count.forEach(key => { + const nrElem = renderTrack(common, key) + if (nrElem) { + elems.push(nrElem) + } + }) + // Audio metadata: album if (common.album) { elems.push(( @@ -269,16 +300,6 @@ function renderAudioMetadata (state) { )) } - // Audio metadata: track-number - if (common.track && common.track.no && common.track.of) { - const track = common.track.no + ' of ' + common.track.of - elems.push(( -
- {track} -
- )) - } - // Audio metadata: format const format = [] fileSummary.audioInfo.format = fileSummary.audioInfo.format || ''