Update type definitions for scene data and add project group constant

This commit is contained in:
2026-07-14 09:27:58 +02:00
parent 4cba5227d0
commit 381901e892

View File

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