Side-chains

This commit is contained in:
Robin E. R. Davies
2025-09-30 19:59:47 -04:00
parent ca1d4bad69
commit 25494d6f3c
19 changed files with 723 additions and 180 deletions
+23 -7
View File
@@ -550,19 +550,16 @@ export class PiPedalModel //implements PiPedalModel
);
zoomedUiControl: ObservableProperty<ZoomedControlInfo | undefined> = new ObservableProperty<ZoomedControlInfo | undefined>(undefined);
uiPluginsByUri: Map<string, UiPlugin> = new Map<string, UiPlugin>();
svgImgUrl(svgImage: string): string {
//return this.varServerUrl + "img/" + svgImage;
// return this.varServerUrl + "img/" + svgImage;
return "img/" + svgImage;
}
getUiPlugin(uri: string): UiPlugin | null {
let plugins: UiPlugin[] = this.ui_plugins.get();
for (let plugin of plugins) {
if (plugin.uri === uri) return plugin;
}
return null;
return this.uiPluginsByUri.get(uri) ?? null;
}
androidHost?: AndroidHostInterface;
@@ -1210,6 +1207,11 @@ export class PiPedalModel //implements PiPedalModel
this.ui_plugins.set(
UiPlugin.deserialize_array(await this.getWebSocket().request<any>("plugins"))
);
// index ui plugins.
this.uiPluginsByUri = new Map<string, UiPlugin>();
for (let i of this.ui_plugins.get()) {
this.uiPluginsByUri.set(i.uri, i);
}
this.setModelPedalboard(
new Pedalboard().deserialize(
await this.getWebSocket().request<Pedalboard>("currentPedalboard")
@@ -3552,6 +3554,20 @@ export class PiPedalModel //implements PiPedalModel
copyPresetsToBank(bankInstanceId: number, presets: number[]): Promise<number> {
return nullCast(this.webSocket).request<number>("copyPresetsToBank", {bankInstanceId: bankInstanceId, presets: presets});
}
setPedalboardSideChainInput(instanceId: number, sideChainInputId: number): void {
let pedalboard = this.pedalboard.get().clone();
let pedalboardItem = pedalboard.getItem(instanceId);
if (!pedalboardItem)
{
return;
}
pedalboardItem.sideChainInputId = sideChainInputId;
pedalboardItem.instanceId = ++pedalboard.nextInstanceId;
pedalboard.selectedPlugin = pedalboardItem.instanceId;
this.setModelPedalboard(pedalboard);
this.updateServerPedalboard();
}
};
let instance: PiPedalModel | undefined = undefined;