@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.
- package/dist/getMeta.d.ts.map +1 -1
- package/dist/getMeta.js +11 -3
- package/dist/getMeta.js.map +1 -1
- package/dist/scripts.d.ts +1 -0
- package/dist/scripts.d.ts.map +1 -1
- package/dist/scripts.js +3 -0
- package/dist/scripts.js.map +1 -1
- package/dist/web/index.html +92 -23
- package/package.json +1 -1
package/dist/getMeta.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
60
|
-
|
|
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);
|
package/dist/getMeta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMeta.js","sourceRoot":"","sources":["../src/getMeta.ts"],"names":[],"mappings":"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
|
|
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[];
|
package/dist/scripts.d.ts.map
CHANGED
|
@@ -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,
|
|
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));
|
package/dist/scripts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../src/scripts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../src/scripts.ts"],"names":[],"mappings":"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"}
|
package/dist/web/index.html
CHANGED
|
@@ -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
|
-
.
|
|
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-
|
|
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-
|
|
356
|
-
<
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
<
|
|
361
|
-
|
|
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
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
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
|
-
|
|
554
|
-
|
|
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
|
|