diff --git a/vite/src/pipedal/PiPedalModel.tsx b/vite/src/pipedal/PiPedalModel.tsx index d356d89..0c939d5 100644 --- a/vite/src/pipedal/PiPedalModel.tsx +++ b/vite/src/pipedal/PiPedalModel.tsx @@ -3986,6 +3986,39 @@ export class PiPedalModel //implements PiPedalModel ); } + // ------------------------------------------------------------------------- + // Mixer Scene Management + // ------------------------------------------------------------------------- + + /** + * Get the full mixer state as a JSON string. + */ + async getMixerState(): Promise { + return await this.getWebSocket().request("mixerGetState"); + } + + /** + * Save the current mixer state as a named scene. + * Returns {id, name} from the backend. + */ + async saveMixerScene(name: string): Promise<{ id: number; name: string }> { + return await this.getWebSocket().request<{ id: number; name: string }>("mixerSaveScene", { name }); + } + + /** + * Load a scene by its backend ID. Returns true on success. + */ + async loadMixerScene(sceneId: number): Promise { + return await this.getWebSocket().request("mixerLoadScene", { sceneId }); + } + + /** + * Get list of saved scenes from backend. Returns raw JSON string. + */ + async getMixerScenes(): Promise { + return await this.getWebSocket().request("mixerGetScenes"); + } + }; let instance: PiPedalModel | undefined = undefined;