atsushieno / mugene-ng

Music Macro Language to MIDI 1.0 / 2.0 compiler
MIT License
8 stars 0 forks source link

Remove `B` pitch bend operation (altered by `B=`), `P`, `E`, `V`, ... too #18

Open atsushieno opened 3 years ago

atsushieno commented 3 years ago

Pitchbend operation B can bring in syntactical confusion in combination with B-, because we may perform pitch bend changes like:

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?).

atsushieno commented 3 years ago

To be clear, it was not only about pitchbend. Various MML operations such as E, V, P, M, t, etc. all with relative specifiers had the same issue.