Hello! I'm new to REAPER Extensions, but I'm starting to wad through this example plugin source code :
https://github.com/elanhickler/MyReaperPlugin
and I'm wondering, is there a function I can hook, that will provide me with all the currently playing MIDI notes, for each track?
For example, say I want to use all this midi note information to display on the screen that -- Track 1 is playing a C Maj Chord, Track 2 playing E chord, etc...
Ive found the following functions in the reapler_plugin_functions.h,
REAPER_PLUGIN_DECLARE_APIFUNCS void (*kbd_OnMidiEvent)(MIDI_event_t *evt, int dev_index); // can be called from anywhere (threadsafe)
REAPER_PLUGIN_DECLARE_APIFUNCS const char* (*GetTrackMIDINoteName)(int track, int note, int chan);
but they seem more like things that can be called, rather than things can be 'hooked' and called when REAPER plays a MIDI note, you know? Is is possible to 'hook'/intercept things in REAPER extensions?
An example would be, say I want to transpose every midi note that plays up a semitone before it's sent to the instrument or plugin or external out, etc.