diff --git a/src/lib/parsers.ts b/src/lib/parsers.ts index ea5fd6d..b6a3fc6 100644 --- a/src/lib/parsers.ts +++ b/src/lib/parsers.ts @@ -2,6 +2,7 @@ import JSZip from 'jszip'; import { Group, GroupFaderParam, + GroupPattern, Note, Pad, PadCode, @@ -12,7 +13,9 @@ import { Scene, SceneGroupPatternData, ScenesSettings, + SongPosition, Sound, + TimeSignature, } from '../types/types'; import { GROUPS, NOTE_NAMES, PADS, SKU_EP40 } from './constants'; import { parseWavMetadata } from './exporters/utils'; @@ -21,21 +24,12 @@ import { TESoundMetadata } from './midi/types'; import { TarFile } from './untar'; import { calculateSoundLength } from './utils'; -type SceneMeta = { - a: number; - b: number; - c: number; - d: number; +type SceneRecord = { + number: number; + patternNumbers: Record; + timeSignature: TimeSignature; }; -type IntermediateScenes = Record< - number, - { - name: string; - groups: Record; - } ->; - export type ParsedPatternData = { bars: number; recordCount: number; @@ -60,6 +54,8 @@ const defaultScenesSettings = { timeSignature: { numerator: 4, denominator: 4 }, }; +const projectGroups: Group[] = ['a', 'b', 'c', 'd']; + export function noteNumberToName(noteNumber: number): string { const noteIndex = noteNumber % 12; const octave = Math.floor(noteNumber / 12) - 1;