in a couple of posts I eluded to some work Im up to on the Organelle, so I thought Id give a ‘sneak peek’
some perhaps will say … boring, another multi page menu system… but read on, its a bit different
here it is in action: with an updated (testing only) version of brds.
I call it a distributed parameter system (part of a bigger project I’m calling oKontrol) , you can see here:
- Organelle parameters with a multi page system (nothing new but read on )
- Push 2 directly connected to the Organelle
- Mec running a Push 2 oKontrol device, so that it can see all parameters and pages from the Organelle
This allows you to control a patch simultaneously from the Push2 and the Organelle…
The Push 2 is in no way tied to the organelle screen, this means that you can control parameters that are not currently displayed on the organelle OLED. also we can render the Push 2 and Organelle completely differently (to take account of their unique properties)
of course there is ‘takeover’ functionality, for the organelle in cases of page switching and the push changing parameters.
but theres more… its all done over OSC, so other types of controllers could also be used to control the organelle parameters
features I’m working on:
- midi learn,
- save/load preset
Im also taking a very different approach (partly due to ultimate direction) to this :
- its all C++, with a PD external, which gives me much more flexibility
- patch developers simply define parameters and then oKontrol does the rest…
heres an example:
(these messages are just sent to an oKontrol object)
this is one page, of the patch… defining 4 parameters for one page
(you can have more than four parameters per page, these will display on the push, but currently only first 4 are shown on organelle)
basically they are of the form of
param type unique_id displayname [minimum maximum default]
type: there are predefined type of parameters, these are going help control parameters in a sensible way without the patch developer worrying about them (e.g. step values, log/linear) , also display (e.g. there is a bool type, which display as on/off)
unique id: this is how we tie to a page, but it is also the ‘send’ that the data is sent on , so in the patch we just need to have [r f_cutoff]
display name: name used for display purposes
min/max - only on numeric types, oKontrol will keep parameter in this range
default - default value, when initially loaded… also on the push will allow the ‘delete + encode’ returns to default value
(page message is similar, pageId, display name , list of parameters)
thats it, thats all the patch developer has to do… no worryingly about page changes, or layout… and it will give users a consistent feel across all patches (using it ;))
of course, it wont be for everyone… but I will be using it for the basis of all my patches (all MI patches will be updated to it)
Its still work in progress, as I want to add more types, and also by moving the MI patches over to it, Im giving a good testing to check its got all i need in it…
Push 2 also has some more to do as well, e.g scale selection… and probably will improve the font/colours
anyway, I thought Id share what I’m up to, in case anyone thought I wasn’t doing anything with the Organelle.
p.s. yes, it all runs on mac/linux, and also rPI.