diff options
Diffstat (limited to 'src/data/things/track.js')
| -rw-r--r-- | src/data/things/track.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/data/things/track.js b/src/data/things/track.js index 3c4b5409..8652fbdf 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -31,6 +31,7 @@ import { parseDimensions, parseDuration, parseLyrics, + parseMusicVideos, } from '#yaml'; import { @@ -113,6 +114,7 @@ export class Track extends Thing { CommentaryEntry, CreditingSourcesEntry, LyricsEntry, + MusicVideo, ReferencingSourcesEntry, TrackSection, WikiInfo, @@ -488,6 +490,10 @@ export class Track extends Thing { }), ], + // > Update & expose - Music videos + + musicVideos: thingList(V(MusicVideo)), + // > Update & expose - Additional files additionalFiles: thingList(V(AdditionalFile)), @@ -993,6 +999,13 @@ export class Track extends Thing { 'Referenced Tracks': {property: 'referencedTracks'}, 'Sampled Tracks': {property: 'sampledTracks'}, + // Music videos + + 'Music Videos': { + property: 'musicVideos', + transform: parseMusicVideos, + }, + // Additional files 'Additional Files': { @@ -1216,6 +1229,18 @@ export class Track extends Thing { ]; } + getOwnMusicVideoCoverPath(musicVideo) { + if (!this.album) return null; + if (!musicVideo.unqualifiedDirectory) return null; + + return [ + 'media.trackCover', + this.album.directory, + this.directory + '-' + musicVideo.unqualifiedDirectory, + musicVideo.coverArtFileExtension, + ]; + } + countOwnContributionInContributionTotals(_contrib) { if (!this.countInArtistTotals) { return false; |