Jump to content

Making slurs with complex dash structure: Difference between revisions

From LilyPond wiki
Import snippet from LSR
 
m Replace version="2.24.0" with version="2.24" now that the LilyWiki extension supports auto-selecting the latest release in a stable series
Line 3: Line 3:
The slur is defined in terms of the bezier parameter t which ranges from 0 at the left end of the slur to 1 at the right end of the slur. <code>dash-element</code> is a list <code>(start-t stop-t dash-fraction dash-period)</code>. The region of the slur from <code>start-t</code> to <code>stop-t</code> will have a fraction <code>dash-fraction</code> of each <code>dash-period</code> black. <code>dash-period</code> is defined in terms of staff spaces. <code>dash-fraction</code> is set to 1 for a solid slur.
The slur is defined in terms of the bezier parameter t which ranges from 0 at the left end of the slur to 1 at the right end of the slur. <code>dash-element</code> is a list <code>(start-t stop-t dash-fraction dash-period)</code>. The region of the slur from <code>start-t</code> to <code>stop-t</code> will have a fraction <code>dash-fraction</code> of each <code>dash-period</code> black. <code>dash-period</code> is defined in terms of staff spaces. <code>dash-fraction</code> is set to 1 for a solid slur.


<lilypond version="2.24.0">
<lilypond version="2.24">
\relative c' {
\relative c' {
   \once \override
   \once \override

Revision as of 18:53, 16 November 2025

Slurs can be made with complex dash patterns by defining the dash-definition property. dash-definition is a list of dash-elements. A dash-element is a list of parameters defining the dash behavior for a segment of the slur.

The slur is defined in terms of the bezier parameter t which ranges from 0 at the left end of the slur to 1 at the right end of the slur. dash-element is a list (start-t stop-t dash-fraction dash-period). The region of the slur from start-t to stop-t will have a fraction dash-fraction of each dash-period black. dash-period is defined in terms of staff spaces. dash-fraction is set to 1 for a solid slur.

\version "2.24"

\relative c' {
  \once \override
    Slur.dash-definition = #'((0 0.3 0.1 0.75)
                                (0.3 0.6 1 1)
                                (0.65 1.0 0.4 0.75))
  c4( d e f)
  \once \override
    Slur.dash-definition = #'((0 0.25 1 1)
                                (0.3 0.7 0.4 0.75)
                                (0.75 1.0 1 1))
  c4( d e f)
}