Improve collection of project structure and patterns in parsers.

This commit is contained in:
2026-07-14 09:30:26 +02:00
parent b941e28768
commit c4b0b81932

View File

@@ -416,14 +416,16 @@ function getPatternsForScene(
} }
}); });
[...sources].toSorted((a, b) => a - b).forEach((padNum) => { [...sources]
patterns.push({ .toSorted((a, b) => a - b)
pad: `${group}${padNum}` as PadCode, .forEach((padNum) => {
group, patterns.push({
notes: groupPattern.notes[padNum] || [], pad: `${group}${padNum}` as PadCode,
bars: groupPattern.bars, group,
notes: groupPattern.notes[padNum] || [],
bars: groupPattern.bars,
});
}); });
});
} }
} }
@@ -454,10 +456,7 @@ function getPatternEventsForScene(
return patternEvents; return patternEvents;
} }
function buildScene( function buildScene(sceneRecord: SceneRecord, groupPatterns: Map<string, GroupPattern>): Scene {
sceneRecord: SceneRecord,
groupPatterns: Map<string, GroupPattern>,
): Scene {
return { return {
number: sceneRecord.number, number: sceneRecord.number,
name: String(sceneRecord.number).padStart(2, '0'), name: String(sceneRecord.number).padStart(2, '0'),
@@ -509,8 +508,9 @@ export function collectProjectStructure(files: TarFile[], sku: string) {
if (scenesFile?.data) { if (scenesFile?.data) {
sceneRecords = collectSceneRecords(scenesFile.data); sceneRecords = collectSceneRecords(scenesFile.data);
} else { } else {
const patternNumbers = [...new Set(groupPatterns.map((pattern) => pattern.patternNumber))] const patternNumbers = [
.toSorted((a, b) => a - b); ...new Set(groupPatterns.map((pattern) => pattern.patternNumber)),
].toSorted((a, b) => a - b);
sceneRecords = patternNumbers.map((patternNumber) => ({ sceneRecords = patternNumbers.map((patternNumber) => ({
number: patternNumber, number: patternNumber,
patternNumbers: { patternNumbers: {