diff options
| author | (quasar) nebula <qznebula@protonmail.com> | 2026-01-16 09:14:47 -0400 |
|---|---|---|
| committer | (quasar) nebula <qznebula@protonmail.com> | 2026-01-16 09:14:47 -0400 |
| commit | 2b66d66d5d89f2a6d914bef1abb997497657b10d (patch) | |
| tree | 9aa939ed6fbcc37b09734f2cc5e759a52e58322f /src/data/things/track.js | |
| parent | f177fba63f3d42c45b16a0b6246b7c2f7726e6ca (diff) | |
data, content, css: basic music video implementation preview
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; |