snhirsch / katana-midi-bridge

Provides enhanced MIDI control capability to Boss Katana (tm) guitar amplifiers
GNU General Public License v2.0
76 stars 11 forks source link

Mapping architecture idea #5

Open Beanow opened 7 years ago

Beanow commented 7 years ago

From #2

Lastly, it would be great if someone wanted to help add the MIDX-20 CC-->sysex mappings to this code, but I'd like to do a partial implementation first to set an architectural example.

I ran into http://das.nasophon.de/mididings/ Which seems to have a really versatile set of features to do this.

You can write selectors for the input MIDI messages and use either the SysEx generator to create a single SysEx message out, or use Process to return a list of SysEx events or a generator yielding these. There's also built in possibilities to create separate threads, which could be useful for the I/O of patches on disk.

Keeping the selectors separate from the processing steps would make the bindings very flexible and hackable for people who want custom bindings.

Beanow commented 7 years ago

Got ahead of myself and tinkered around with it. It's looking promising.

I made some good progress in being able to map individual values (gain, volume, EQ, etc.) in real time to CC messages from my MIDI controller with this as a framework. If I can mimic the panel preset read/write features as well with it, I'll share what I have.