« get me outta code hell

data: Track.contributors: be free (secreleases can override) - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/things
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2026-01-11 09:35:32 -0400
committer(quasar) nebula <qznebula@protonmail.com>2026-01-11 09:35:56 -0400
commita04b877acfd3885ea1bfb110cdcff2dd363d7a13 (patch)
treeebefbe952970b7e3d9454cdb0e304dfba66760d2 /src/data/things
parent2c79e815f2e6ed2bee47d6b8f5bb7fcced711a27 (diff)
data: Track.contributors: be free (secreleases can override)
Diffstat (limited to 'src/data/things')
-rw-r--r--src/data/things/track.js21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/data/things/track.js b/src/data/things/track.js
index f77cfa41..3c4b5409 100644
--- a/src/data/things/track.js
+++ b/src/data/things/track.js
@@ -289,12 +289,20 @@ export class Track extends Thing {
     ],
 
     contributorContribs: [
-      inheritContributionListFromMainRelease(),
-
-      contributionList({
+      withResolvedContribs({
+        from: input.updateValue({validate: isContributionList}),
         date: 'date',
-        artistProperty: input.value('trackContributorContributions'),
+        thingProperty: input.thisProperty(),
+        artistProperty: input.value('trackArtistContributions'),
+      }).outputs({
+        '#resolvedContribs': '#contributorContribs',
       }),
+
+      exposeDependencyOrContinue('#contributorContribs', V('empty')),
+
+      inheritContributionListFromMainRelease(),
+
+      exposeConstant(V([])),
     ],
 
     // > Update & expose - General configuration
@@ -1047,11 +1055,6 @@ export class Track extends Thing {
         'Sampled Tracks',
       ]},
 
-      {message: `Secondary releases inherit contributors from the main one`, fields: [
-        'Main Release',
-        'Contributors',
-      ]},
-
       {
         message: ({'Has Cover Art': hasCoverArt}) =>
           (hasCoverArt