What
<hammer-on> and <pull-off> are paired, note-attached spanners inside <technical>, carrying a
required type (start/stop), an optional number, and text content for the printed label:
<technical><hammer-on type="start" number="1">H</hammer-on></technical>
mx::api has no representation for either. MarkType has both members commented out
(src/include/mx/api/MarkData.h:142-143), as do the Converter::technicalMarkMap entries
(src/private/mx/impl/Converter.cpp:330-332). They are dropped on read and cannot be authored.
mx::core models them fully as core::HammerOnPullOff behind
core::TechnicalChoice::Kind::{hammerOn, pullOff}, so the data is available and thrown away in
mx::impl.
Requirements
- Read and write
start/stop attached to the notes that carry them.
- Honor
number via the existing SpannerNumber mechanism.
- Preserve the element text (the
H / P label).
- Pin a corpus file in
src/private/mxtest/api/roundtrip-baseline.txt, e.g.
ksuite/k004a_Technical.xml. Both are support="none" in data/api.features.xml, and none of
the five corpus files using them are defended today.
Follow whatever shape #389 settles on for the other note-attached paired spanners. tap (the third
member of audit section 1.2) is not in scope; it carries text only and is not a spanner.
Blocks u_span eligibility in #393. Related: #389, #185 (closed; deferred these).
What
<hammer-on>and<pull-off>are paired, note-attached spanners inside<technical>, carrying arequired
type(start/stop), an optionalnumber, and text content for the printed label:mx::apihas no representation for either.MarkTypehas both members commented out(
src/include/mx/api/MarkData.h:142-143), as do theConverter::technicalMarkMapentries(
src/private/mx/impl/Converter.cpp:330-332). They are dropped on read and cannot be authored.mx::coremodels them fully ascore::HammerOnPullOffbehindcore::TechnicalChoice::Kind::{hammerOn, pullOff}, so the data is available and thrown away inmx::impl.Requirements
start/stopattached to the notes that carry them.numbervia the existingSpannerNumbermechanism.H/Plabel).src/private/mxtest/api/roundtrip-baseline.txt, e.g.ksuite/k004a_Technical.xml. Both aresupport="none"indata/api.features.xml, and none ofthe five corpus files using them are defended today.
Follow whatever shape #389 settles on for the other note-attached paired spanners.
tap(the thirdmember of audit section 1.2) is not in scope; it carries text only and is not a spanner.
Blocks
u_spaneligibility in #393. Related: #389, #185 (closed; deferred these).