Articulation native control: is it worthy to sacrifice a bit?
It has been a big pain that users cannot control the gate time ("time stretch") and velocity magnification of articulations natively. Forum posts, such as this, has been coming up to complain about the inappropriate default values, which users cannot change without a plugin, named Articulation and Ornamentation Control.
The good news is, I find a way to realize native controls. But unfortunately, it isn't without problems.
To understand that, we need to look into instruments.xml in the source code. We can see that there're global values of the gate time and velocity magnification defined for each articulation to which they apply. However, they're overwritten for some instruments, like marching percussion. So, the default values of gate time and velocity magnification depend on the instrument.
However, for technical reasons, the code doesn't currently support default values in the inspector depending on staff/part properties such as the instrument, not without risky overhauls. This can be avoided if the default values for all instruments are the same. So, I searched through the entire instruments.xml, and found only very few instruments have overriding values. Except for those instruments which only have overriding values for none-articulation notes (
<Articulation> without a name), which won't be affected by native controls for real articulations, the rest are no more than four marching percussion instruments, which all have 130% velocity magnification for sforzandos and 500% for marcatos, different from the default of 150% and 120%, respectively.
After I came across this, I realize it probably isn't a very big sacrifice if we unify the default values but allow users to easily change them in the inspector. What do you think? Do you believe the different default values are a big deal which cannot be given up? Or do you believe it's worth it to add native controls, even with this drawback?