Announcement

Collapse
No announcement yet.

Problems with Midi CC and Output Min/Max

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problems with Midi CC and Output Min/Max

    My apologies in advance for this post, but I'm new to Osculator and after several hours of tinkering I can't seem to find an answer to my problem.

    Background: I have designed a custom layout in TouchOSC to control a midi-capable pipe organ console. The idea is to take my iPad with me into the organ chamber (where the pipes are) when tuning the organ, allowing me to tune by myself instead of having to have someone else at the organ console holding the keyboard keys and turning on/off the different organ stops (sounds).

    The first page in TouchOSC is simply a keyboard with 61 notes. This works as intended, as the midi output from TouchOSC does what I need it to.

    On the second page in TouchOSC are several toggle push-buttons which are to control the various stops (sounds) of the organ, turning them on and off. The midi output from TouchOSC is somewhat limited and I am now using Osculator to translate the message to a format that the organ will understand.

    For the organ console, stops (sounds) are turned on with "MidiCC 81" and turned off with "MidiCC 80", with the Velocity of each controller used to define which specific stop you are wanting to control. For example:

    Stop 1 ON: MidiCC 81, Velocity 1
    Stop 1 OFF: MidiCC 80, Velocity 1

    Stop 2 ON: MidiCC 81, Velocity 2
    Stop 2 OFF: MidiCC 80, Velocity 2
    .
    .
    .
    Stop 10 ON: MidiCC 81, Velocity 10
    Stop 10 Off: MidiCC 80, Velocity 10

    ....and so on.

    This is where the problem is... I can't get Osculator to accurately output the "Velocity" portion of the midi output message. All of the toggle buttons from touchOSC show up on Osculator just fine, and I have used the "demux" so I can output different messages for the on/off of the toggle button.

    I guess i'm not quite sure what I'm doing wrong, but I just can't seem to get this to work right.

    Here is an example of what I have for one of the toggle buttons from TouchOSC into Osculator:

    Message Event Value Channel InMin. InMax. Cap OutMin. OutMax
    /2/GreatStop1
    0 MidiCC 80 16 0.0 1.0 32 32
    1 MidiCC 81 16 0.0 1.0 32 32


    I've tinkered with different combinations of InMin/Max and OutMin/Max, but I it doesn't just simply output the velocity as "32" for the specified stop.

    Any thoughts or suggestions? Again, I apologize for my ignorance and lack of knowledge with Osculator. Any help would be greatly appreciated.

  • #2
    Hi Benjamin,

    This sounds like a very exiting project.

    I have managed to have exactly what you are looking for but I have to admit the settings are not exactly intuitive. Hopefully this should be made easier in a future version.

    Here are the detailed steps to make a button output MIDI CC 81 with value 32 when pressed and MIDI CC 80 with value 32 when released:

    1. For the purpose of this example, I will be using the second page of the Simple layout in TouchOSC. The first button has the address /2/push1. Register this button in OSCulator so it appears in the main list.
    2. Select the message, and choose Edit->Demux, then in TouchOSC press and release this button. This will reveal the two inner states of the button: released with value 0, pressed with value 1.
    3. Select both states, and assign the MIDI CC event type. Having both selected allows you to act on both rows at the same time.
    4. Again, with both states selected, hold the Alt key and choose the value 80 in the Value column. This will choose MIDI CC 80 and MIDI CC 81. (the alt key increments the chosen value).
    5. Now switch to the Scalings Page, and change Input Max to 0 (Input Min and Max are now 0, this ensures that only a single MIDI message is sent when the button is pressed or released).
    6. Change Output Min to your desired value and Output Max to 0. Another way to do this with fewer steps is to change Output Max to your desired value and with the row selected, choose Routing->Invert Output Scaling.


    Now you button will output MIDI CC 81 with the desired velocity value when pressed, and respectively when MIDI CC 80 the button is released.

    If you need any further details, please let me know.


    Best,
    Cam

    PS: I have noticed that value 32 specifically causes the MIDI value 31 to output, which seems to be a bug. I'll be working on this and keep you posted very soon.

    Comment


    • #3
      Hi Cam:

      Thanks for replying to my post. I had actually gotten about that far with the scalings (Input min/max at 0), except I set both Output min/max at my desired value. I did notice with this that the actual output was typically one integer lower than what I had set it to. Actually, it was that very reason that I thought I wasn't setting the scalings correctly, thus causing the actual output to be one integer lower. The exact some problem occurs when the Output Min is set to the desired value and Output Max at 0. As you stated, this must just be a bug. I went ahead and tested all output values 0-127 and there seems to be inconsistencies across the whole range. I've attached my results with this as a PDF.

      Thanks for the help!!

      Actual Midi Output Values.pdf

      Comment

      Working...
      X