module InevitableCacophony

Splits text into a sequence of delimited sections, and knows how to find the one you want.

Used to parse complex paragraph structures without having to handle every single paragraph type, and without crashing if an expected type is missing.

Represents a “phrase”, by which I mean a sequence of notes with common performance instructions (tempo, volume, etc.)

A rhythm, represented as a sequence of beats of varying length and volume. Beats may be “early” or “late”, but internally this is represented by adjusting the durations of surrounding beats.

Constants

VERSION