Thanks I successfully edited the metadata for the lv2 plugin directly on the device instead of building a new plugin.
To make this usable by others would it be helpful to create a new plugin called toggleswitchbox or something like that which can be used like this permanently instead of this quick hack?
I dont know if changing the official switchbox will break existing pedal boards or not.
For others looking into this, what I did was:
SSH onto the device and looking at /root/.lv2/fil4.lv2/fil4.ttl “HighPass” control as a reference example for a toggle switch that can be assigned to CV I changed /root/.lv2/switchbox_1-2_st.lv2/switchbox_1-2_st.ttl
From:
[
a lv2:ControlPort, lv2:InputPort;
lv2:index 6;
lv2:symbol "Switch";
lv2:name "Channel";
lv2:portProperty lv2:integer;
lv2:portProperty lv2:enumeration ;
lv2:scalePoint [rdfs:label "1"; rdf:value 0];
lv2:scalePoint [rdfs:label "2"; rdf:value 1];
lv2:default 0;
lv2:minimum 0;
lv2:maximum 1;
];
To:
[
a lv2:ControlPort, lv2:InputPort;
lv2:index 6;
lv2:symbol "Switch";
lv2:name "Channel";
lv2:portProperty lv2:integer, lv2:toggle;
lv2:default 0;
lv2:minimum 0;
lv2:maximum 1;
];
The other thing I needed to do was to shift+refresh the GUI page to ensure the new toggle was CV assignable. Without this it was still not assignable.