@emgeebee/music_downcoder 1.1.5 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"getMeta.d.ts","sourceRoot":"","sources":["../src/getMeta.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAK5C,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AA4CD,qBAAa,UAAU;IAKnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,YAAY,CAAQ;gBAGT,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,OAAO;IAS7B,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkGnE,SAAS,IAAI,IAAI;CAMlB"}
1
+ {"version":3,"file":"getMeta.d.ts","sourceRoot":"","sources":["../src/getMeta.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAK5C,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AA4CD,qBAAa,UAAU;IAKnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,YAAY,CAAQ;gBAGT,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,OAAO;IAS7B,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA6GnE,SAAS,IAAI,IAAI;CAMlB"}
package/dist/getMeta.js CHANGED
@@ -54,16 +54,24 @@ export class MetaGetter {
54
54
  console.log("read meta for %s: %s", fullArtist, fullAlbum);
55
55
  }
56
56
  else {
57
+ let loadedFromBackup = false;
57
58
  try {
58
59
  const backupMeta = fs.readFileSync(backupFile, "utf-8");
59
- if (backupMeta && JSON.parse(backupMeta).year !== undefined) {
60
- const { fullAlbum, fullArtist, genre, year } = JSON.parse(backupMeta);
60
+ const parsed = JSON.parse(backupMeta);
61
+ if (backupMeta &&
62
+ parsed &&
63
+ typeof parsed === "object" &&
64
+ parsed.year !== undefined) {
65
+ const { fullAlbum, fullArtist, genre, year } = parsed;
61
66
  console.log("read backup meta for %s: %s", fullArtist, fullAlbum);
62
67
  this.metaData[dirPath] = { fullAlbum, fullArtist, genre, year };
68
+ loadedFromBackup = true;
63
69
  }
64
- throw new Error("no complete backup file");
65
70
  }
66
71
  catch {
72
+ // missing or unreadable album meta.json
73
+ }
74
+ if (!loadedFromBackup) {
67
75
  console.log(` no backup file at ${backupFile}, falling back to ffmpeg`);
68
76
  const inputPath = shellPath(dirPath, filename);
69
77
  const meta = await readFfmpegMetadata(this.config.ffmpeg, inputPath);
@@ -1 +1 @@
1
- {"version":3,"file":"getMeta.js","sourceRoot":"","sources":["../src/getMeta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAajC,MAAM,kBAAkB,GAAG,CACzB,MAAc,EACd,SAAiB,EACA,EAAE,CACnB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,KAAK,GAAG,KAAK,CACjB,MAAM,EACN,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,EACrD,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CACtC,CAAC;IAEF,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,iBAAiB,GAAG,IAAI,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC;IACzF,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAEtB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,IAAI,SAAS,SAAS,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAChF,OAAO;QACT,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,OAAO,UAAU;IAKF;IACA;IALX,QAAQ,GAAkB,EAAE,CAAC;IAC7B,YAAY,GAAG,IAAI,CAAC;IAE5B,YACmB,MAAiB,EACjB,OAAgB;QADhB,WAAM,GAAN,MAAM,CAAW;QACjB,YAAO,GAAP,OAAO,CAAS;QAEjC,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,QAAgB;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnD,IACE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,SAAS;YACzC,IAAI,CAAC,YAAY,EACjB,CAAC;YACD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACxD,IAAI,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC5D,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBACtE,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;oBAClE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBAClE,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,0BAA0B,CAAC,CAAC;gBACxE,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC/C,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACrE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE5D,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBACrD,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBAChE,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAEjD,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,MAAM,sBAAsB,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEvC,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,IAAI,SAAS,GAAG,EAAE,CAAC;gBAEnB,IAAI,gBAAgB,IAAI,CAAC,iBAAiB,IAAI,sBAAsB,CAAC,EAAE,CAAC;oBACtE,UAAU,GAAG,sBAAsB;wBACjC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;wBAC3B,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACjC,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,CAAC;gBAED,MAAM,YAAY,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAEjE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAC7C,eAAe,KAAK,cAAc,UAAU,aAAa,SAAS,YAAY,YAAY,EAAE,CAC7F,CAAC;gBAEF,IAAI,eAAe,GAAG,EAAE,CAAC;gBACzB,IAAI,cAAc,GAAG,EAAE,CAAC;gBACxB,IAAI,cAAc,GAAG,EAAE,CAAC;gBACxB,IAAI,aAAa,GAAG,EAAE,CAAC;gBAEvB,IAAI,YAAY,EAAE,CAAC;oBACjB,eAAe,GAAG,UAAU,CAAC;oBAC7B,cAAc,GAAG,SAAS,CAAC;oBAC3B,cAAc,GAAG,KAAK,CAAC;oBACvB,aAAa,GAAG,YAAY,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;oBACxE,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACxC,eAAe,UAAU,EAAE,EAC3B,UAAU,CACX,CAAC;oBACF,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACvC,cAAc,SAAS,EAAE,EACzB,SAAS,CACV,CAAC;oBACF,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACtC,aAAa,YAAY,EAAE,EAC3B,YAAY,CACb,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG;oBACvB,UAAU,EAAE,eAAe;oBAC3B,SAAS,EAAE,cAAc;oBACzB,KAAK,EAAE,cAAc;oBACrB,IAAI,EAAE,aAAa;iBACpB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAa;YACvB,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU;YAC7C,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS;YAC3C,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YACnC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI;SAClC,CAAC;QAEF,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE3D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS;QACP,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAC5C,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"getMeta.js","sourceRoot":"","sources":["../src/getMeta.ts"],"names":[],"mappings":"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"}
package/dist/scripts.d.ts CHANGED
@@ -7,6 +7,7 @@ export interface ScriptInfo {
7
7
  album: string;
8
8
  type: string;
9
9
  trackCount: number;
10
+ commands: string[];
10
11
  }
11
12
  export declare const describeScript: (scriptPath: string, config: AppConfig) => ScriptInfo;
12
13
  export declare const describeScripts: (scriptPaths: string[], config: AppConfig) => ScriptInfo[];
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../src/scripts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAgED,eAAO,MAAM,cAAc,GACzB,YAAY,MAAM,EAClB,QAAQ,SAAS,KAChB,UA2CF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,aAAa,MAAM,EAAE,EACrB,QAAQ,SAAS,KAChB,UAAU,EAAyE,CAAC"}
1
+ {"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../src/scripts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAgED,eAAO,MAAM,cAAc,GACzB,YAAY,MAAM,EAClB,QAAQ,SAAS,KAChB,UA8CF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,aAAa,MAAM,EAAE,EACrB,QAAQ,SAAS,KAChB,UAAU,EAAyE,CAAC"}
package/dist/scripts.js CHANGED
@@ -52,10 +52,12 @@ export const describeScript = (scriptPath, config) => {
52
52
  let artist = "Unknown artist";
53
53
  let album = "Unknown album";
54
54
  let trackCount = 0;
55
+ let commands = [];
55
56
  try {
56
57
  const content = fs.readFileSync(scriptPath, "utf-8");
57
58
  const lines = content.split("\n");
58
59
  trackCount = countTracks(lines);
60
+ commands = lines.map((line) => line.trimEnd()).filter((line) => line.length > 0);
59
61
  if (encoderOut) {
60
62
  for (const line of lines) {
61
63
  const outputPath = extractLastQuotedPath(line);
@@ -83,6 +85,7 @@ export const describeScript = (scriptPath, config) => {
83
85
  album,
84
86
  type: encoder.label,
85
87
  trackCount,
88
+ commands,
86
89
  };
87
90
  };
88
91
  export const describeScripts = (scriptPaths, config) => scriptPaths.map((scriptPath) => describeScript(scriptPath, config));
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../src/scripts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../src/scripts.ts"],"names":[],"mappings":"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"}
@@ -95,6 +95,20 @@
95
95
  .form-group {
96
96
  margin-bottom: 1.1rem;
97
97
  }
98
+ .form-row {
99
+ display: grid;
100
+ gap: 1rem;
101
+ grid-template-columns: 1fr 1fr;
102
+ margin-bottom: 1.1rem;
103
+ }
104
+ .form-row .form-group {
105
+ margin-bottom: 0;
106
+ }
107
+ @media (max-width: 900px) {
108
+ .form-row {
109
+ grid-template-columns: 1fr;
110
+ }
111
+ }
98
112
  .form-group:last-of-type {
99
113
  margin-bottom: 0;
100
114
  }
@@ -283,29 +297,64 @@
283
297
  gap: 0.45rem;
284
298
  margin-bottom: 0.25rem;
285
299
  }
286
- .empty-state {
287
- color: var(--text-muted);
288
- font-size: 0.92rem;
289
- padding: 0.5rem 0;
290
- }
291
- .script-row {
292
- align-items: center;
300
+ .script-accordion {
293
301
  background: var(--surface-raised);
294
302
  border: 1px solid var(--border);
295
303
  border-radius: var(--radius-sm);
304
+ overflow: hidden;
305
+ }
306
+ .script-accordion[open] {
307
+ border-color: color-mix(in srgb, var(--accent) 35%, var(--border));
308
+ }
309
+ .script-summary {
310
+ align-items: center;
311
+ cursor: pointer;
296
312
  display: flex;
297
313
  gap: 0.75rem;
298
314
  justify-content: space-between;
315
+ list-style: none;
299
316
  padding: 0.55rem 0.65rem 0.55rem 0.8rem;
300
317
  }
301
- .script-row code {
318
+ .script-summary::-webkit-details-marker {
319
+ display: none;
320
+ }
321
+ .script-summary::before {
322
+ color: var(--text-muted);
323
+ content: "▸";
324
+ flex-shrink: 0;
325
+ font-size: 0.75rem;
326
+ transition: transform 0.15s;
327
+ width: 0.75rem;
328
+ }
329
+ .script-accordion[open] .script-summary::before {
330
+ transform: rotate(90deg);
331
+ }
332
+ .script-title {
302
333
  flex: 1;
303
334
  font-family: ui-monospace, "Cascadia Code", "SF Mono", monospace;
304
335
  font-size: 0.84rem;
336
+ min-width: 0;
305
337
  overflow: hidden;
306
338
  text-overflow: ellipsis;
307
339
  white-space: nowrap;
308
340
  }
341
+ .script-commands {
342
+ background: #00000010;
343
+ border-top: 1px solid var(--border);
344
+ font-family: ui-monospace, "Cascadia Code", "SF Mono", monospace;
345
+ font-size: 0.78rem;
346
+ line-height: 1.45;
347
+ margin: 0;
348
+ max-height: 16rem;
349
+ overflow: auto;
350
+ padding: 0.65rem 0.8rem;
351
+ white-space: pre-wrap;
352
+ }
353
+ .empty-state {
354
+ color: var(--text-muted);
355
+ font-size: 0.92rem;
356
+ padding: 0.5rem 0;
357
+ }
309
358
  .app-version {
310
359
  color: var(--text-muted);
311
360
  font-size: 0.82rem;
@@ -352,13 +401,15 @@
352
401
  <h2>Scan library</h2>
353
402
  </div>
354
403
  <form id="run-form">
355
- <div class="form-group">
356
- <h3 class="form-label">Source folder</h3>
357
- <div class="option-grid" id="start-folders"></div>
358
- </div>
359
- <div class="form-group">
360
- <h3 class="form-label">Encoders</h3>
361
- <div class="option-grid" id="encoders"></div>
404
+ <div class="form-row">
405
+ <div class="form-group">
406
+ <h3 class="form-label">Source folder</h3>
407
+ <div class="option-grid" id="start-folders"></div>
408
+ </div>
409
+ <div class="form-group">
410
+ <h3 class="form-label">Encoders</h3>
411
+ <div class="option-grid" id="encoders"></div>
412
+ </div>
362
413
  </div>
363
414
  <label class="filter-field">
364
415
  <span>Artist filter (prefix)</span>
@@ -521,16 +572,24 @@
521
572
  return;
522
573
  }
523
574
  for (const script of scripts) {
524
- const row = document.createElement("div");
525
- row.className = "script-row";
526
- const code = document.createElement("code");
527
- code.textContent = script.displayName;
528
- code.title = script.name;
575
+ const item = document.createElement("details");
576
+ item.className = "script-accordion";
577
+
578
+ const summary = document.createElement("summary");
579
+ summary.className = "script-summary";
580
+
581
+ const title = document.createElement("span");
582
+ title.className = "script-title";
583
+ title.textContent = script.displayName;
584
+ title.title = script.name;
585
+
529
586
  const btn = document.createElement("button");
530
587
  btn.type = "button";
531
588
  btn.className = "btn-primary btn-sm";
532
589
  btn.textContent = "Run";
533
- btn.addEventListener("click", async () => {
590
+ btn.addEventListener("click", async (event) => {
591
+ event.preventDefault();
592
+ event.stopPropagation();
534
593
  setBusy(true);
535
594
  appendLog(`Running ${script.displayName}...`);
536
595
  const res = await fetch("/api/scripts/run", {
@@ -550,8 +609,18 @@
550
609
  }
551
610
  setBusy(false);
552
611
  });
553
- row.append(code, btn);
554
- scriptsList.append(row);
612
+
613
+ summary.append(title, btn);
614
+ item.append(summary);
615
+
616
+ if (script.commands?.length) {
617
+ const commands = document.createElement("pre");
618
+ commands.className = "script-commands";
619
+ commands.textContent = script.commands.join("\n");
620
+ item.append(commands);
621
+ }
622
+
623
+ scriptsList.append(item);
555
624
  }
556
625
  };
557
626
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emgeebee/music_downcoder",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "description": "Scan music libraries and generate ffmpeg conversion scripts with a CLI or web UI",
5
5
  "type": "module",
6
6
  "bin": {