Get the braille string for a dynamic marking, given its playback enum and (optionally) its text as written.
A combined marking like sfmp () or ffz is transcribed letter by letter from its text, since its
enum is only its first symbol (sf, ff). Free text like "cresc." or "f con fuoco" falls back to the enum,
so that no stray letters get transcribed.
Per Music Braille Code 2015, Par. 22.3.3, dynamic markings are word-sign
expressions placed before the affected note. An octave mark is REQUIRED
on the note following any word-sign expression (Par. 22.3(e)).
Get the braille string for a dynamic marking, given its playback enum and (optionally) its text as written.
A combined marking like sfmp ( ) or ffz is transcribed letter by letter from its text, since its
enum is only its first symbol (sf, ff). Free text like "cresc." or "f con fuoco" falls back to the enum,
so that no stray letters get transcribed.
Per Music Braille Code 2015, Par. 22.3.3, dynamic markings are word-sign expressions placed before the affected note. An octave mark is REQUIRED on the note following any word-sign expression (Par. 22.3(e)).