From 83d037e83fc5f7b8af3bb8b74b59e7accf0a2a42 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Mon, 16 Feb 2026 16:26:06 -0400 Subject: data: "Reference By Directory" field with schnuance --- src/data/things/album/Album.js | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'src/data/things/album/Album.js') diff --git a/src/data/things/album/Album.js b/src/data/things/album/Album.js index 8dcc6854..61420e52 100644 --- a/src/data/things/album/Album.js +++ b/src/data/things/album/Album.js @@ -7,6 +7,7 @@ import {is, isContributionList, isDate, isDirectory, isNumber} import { parseAdditionalFiles, parseAdditionalNames, + parseAlwaysReferenceByDirectory, parseAnnotatedReferences, parseArtwork, parseCommentary, @@ -100,7 +101,21 @@ export class Album extends Thing { ], alwaysReferenceByDirectory: flag(V(false)), - alwaysReferenceTracksByDirectory: flag(V(false)), + + referenceTracksByDirectory: [ + exposeUpdateValueOrContinue({ + validate: input.value( + is(...[ + 'always', + 'outside album', + // 'outside groups', + 'normally', + ])), + }), + + exposeConstant(V('normally')), + ], + suffixTrackDirectories: flag(V(false)), style: [ @@ -567,7 +582,14 @@ export class Album extends Thing { 'Directory Suffix': {property: 'directorySuffix'}, 'Suffix Track Directories': {property: 'suffixTrackDirectories'}, 'Always Reference By Directory': {property: 'alwaysReferenceByDirectory'}, - 'Always Reference Tracks By Directory': {property: 'alwaysReferenceTracksByDirectory'}, + + 'Reference Tracks By Directory': {property: 'referenceTracksByDirectory'}, + + 'Always Reference Tracks By Directory': { + property: 'referenceTracksByDirectory', + transform: parseAlwaysReferenceByDirectory, + }, + 'Style': {property: 'style'}, 'Bandcamp Album ID': { -- cgit 1.3.0-6-gf8a5