pub struct MusicXmlWriteOptions {
pub beams: bool,
pub tuplet_display: TupletDisplay,
pub stems: bool,
pub rest_placement: bool,
pub slur_placement: bool,
pub tie_orientation: bool,
}Expand description
Opt-in engraving hints the MusicXML writer computes at write time from data the
score already holds (meter, durations, clef, voice). Every field defaults off, so
MusicXmlWriteOptions::default reproduces the writer’s byte-for-byte round-trip
output; the reader self-loop and the abc2xml whitelist depend on that default.
The rules are croma’s own, written from published engraving references; see
docs/engraving-export.md and docs/engraving/rules.md.
Fields§
§beams: boolEmit <beam> grouping computed from meter + note durations.
tuplet_display: TupletDisplayHow to spell <tuplet> display detail when the source carried no directive.
stems: boolEmit <stem>up|down computed from clef, pitch, voice, and beam membership.
rest_placement: boolEmit multi-voice rest <display-step>/<display-octave> so voices do not collide.
slur_placement: boolEmit <slur placement="above|below"> computed from stem direction / voice.
tie_orientation: boolEmit <tied orientation="over|under"> computed from stem direction / voice.
Implementations§
Source§impl MusicXmlWriteOptions
impl MusicXmlWriteOptions
Sourcepub fn engrave() -> Self
pub fn engrave() -> Self
The --engrave umbrella: every hint on, tuplet display = engraving default.
Sourcepub fn any_enabled(self) -> bool
pub fn any_enabled(self) -> bool
Whether any hint is enabled (lets the writer skip plan construction entirely on the default path).