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 {
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<Group, number>;
timeSignature: TimeSignature;
};
type IntermediateScenes = Record<
number,
{
name: string;
groups: Record<string, ParsedPatternData>;
}
>;
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;