azslow3
"AZ Lua" is Sonar native version of "ReaJS", MIDI only and based on Lua instead of JavaScript. It works like Sonar own MIDI plug-ins, in realtime and as a processor. There are some general problems with DX based MIDI processing, so all such plug-ins have nasty limitations. Markleford (the author of TenCrazy plug-ins) has initiated related discussion more then 10 years ago. Unfortunately, nothing is changed since that time.
VST based MIDI processing in Sonar is hard to call a solution, it is dirty and error prone workaround (coming form the fact Sonar converts MIDI to/from DX based representation which is significantly different).
I had a feature request more than a year ago for ability to insert vst midi plugins(just using midi in and out) into MFX bays - to use many tools there are available today. It did not get much love though.
I mean audio plugin bays allow both DX based and VST plugins - why not for MFX(which is DX) also inserting VST stuff.
If I get the core of the problem - isn't there a risk altering this kind of Yamaha specific things into Sonar coding?
If you have to activate certain things through sysex to know it's active - even though there is midi controller for portamento - it could be part of preset in synth and not in midi events at all. Same with mono mode which seem to be the problem in this case.
Is it a INF definition for the Yamaha that is to fix this?
Ask synth for state to allow Sonar to make special treatment when portamento and mono mode?
My guess is that midi note on/off events are kept as recorded, and different edit situations pair them into note on with duration - and when saved into clip again they become separate note on/off events. So in this generating process - if doing in let's say midi note order they can make order of note offs and ons the same as recorded.
What you want is that for Sonar to ensure same sequence order as before editing then - on the same tick?
If a certain notes off was on same tick, but after another notes on - after editing they should have the same order - so portamento will work both upwards and downwards notes.
That would introduce a lot of extra processing and building tables for each tick which order was original or something - a table saying which order of notes at that particular tick.
OP explained that this is only for Yamaha, and when portamento is on and when mono mode.
Otherwise fine.
Seems very specialized - and maybe a script handling this in realtime is way to go, still?
And you don't have to process every midi clip sending to the Yamaha.
As I recall from JS scripting of midi you can read out all events on that tick before sending any back.
So what script has to do is just send possible note off last on each tick - if I got the issue here. For portamento to work in mono synth need a note sounding so it becomes legato as I recall. But if this equally could cause other issues is quite possible - so I wonder if that should be the case on all midi. I mean combined with all kinds of controllers and notes on various synths - it could create more problems than it solves.
So possible solution might be INF file to Yamaha and do if certain criteria is filled.
AUX + Patch points are not MIDI capable, I do not see how they can help in the area.
A bit disappointing, I was thinking if activating membership again I would go Pro version to get Aux+Patchpoints. So midi is not part of it - not like Reaper does it then.
Either way -
http://ddmf.eu Metaplugin is what I use to combine various VST midi plugins and routing midi to various softsynths loaded. But since external gear you can use midi out on Metaplugin combined with softsynths if you want to do that.
Metaplugin is also excellent if you want to get midi in through to out, since synths like Dimension Pro does not deliver anything on midi out. So you can chain inside Sonar in this way.
Bluecat Audio Patchwork would work too, I guess. Don't remember about midi out on that one.
Standard way of routing VSt midi plugins in Sonar has been to introduce an extra softsynth track and pick midi out from that as input to next synth or midi track.