From fce00039127d23b3a0d7bc8dbcbc73e14cb8e1f2 Mon Sep 17 00:00:00 2001 From: Borewit Date: Sat, 24 Feb 2018 16:24:56 +0100 Subject: [PATCH] Add audio metadata standalone entries for: year & release information --- src/renderer/pages/player-page.js | 121 ++++++++++++++++-------------- 1 file changed, 63 insertions(+), 58 deletions(-) diff --git a/src/renderer/pages/player-page.js b/src/renderer/pages/player-page.js index 5eaad2f9..0008b258 100644 --- a/src/renderer/pages/player-page.js +++ b/src/renderer/pages/player-page.js @@ -210,34 +210,69 @@ function renderAudioMetadata (state) { const common = fileSummary.audioInfo.common // Get audio track info - let title = common.title - if (!title) { - title = fileSummary.name - } - let artist = common.albumartist || common.artist || + const title = common.title ? common.title : fileSummary.name + + // Show a small info box in the middle of the screen with title/album/etc + const elems = [] + + // Audio metadata: artist(s) + const artist = common.albumartist || common.artist || (common.artists && common.artists.filter(function (a) { return a }).join(', ')) || '(Unknown Artist)' - let album = common.album - if (album && common.year && !album.includes(common.year)) { - album += ' (' + common.year + ')' - if (common.label || common.catalognumber) { - album += ', ' - let releaseInfo = [] - if (common.label) { - releaseInfo.push(common.label) - } - if (common.catalognumber) { - releaseInfo.push(common.catalognumber) - } - album += releaseInfo.join(' / ') - } - } - let track - if (common.track && common.track.no && common.track.of) { - track = common.track.no + ' of ' + common.track.of + if (artist) { + elems.push(( +
+ {artist} +
+ )) } - let format = [] + // Audio metadata: album + if (common.album) { + elems.push(( +
+ {common.album} +
+ )) + } + + // Audio metadata: year + if (common.year) { + elems.push(( +
+ {common.year} +
+ )) + } + + // Audio metadata: release information (label & catalog-number) + if (common.label || common.catalognumber) { + const releaseInfo = [] + if (common.label) { + releaseInfo.push(common.label) + } + if (common.catalognumber) { + releaseInfo.push(common.catalognumber) + } + elems.push(( +
+ { releaseInfo.join(' / ') } +
+ )) + } + + // 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 = [] if (fileSummary.audioInfo.format.dataformat) { format.push(fileSummary.audioInfo.format.dataformat) } @@ -250,38 +285,7 @@ function renderAudioMetadata (state) { if (fileSummary.audioInfo.format.bitsPerSample) { format.push(fileSummary.audioInfo.format.bitsPerSample + ' bit') } - format = format.join(', ') - - let comments - if (common.comment) { - comments = common.comment.join(' / ') - } - - // Show a small info box in the middle of the screen with title/album/etc - const elems = [] - if (artist) { - elems.push(( -
- {artist} -
- )) - } - if (album) { - elems.push(( -
- {album} -
- )) - } - if (track) { - elems.push(( -
- {track} -
- )) - } - - if (format) { + if (format.size > 0) { elems.push((
{format} @@ -289,10 +293,11 @@ function renderAudioMetadata (state) { )) } - if (comments) { + // Audio metadata: comments + if (common.comment) { elems.push((
- {comments} + {common.comment.join(' / ')}
)) }