« get me outta code hell

data: annotated artwork references - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/things/track.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-11-14 07:37:14 -0400
committer(quasar) nebula <qznebula@protonmail.com>2024-11-14 07:37:14 -0400
commit913f418eadb0b085c805ff1c83b749a0ce620741 (patch)
tree6d369056d724552ac5191930ae87c05b93ee64fc /src/data/things/track.js
parentdb0fd78ca60fc695f87d1f3adf53967bdae2796f (diff)
data: annotated artwork references
Not used on-site, but this is all coded internally.
Diffstat (limited to 'src/data/things/track.js')
-rw-r--r--src/data/things/track.js17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/data/things/track.js b/src/data/things/track.js
index 586e5f4c..078ad11b 100644
--- a/src/data/things/track.js
+++ b/src/data/things/track.js
@@ -15,6 +15,7 @@ import {
   parseDate,
   parseDimensions,
   parseDuration,
+  parseReferencedArtworks,
 } from '#yaml';
 
 import {withPropertyFromObject} from '#composite/data';
@@ -47,6 +48,7 @@ import {
   flag,
   name,
   referenceList,
+  referencedArtworkList,
   reverseReferenceList,
   simpleDate,
   simpleString,
@@ -324,7 +326,7 @@ export class Track extends Thing {
         value: input.value([]),
       }),
 
-      referenceList({
+      referencedArtworkList({
         class: input.value(Track),
         find: input.value(find.track),
         data: 'trackData',
@@ -336,7 +338,7 @@ export class Track extends Thing {
         value: input.value([]),
       }),
 
-      referenceList({
+      referencedArtworkList({
         class: input.value(Album),
         find: input.value(find.album),
         data: 'albumData',
@@ -506,8 +508,15 @@ export class Track extends Thing {
       'Referenced Tracks': {property: 'referencedTracks'},
       'Sampled Tracks': {property: 'sampledTracks'},
 
-      'Referenced Track Artworks': {property: 'referencedTrackArtworks'},
-      'Referenced Album Artworks': {property: 'referencedAlbumArtworks'},
+      'Referenced Track Artworks': {
+        property: 'referencedTrackArtworks',
+        transform: parseReferencedArtworks,
+      },
+
+      'Referenced Album Artworks': {
+        property: 'referencedAlbumArtworks',
+        transform: parseReferencedArtworks,
+      },
 
       'Franchises': {ignore: true},
       'Inherit Franchises': {ignore: true},