Hi,
Had a chance to check the code!
1) Goto Min.cpp, then
void Min::engineValueChanged(unsigned char func, unsigned char val, bool opt)
This shows the code for setting the LED when the func is changed
The code for showing the value via flashes is just below in:
void Min::refreshValueLed()
You'll want to leave this blank, so it doesn't overwrite your new code in engineValueChanged
2)
The quickest way is at the bottom of Min.cpp in:
void Min::hardwareMidiReceived(unsigned char data)
However this code doesn't know what the message type is, it'll just allow a generic flash for any message received. If you want to do different flashes for different messages you'll need to go to:
MinEngineBase.h
and add a callback called something like:
virtual void engineMidiReceive(unsigned char status, unsigned char data1, unsigned char data2) = 0;
Then add the relevant calls to it that you want in MinEngine.cpp (e.g. in void MinEngine::midiNoteOnReceived(unsigned char note, unsigned char velocity))
Then add it to bottom of Min.h
Then add it to Min.cpp with the required code for setting the LEDs.
A bit more complex, but you can find examples all over the Atmegatron libraries for using these base classes for callbacks. Just copy an example where you find a "base_->" in the code.
hope this helps!