slurmulon/bach

[Bug] Time signature values are being reduced

slurmulon opened this issue · 1 comments

For instance, 6/8 will be reduced to 3/4 (undesired).

This stems from Clojure's core logic around ratios. It will always to reduce them to their simplest form.

If you do (numerator 6/8) the result will be 3 because it reduces 6/8 to 3/4 before returning the function.

To fix this, the use of ratios should be removed entirely (if possible) and replaced with a fixed-sized vector (i.e. 6/8 should instead become [6 8]).

Resolved by introducing the :meter grammar construct.

Avoided the need to remove the use of ratios.

bd9f42f