Panel: General, I don't get it

Home Forums General Using Ctrlr Panel: General, I don't get it

This topic contains 3 replies, has 3 voices, and was last updated by goodweather goodweather 6 months, 3 weeks ago.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #71729

    Oortone
    Participant
    • Topics: 1
    • Replies: 2
    • Total: 3

    Hi.

    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:
    – Modulator
    – MIDI
    – Component
    – 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.

    #71731
    Puppeteer
    Puppeteer
    Participant
    • 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

    The Puppeteer
    http://godlike.com.au

    #71760

    Oortone
    Participant
    • 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?

    #94113
    goodweather
    goodweather
    Participant
    • Topics: 40
    • Replies: 392
    • Total: 432
    • ★★

    Reading your old post while searching for something.
    Did you have a look at my step by step guide?
    http://ctrlr.org/forums/topic/ctrlr-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
    ─ Group
    ─ 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:
    ─ Name
    ─ 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
    ─ …

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.

There is currently 0 users and 23 guests online
No users are currently active
Forum Statistics
Threads: 2,242, Posts: 15,790, Members: 55,910
Most users ever online was 12 on January 22, 2019 3:47 pm
Do NOT follow this link or you will be banned from the site!