The current settings need to be "tweaked" to make the whole thing
a bit more logical. So, let's start off with the simple setting.
Currently we permit this to be done via the VOLUME directive with
a parameter of a mnemonic name or the "percentage" value associated
it.
Volume MF
or
Volume 110
My first suggestion is to print a warning for the later. Probably
the warning should be a "caution, using a symbolic name is recommended".
And, if we find that we're upsetting anyone we could include a "NOWARN"
in the line, but I don't think it is necessary.
Currently we permit dumb things like "m+20" and even "66-10" as a volume.
This is confusing and should just be eliminated. This will effect some
existing library files, and I don't mind adjusting those if needed.
Mind you, using something like "pp-10" is useful to get a volume setting
a little less that "pp" ... but when reading this I for one never seem
to know if this is 10 less than pp or 10% less (according to the manual
it is 10%). It might be time to bite
the bullet and fix these. Doing a quick scan I only found a few usages
in stdlib/softshoe. If we are voting, I'd vote to kill the option.
And, if someone really, really wants a setting 10% greater than "pp"
just do it in 2 lines:
Volume pp
Volume +20%
or, calculate the setting by hand and use the numeric
Inc/Dec is common. Currently, a leading +/- will inc/dec the
existing setting by the % value. Honestly, this is, again, confusing.
However, it's used it quite a bit of existing code so I suggest we
print a warning with either "deprecated" or "suggestion". Don't know
which. OTOH, we could say that -/+value subtracts/adds the value to
the existing setting. But, now we are back to the confusion between
absolute and percentage. So, let's not do this!
In the end we should strive to have users always use the % sign.
Am I missing anything else?