ADDED: A button sending multiple midi notes

Is it possible for a button to send out multiple midi notes? i.e. one button triggering say midi notes D4, A4 and F#5 simultaneously.

If not, can that be added to the feature requests list?

Thanks, the software looks great.

I’ve tried creating 3 buttons, each sending 1 midi note, and then stacking the buttons one on top of the other but unfortunately this doesn’t generate 3 midi notes as only the top button will work.

Any idea if what I’m trying to do is possible?


in my experience, with the the program as it is right now, i don’t think you can do that only in OSC/PILOT,

but you can get the same thing by applying a midi effect on the receiving and have it also triggered by the button thats sending your D4.

for example if you’re sending to ableton:

  • create a button in OSC/PILOT and assign a midi channel and cc

  • go into ableton and drop a chord midi effect onto the track you’re sending to and have it shift +5 +16

  • map the button to the on/off for the chord effect in ableton and make sure toggle is turned off in OSC/PILOT settings for that button

  • in OSC PILOT go to the button settings and also assign midi note to 74 (for D4)

  • have fun triggering your sexy Gmaj7(no3) inversion

just tested this out and it works well.

i agree that if the app can be changed to allow multiple widgets to be triggered in the same hot spot it would completely take this software to the next level and allow so many more advanced features.

: )

Definitely considering it! Adding the ability to click-through overlapping widgets would be easy. The more tricky think I’d need to add is a better way to handle overlapping widgets for selection. If you have a stack of 5 buttons right now the UI interaction doesn’t really lend itself to an easy way to manage those.

1 Like

you can already overlap widgets that are tricky to select, so you don’t need to let the editing selection issue prevent adding the ability to click through multiple widgets in performance mode if it’s easy to implement.

for the individual widget selections:

  • In editing mode when you click on a spot occupied by more than one widget you could launch the inspector for the top widget with a back and forth button to navigate through the inspectors or the underlying widgets

  • you could have a widget browser panel (this would have the added benefit of letting user arrange layers of overlapping widgets on a layer pallet instead of just using send to front send to back)

  • when more than one widget are overlapping you could have a prompt to specify which one you’d like to select

@chris I don’t have a ton of MIDI hardware to try this out, but you might be able to do this with OSC. (if you’re not using OSC for anything else)

In settings, set your host address to whatever your local network IP address is. Set the Send ports and Listen ports to the same thing. Something >9000.

Create button A with an OSC Address of “cat”. MIDI settings can be left alone.

Create button B and C each with an OSC Address of “cat”. Set button B MIDI settings to D4. Set button C setting to A4.

When you press button A, that should trigger the B and C buttons to fire.

The only thing I don’t know is if OSC/Pilot will actually fire MIDI notes off an OSC receive command, but it’s worth a shot!

Thanks for the responses. Yes I guess there are a few work-arounds, although none seem to be as easy and flexible as simply having the ability to enter several notes in the MIDI note field for one button. I want to create a workspace full of different chord voicings and trying to do this with a MIDI transformer in a DAW or through OSC triggering multiple buttons isn’t very practical.

I agree, being able to trigger multible overlapping widgets could have many creative uses.

Another feature request is to have a “container” widget into which you can place other widgets. This could be tabbed to switch between different containers with different widgets in it.

The ability to send multiple MIDI notes from a single widget is now supported in builds 1.3.2 and later: