The hairpin element is used for graphical, i.e., crescendo and diminuendo, dynamic markings. For instantaneous or continuous textual dynamics, such as 'p', 'mf', or 'cres. poco a poco', the dynam element should be used. The starting point of the hairpin marking may be indicated by either a startid, tstamp, tstamp.ges, or tstamp.real attribute, while the ending point may be recorded by either a dur, dur.ges, endid, or tstamp2 attribute. It is a semantic error not to specify one starting and one ending type of attribute. MIDI values associated with the graphical dynamic sign may be recorded in the val and val2 attributes.
<elementSpec ident="hairpin" module="MEI.cmn">
<desc xml:lang="en">Indicates continuous dynamics expressed on the score as wedge-shaped graphics,
<abbr>e.g.</abbr>, <
and >.</desc>
<classes>
<memberOf key="att.common"/>
<memberOf key="att.facsimile"/>
<memberOf key="att.hairpin.log"/>
<memberOf key="att.hairpin.vis"/>
<memberOf key="att.hairpin.ges"/>
<memberOf key="att.hairpin.anl"/>
<memberOf key="model.controlEventLike.cmn"/>
</classes>
<content>
<rng:empty/>
</content>
<constraintSpec ident="hairpin_start-_and_end-type_attributes_required" scheme="schematron">
<constraint>
<sch:rule context="mei:hairpin">
<sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real">Must have one of the
attributes: startid, tstamp, tstamp.ges or tstamp.real.</sch:assert>
<sch:assert test="@dur or @dur.ges or @endid or @tstamp2">Must have one of the attributes:
dur, dur.ges, endid, or tstamp2.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
<remarks xml:lang="en">
<p>The <gi scheme="MEI">hairpin</gi> element is used for <emph>graphical</emph>,
<abbr>i.e.</abbr>,
crescendo and diminuendo, dynamic markings. For instantaneous or continuous
<emph>textual</emph> dynamics, such as 'p', 'mf', or 'cres. poco a poco', the <gi scheme="MEI">dynam</gi> element should be used. The starting point of the hairpin marking
may be indicated by either a <att>startid</att>, <att>tstamp</att>, <att>tstamp.ges</att>,
or <att>tstamp.real</att> attribute, while the ending point may be recorded by either a
<att>dur</att>, <att>dur.ges</att>, <att>endid</att>, or <att>tstamp2</att> attribute. It is
a semantic error not to specify one starting and one ending type of attribute. MIDI
values
associated with the graphical dynamic sign may be recorded in the <att>val</att> and
<att>val2</att> attributes.</p>
</remarks>
</elementSpec>