Mod Wheel Control?

Full marks! [ctlin 1] for omni (any channel) or [ctlin 1 x] for a specific channel where x = channel. The leftmost outlet is the modwheel value.

1 Like

OK, thanks all. I forgot to mention that I’m a complete novice pd programmer, not a programmer at all actually, but I do understand most standard synth architecture. I’m guessing that the mother patch has to be told to recognize pitchbend and modulation messages and then the individual patch, for example Basic Poly, needs to be told what to do with that info. Is that in the ballpark? I think modding other people’s patches is beyond me at this point but I really appreciate you getting back to me. I’m just surprised that these standard controllers are not written in to more patches.

You don’t need to change the mother patch, unless you want to, for example, use your mod wheel instead of one of the knobs which I don’t think is the case here.

So what you need to do is add [ctlin 1] to the patch in question and choose a parameter to assign it to. I’m away from my Organelle just now but could post an example later to illustrate.

By the way, in most user cases you should never have to edit the mother patch.

on my Kontrol series patches you can midi learn the mod wheel … hmm should add PB if I didn’t already :).

Will Kontrol ever be rolled out for others to adopt if they want to?

its already out, so others can adopt, they just need to copy the shared libs and externals.
in the last release, i simplified the patches considerably, so they act as good examples of how to use, and its pretty obvious what is going on. apart from that you would just need to look at the json file.

at the moment I’m not going to ‘push’ it to be adopted, as there is one very big change coming to Kontrol, that is i think pretty ‘ground breaking’ on the organelle, for both musicians and patch developers alike - i know that sounds like hype (which I’m honestly not into), but when you see it I think you’ll understand, and i hope agree :wink:
(time estimate, possibly this week, if not it’ll be week after next, as i have guests next week)


I’ll have to look again as I couldn’t for the life of me work out how you’d set up multiple pages on it and there were objects I couldn’t edit so assumed it was closed for note.

Excuse my ignorance but what is a json?

The format is great though and I’m looking forward to what’s coming next! :smiley:

Json is a file format , plain text - google it, loads of info. (It’s a common standard, like xml, csv etc)

Yes, in the patch you will not see anything about the parameters , just receiving them as sends , and that is the whole point - the patch developer does not have to ‘program’ the UI , you just define the parameters and then Kontrol handles the rest - this makes writing patches trivial.

Background :I did this because when I initially wrote the MI patches, I found I spent more time messing with the UI, handling knobs etc, than I did writing the DSP (sound) code!
So I realized, simplify that and writing patches is much quicker and more enjoyable.
Not only that, but this divorces the control of a patch from the organelle hardware, which is why I can control patches remotely via osc , or a push2 … and the patches also run unchanged on a rPI and my Mac :wink:


Cool. But you know the box that comes on the screen when changing pages (VCF, etc on brds) - what defines that? I quite like planning the UI, but having said that if wanting to use a patch with a controller (I love my X Station for this) then Kontrol would make that much more enjoyable like you say!

the short answer is the KontrolRack external by using the information you supply in the json file.

have you looked at the module json file yet? really it should be clear if you do.

basically the json file defines the parameters, and the pages, then there are two externals KontrolRack and KontrolModule , the later basically ‘loads’ the parameters… the former basically looks after the display/menus, talking to mother, osc and a whole bunch of other stuff.

as a patch programmer therefore your role is:

  • defined parameters and pages in the json file
  • add KontrolRack and KontrolModule to your patch to ‘load’ the parameters
  • and ‘receive’ objects which receive the parameter changes.

that’s it then KontrolRack does the rest, it manages the whole UI, midi learn, presets, all your patch has to do is listen to the receives.

not only is this simple, but it makes it trivial for end-users to change,
they can actually rename the parameters in the json file, change the page layouts - and your patch will continue to work!
if they fancy adding a new parameter , all they do is add the parameter , put it on a page in the json file, then add a receive … this is something anyone can do in 5 minutes.
… and the presets will still continue to work too!

compare that to now, if i wanted to take someone elses patch and add 5 new controls to it, id probably spend 30 minutes just messing with the UI elements… and that is IF I’m familiar with the paging system they are using.

p.s. the other reason I’m doing this is this is all written in C++ so it is much more efficient/lower cpu , than doing this in PD :wink:


Not yet, at work so reading on my phone. All this sounds great though and I missed all this detail before. Can’t wait to have a play tonight!

Adding all this to the wiki :wink:

Curious for this big new rollout in the coming weeks!

I would prefer it is not added to any wiki

Kontrol is not part of the C&G Organelle release.
It is my own project, accordingly once Ive got it to what I consider a stable state/interface - I will produce documentation, and probably a video tutorial … and that will be the definitive source (since it will get updated as and when the software gets updated) .
Id therefore prefer there is not a second ‘version’ as that will potentially lead to confusion, and one I do not want to have to start ‘discussing/supporting’

generally, this is something I think you need to take care of on your wiki, its better that information is kept in one place and is updated… so if some things are unclear about how to use the Organelle, then I really think you should get C&G to update their online manual.
… and perhaps discuss with them, if the official manual could some how be contributed to my community members i.e. open source the manual in a similar way to the way the software is.

this would be my personal preference considering C&G are very closely tied to the community.
(unlike a big company like Korg, where I understand the need for separate community resources)

Thanks guys, good stuff. Ghostly…thanks for the clarification on the mother patch etc. Would love to see a simple example of how you would implement this. I think it would be a great help to others like me who want to tweak but maybe not get into full on patch programming.

Hi Mark,

Apologies–not trying to cause any extra headaches for you. I shall make the whole thing private. Really just wanted a document for my own learning purposes, and to collect the various resources that are scatteed around this forum and elsewhere. I thought it would be useful to share, but I understand your point of view.

I respect C & G small business and community ties–I run a tiny business myself. I imagine it’s hard to keep up with the progress the community and the company has made in the last few years–it’s an evolving product for sure!

Thank you again for all your brilliant work moving things forward.


1 Like

Perhaps put in private for now but C&G may be supportive of a wiki, I’ve posted a new thread about this. I guess both @healthylives and I are quite keen to learn more and share with others, that is certainly the case for me, I want EVERYONE to get the Organelle and make it the massive success it deserves to be. :smiley:


Hear, hear!

I wouldnt take it offline… but lets discuss best approach on new thread :slight_smile:

So, I’ve looked at Basic Poly patch and thought, what would be a good use for the mod wheel? I thought control over vibrato depth, which is currently mapped to knob3. So I removed the knob3 map and mapped to mod wheel instead:

So what I’ve done (highlighted in grey):

  1. Remove 2 patch cables coming from knob3 which were sending the value to vibrato [s~ smoothKnob3] and to update the value on the screen. Now knob3 does nothing
  2. Taken the mod wheel input [ctlin 1 1] and divided by 127 so that the values received from your midi controller are in the range 0 to 1 (the Organelle potentiometers generate values from 0 to 1)
  3. Put through sig~ and lop~ to remove any stepping
  4. Sending this value to vibrato [s~ smoothKnob3]

A note on sends and receives:
Pure data uses send and receive objects to facilitate complex patching. If you look in the [voice] subpatch you can see where [s~ smoothKnob3] is sent for this patch.

Instead of using [s~ smoothKnob3] you could just patch the mod wheel straight in here, i.e.:


Thanks ghostly, I’ll give it a shot and get back to you.