NothanUmber,
Thank you for your detailed explanation, I really do appreciate your taking the time to write all that stuff up.
But I get it ---- I already understand how to write such things in Bidule, in Max, in PD (Max's dad!), and several other environments. But I don't want to deal with that stuff for my usage. Nor, I suspect, do many others who just want to PLAY the instrument. Apart from the significant effort it would take to make such a process work reliably all the time, I don't want to have to integrate Bidule or Max (or anything else) into my live environment.
It's just more stuff that can break in the middle of a performance. I want to use Apple MainStage to do all my routing --- it's extremely powerful, extremely trivial to set up and all I need is "same input = same output". I can trivially implement splits and layering, CC remapping and so on with MainStage.
And so, I want to adapt the Alpha to fit my existing environment --- I do not want adapt my environment (which has to do a lot of other stuff) to fit the Alpha.
I suspect that what I'm looking to do would take no more than 30 seconds for someone who knows the scripting language deeply to write down (at least for an example that I can then apply in general).
Now, from your other comments, I get the sense that you have some understanding of the scripting language. I still don't understand what
"course 2/3/4/5 offset to 22 interval set" MEANS (well, I can guess in this particular case from the context, but I certainly couldn't have figured it out myself) and I certainly can't figure out the syntax. I've looked around the wiki but haven't really found enough information to do what I want.
So perhaps you are able to give me an example of a couple of lines of script (or point me to an accurate example) that could implement my pseudo code which I can then expand/generalize to configure the alpha as follows
key[colNumber, rowNumber].NoteNumber =
key[colNumber, rowNumber].MIDIChannel =
key[colNumber, rowNumber].MIDIPort =
key[colNumber, rowNumber].ZaxisEventType = ControlChange
key[colNumber, rowNumber].YaxisEventType = PitchWheel
key[colNumber, rowNumber].XaxisEventType = ControlChange
Obviously, other event types could be Aftertouch (MonoPressure), PolyPressure, NOTHING, and so forth.
Ideally, I'd like to use all 24 rows of keys and so the mode key stuff could be moved so they're on that separate percussion column at the bottom.
With that information, I can create a trivial program in Python or Ruby or whatever that will generate a complete script to cover all keys and indeed any variations that I want.
By the way, the guitar layout mapping was provided by Sam (thanks again, by the way, it's wonderful) following my request for that tuning and it has already had a HUGE impact for me....I just need that extra little bit (grin) of info to get from 70% to 100%
Cheers,
D