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:
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