/* * Pool can be renamed !! So better */ type DataPoolClass = Obj & { 2: Filters; // Filters 4: PresetPools; // PresetPools 5: Groups; // Groups 6: Sequences; // Sequences 7: Plugins; // Plugins 8: Macros; // default name: Macros 10: MAtricks; // MATricks 12: Pages; // Pages 13: Layouts; // Layouts 14: Timecodes; // Timecodes }; type Groups = Obj; type Group = Obj & { selectionData: FixtureSelectionData[]; }; type FixtureSelectionData = { grid: { inv: number; x: number; x_inv: number; y: number; y_inv: number; z: number; z_inv: number; }; sf_index: number; }; type Filters = Obj; type FilterProps = ObjProps & {}; type Filter = Obj; type RecipeProps = ObjProps & {}; type Recipe = Obj & { selection: Group; values: Preset; matricks: Obj; filter: Obj; }; type Timecodes = Obj & { [key: string]: Timecode }; type Timecode = Obj & { Triggers: Triggers }; type Triggers = Obj & { [key: string]: Track }; type Track = Obj; type TimeRange = Obj; type CmdSubTrack = Obj; type CmdSubTrackEventProps = ObjProps & { rawTime: number; }; type CmdSubTrackEvent = Obj; declare namespace MA3_v2_0_2 { type FilterProps = ObjProps & { active: boolean; }; }