Pitchbend operation B can bring in syntactical confusion in combination with B-, because we may perform pitch bend changes like:
B -100 i.e. set absoluteB value to -100 (which is 8192 - (100 * bend_cent_mode_intermadiate))
B- 100 i.e. set relativeB value by -100 (which is current_pitch_bend - 100 * bend_cent_mode_intermadiate)
and if we write B-100 to set absolute value, we find it not working and get lost. B- takes precedence by because our tokenizer finds B- as the longest match.
A better syntax would be to change B as relative operation, but immediately making it so would make old MMLs inaccurate.
Therefore we set B= as the new absolute pitchbend operation, and remove B from the next major upgrade (mugene-ng 2.0?).
Pitchbend operation
B
can bring in syntactical confusion in combination withB-
, because we may perform pitch bend changes like:B -100
i.e. set absoluteB
value to-100
(which is8192 - (100 * bend_cent_mode_intermadiate)
)B- 100
i.e. set relativeB
value by-100
(which iscurrent_pitch_bend - 100 * bend_cent_mode_intermadiate
)and if we write
B-100
to set absolute value, we find it not working and get lost.B-
takes precedence by because our tokenizer findsB-
as the longest match.A better syntax would be to change
B
as relative operation, but immediately making it so would make old MMLs inaccurate.Therefore we set
B=
as the new absolute pitchbend operation, and removeB
from the next major upgrade (mugene-ng 2.0?).