diff --git a/src/types/types.ts b/src/types/types.ts index 7f66287..dec8af3 100644 --- a/src/types/types.ts +++ b/src/types/types.ts @@ -123,6 +123,15 @@ export type PatternEvent = | MidiPatternEvent | UnknownPatternEvent; +export type GroupPattern = { + group: Group; + patternNumber: number; + bars: number; + recordCount: number; + events: PatternEvent[]; + notes: Record; +}; + export type SceneGroupPatternData = { group: Group; patternNumber: number; @@ -132,11 +141,19 @@ export type SceneGroupPatternData = { }; export type Scene = { + number: number; name: string; + patternNumbers: Record; + timeSignature: TimeSignature; patterns: Pattern[]; patternEvents: Partial>; }; +export type SongPosition = { + position: number; + sceneNumber: number; +}; + export type Note = { note: number; position: number; @@ -170,7 +187,9 @@ export type Pad = { export type ProjectRawData = { pads: Record; + groupPatterns: GroupPattern[]; scenes: Scene[]; + songPositions: SongPosition[]; settings: ProjectSettings; effects: Effects; sounds: Sound[]; @@ -231,6 +250,7 @@ export type ExporterParams = { allScenes?: boolean; // export all scenes selectedScenes?: string[]; // export only selected scenes (when allScenes is false) customSceneNames?: Record; + keepUnusedPatterns?: boolean; }; export type SoundInfo = {