Ill just say my 2 cents regarding point number 1:
1. the track order is reversed, the first track being at the bootom
It seems that's the way with most physical controllers too, I've got an Akai
LPD8,
and "bottom-left" counts from pad 1, upwards. See the following image of an
Akai 16 pad:
http://www.jmsinfo.com/images/Akai_MPD18_MIDI_USB_Drumpad.jpg
I'm not sure how your program works internally as to what the best solution
is to
solving this problem.
In my WIP project* *I've used LibLO for OSC, and create a function in my
Sampler class which
takes an *int* parameter as for which pad to play. This seems a pretty clean
solution to me,
however as I say, I havent looked at your sources as to what's the best
implementation.
HTH, -Harry