diff --git a/lv2/aarch64/ToobAmp.lv2/PowerStage2.ttl b/lv2/aarch64/ToobAmp.lv2/PowerStage2.ttl index ac89e4b..749b344 100644 --- a/lv2/aarch64/ToobAmp.lv2/PowerStage2.ttl +++ b/lv2/aarch64/ToobAmp.lv2/PowerStage2.ttl @@ -62,7 +62,7 @@ pstage:stage3 a lv2:Plugin , lv2:SimulatorPlugin ; - doap:name "TooB2 Power Stage"; + doap:name "TooB Power Stage"; doap:license ; doap:maintainer ; @@ -70,7 +70,7 @@ pstage:stage3 lv2:microVersion 1 ; mod:brand "TooB"; - mod:label "Power Stage 2.0"; + mod:label "Power Stage"; lv2:requiredFeature urid:map ; lv2:optionalFeature lv2:hardRTCapable; lv2:extensionData state:interface; diff --git a/lv2/aarch64/ToobAmp.lv2/ToobAmp.so.0.1.5 b/lv2/aarch64/ToobAmp.lv2/ToobAmp.so.0.1.5 index 4c99dc4..8abc92b 100644 Binary files a/lv2/aarch64/ToobAmp.lv2/ToobAmp.so.0.1.5 and b/lv2/aarch64/ToobAmp.lv2/ToobAmp.so.0.1.5 differ diff --git a/lv2/aarch64/ToobAmp.lv2/ToobFreeverb.ttl b/lv2/aarch64/ToobAmp.lv2/ToobFreeverb.ttl index edee674..c6578a3 100644 --- a/lv2/aarch64/ToobAmp.lv2/ToobFreeverb.ttl +++ b/lv2/aarch64/ToobAmp.lv2/ToobFreeverb.ttl @@ -32,7 +32,7 @@ a lv2:Plugin , - lv2:SimulatorPlugin ; + lv2:ReverbPlugin ; doap:name "TooB Freeverb" , "TooB Freeverb"@en-gb ; diff --git a/lv2/aarch64/ToobAmp.lv2/manifest.ttl b/lv2/aarch64/ToobAmp.lv2/manifest.ttl index 91efa9e..144ac30 100644 --- a/lv2/aarch64/ToobAmp.lv2/manifest.ttl +++ b/lv2/aarch64/ToobAmp.lv2/manifest.ttl @@ -12,13 +12,6 @@ rdfs:seeAlso . - - - - a lv2:Plugin ; - lv2:binary ; - rdfs:seeAlso . - a lv2:Plugin ; lv2:binary ; rdfs:seeAlso . diff --git a/react/src/MainPage.tsx b/react/src/MainPage.tsx index 834f411..4482a45 100644 --- a/react/src/MainPage.tsx +++ b/react/src/MainPage.tsx @@ -116,11 +116,7 @@ export const MainPage = super(props); this.model = PiPedalModelFactory.getInstance(); let pedalboard = this.model.pedalBoard.get(); - let selectedPedal = -1; - if (pedalboard.items.length !== 0) - { - selectedPedal = pedalboard.items[0].instanceId; - } + let selectedPedal = pedalboard.getFirstSelectableItem(); this.state = { selectedPedal: selectedPedal, @@ -196,18 +192,11 @@ export const MainPage = } onPedalBoardChanged(value: PedalBoard) { let selectedItem = -1; - for (let i = 0; i < value.items.length; ++i) + if (value.hasItem(this.state.selectedPedal)) { - if (this.state.selectedPedal === value.items[i].instanceId) - { - selectedItem = this.state.selectedPedal; - break; - } - } - // if no selection the current pedalboard, reset to the first item. - if (selectedItem === -1) - { - selectedItem = value.items[0].instanceId; + selectedItem = this.state.selectedPedal; + } else { + selectedItem = value.getFirstSelectableItem(); } this.setState({ pedalBoard: value, diff --git a/react/src/PedalBoard.tsx b/react/src/PedalBoard.tsx index 5549d24..44f7d8f 100644 --- a/react/src/PedalBoard.tsx +++ b/react/src/PedalBoard.tsx @@ -272,6 +272,33 @@ export class PedalBoard implements Deserializable { yield v.value; } } + + hasItem(instanceId: number): boolean + { + let it = this.itemsGenerator(); + while (true) + { + let v = it.next(); + if (v.done) break; + if (v.value.instanceId === instanceId) + { + return true; + } + } + return false; + + } + + getFirstSelectableItem(): number + { + if (this.items.length !== 0) + { + return this.items[0].instanceId; + } + return -1; + + } + maybeGetItem(instanceId: number): PedalBoardItem | null{ let it = this.itemsGenerator(); while (true)