Siluroo
I am not trying to do anything that I would call advanced, but to me advanced is getting into macro or programmable function territory.
Let me explain the situation is several sentences...
Each parameter (in Sonar, VST) has a value from 0.0 to 1.0. F.e. centered pan is 0.5 (strictly 1/2).
"Normal" MIDI message has values from 0 to 127, some from 0 to 16535. That is what simple controls, like faders and knobs are sending. So, assuming 0 is 0.0 and 127 (16535) is 1.0, the logic is strait forward. That what is working for "MIDI Learn" in VST and "Remote control..." in Sonar.
Well... there is already a problem. Like there is no "perfect tune" in modern notes (12 devisions of octave is a "compromise"), there is no perfect 1/2 from 127. 64 is "a bit less", 65 is "a bit more". That is why without future "tricks" it is impossible to set perfect center using strait approach (most software take that into account, some not).
With endless encoders, the meaning of "turning" is just +1 or -1 (sometimes +2,+3,etc. to specify the speed). But which interpretation of "+1" should be used? For some situations 1/128 is too coarse (f.e. EQ Frequency), for some 1/16535 is too fine (you will need to turn the encoders many full rounds to change volume by 1dB). And so we slowly move toward some "macro or scripting" territory.
But the number of parameter in modern DAW, including all all parameters from all VSTs fast explode toward 10000 and more even in a small project. And you have 20-50 hardware controls only on surface. And so, without scripting, even with "modifier keys" it is impossible to cover all of them.
Which scripting is "perfect"? There are several "standard" proposals how limited number of hardware controls should operate endless number of DAW parameters. Most famous is Mackie Control. But there are other, like AutoMap, NKS, etc. For different purpose, with different approaches. All of them have something common, all of them are not "perfect" for each particular user.
And so different DAW have different solutions to allow end users decide what is the best for them. With general groups:
* simple - MIDI Learn particular hardware parameter for particular software parameter, no scripting but the number of controlled parameters and they way they are controlled are fixed
* "standard" - complicated scripted but fixed mapping, made by "wise" developers for particular devices (in case of Sonar, specialized plug-ins)
* "advanced" - generic mapping, with some freedom in parameters and hardware definitions, but still more or less fixed "scripting" logic ("ACT MIDI", "Generic Surface")
* "expert" - arbitrary user defined logic (Cakewalk Control Surface SDK for C++, AZ Controller with own philosophy and IDE)
What I want to say is that you can get simple functionality without big effort, but when you want more you need at least something from "macro or scripting" world.