tttapa / MIDI_controller

This is a library for creating a MIDI controller using an Arduino or Teensy board.
GNU General Public License v3.0
403 stars 70 forks source link

FeatureReq - Offset for MIDI notes (aka "shift octave") #59

Closed 1000tongues closed 6 years ago

1000tongues commented 6 years ago

Hello, and thanks for both this library and the thorough explanations of how to flash on an Uno (works perfectly)!

Feature request: I've tried a 5x5 ButtonMatrix on my Uno, which works fine. Planning to hack together a two-octave keyboard controller. However, I'd like to be able to step the octave up and down - meaning, press a button, subsequently add 12 to all note values. Press another, subsequently subtract 12.

Is this possible?

Arduino UNO MIDI Controller library: ? 3.1.0 ?
Arduino IDE: ? 1.8.5 ?
Operating System: ? Windows ?
Operating System version: ? 10 ?

tttapa commented 6 years ago

This feature is implemented in the next big release of my Control Surface library.

That part is more or less finished, but the API has changed completely, and I haven't documented it yet. If you're brave, you can look through the new examples (there aren't many yet) and the source code.

https://github.com/tttapa/Control-Surface/blob/revision-4/examples/Transpose/Transpose/Transpose.ino

The same can be achieved using banks of width 12 and bankselectors. However, keep in mind that the MIDI_Controller library does not fully support banking of button matrices (IIRC) because you run into trouble when trying to change the bank while a button is pressed.
This issue has been resolved in the Control Surface library.

1000tongues commented 6 years ago

Good news! Thank you for the reply, and for pointing me to the control surface library which I'd missed.

At this point I think what I want to do is far enough off of your plans that it's unreasonable to expect a ready-to-use library such as yours to solve it. I should roll my own, since i probably want to drive some multiplexers and have each note-on event remember its note number so the correct note-off can be sent.

But I'll be following your projects with interest, it's super inspiring!