March 23, 2017 at 12:08 pm #71729
- Topics: 1
- Replies: 2
- Total: 3
New to Ctrlr and need to program a simple panel (both sliders and buttons) to send some midi stuff, probabaly mostly Midi CC. I’ve read getting started and I understand the basic principle but what I don’t get are the four categories in panel mode:
– Component Generic
What are these?
In MIDI I can select Midi-message type, number, channel. That’s fine. But how do I specify interval or value to send? In the box “Midi controller value” I can set one (?) vale between -64k to 65k. That’s very strange. Midi values are usually 0-127. And also how do I map a range (let’s say I need the slider to cover Midi CC#3 range 25-85) to my slider or a couple of distinct values to a radio button or dropdown?
In Modulator there are some things that have to do with VST. So is that supposed to adress VST and Component is supposed to adress AU or what does these three cathegories mean? Modulator, Component, Component Genreal. I just don’t get it.
I’ve used stuff like Max and Logic/Environment so the basic concept of sending midi from a software panel is not new to me but I really don’t get this.March 24, 2017 at 7:53 am #71731
- Topics: 15
- Replies: 180
- Total: 195
Modulator, component etc refer to specific assets that are displayed on the ctrlr panel, such as a knob or slider, or picture or some other property. There are also sub-properties etc. I’ve found they tend to be a bit arbitrary, so searching other code examples is the fastest way to work out what’s what.
For modulators with MIDI, they can support high resolution MIDI (such as pitch bend and NRPN’s, which use 2 or more MIDI controller messages to send higher resolution information.
Within modulators, there is the MIDI value that sits behind it, but you can map values to different display values. For example an oscillator may display Square, Saw, Sine on the panel, but transmit 0,1,2 to the synth
http://godlike.com.auMarch 27, 2017 at 4:42 pm #71760
- Topics: 1
- Replies: 2
- Total: 3
Ok thanks, but what does each of the four cathegories mean: Modulator, Midi, Component, Component Generic.
Where does the “mapping” from display to Midi take place?
If I understand this correctly the idea is to map a slider value/range x to a midi out value/range y, like y = f(x). Where can I find the actual “function” f?January 26, 2019 at 9:30 pm #94113
- Topics: 39
- Replies: 331
- Total: 370
Reading your old post while searching for something.
Did you have a look at my step by step guide?
Quite old now and I have a more complete one but unreleased yet 2.0.
Here are some info from that one
Ctrlr is built on top of a library called Juce (https://www.juce.com/). Juce provides an API acting on objects called components. The Juce components used in Ctrlr have properties that have been mapped into Ctrlr and that are thus available to control the components from within Ctrlr.
The typical components you will use are:
─ uiLabel: any kind of label
─ uiGroup: a container of different components allowing to move all of them at once
─ uiImageSlider: used for rotary buttons or linear sliders that are based on a suite of images
─ uiImageButton: used for push buttons where the different positions are showing an image
─ uiTabs: to display components tab by tab
At component generic level, you will find the generic properties related to all components like:
─ Name label height / width / visible / …
─ Visible name
─ Component effect
─ Mouse events callback methods
─ Component position and size
At component level, you will find the specific properties depending on component type like:
─ Background color (uiLabel)
─ Text color (uiLabel)
─ Label font (uiLabel)
─ Label text (uiLabel)
─ Minimum value (uiImageSlider)
─ Maximum value (uiImageSlider)
─ Slider style (uiImageSlider)
─ Button mode (uiImageButton)
─ Button values (uiImageButton)
In Ctrlr, the Juce components are available through modulators that have also properties. So, one can consider that modulators are the parent objects of the components.
At modulator level, you will find properties like:
─ Method called “when the modulator value changes”
Each modulator can then send or receive information by Midi and there will also be Midi properties available as:
─ Midi message type
─ Midi controller number
You must be logged in to reply to this topic.