Jump to content

Manipulating slurs via 'positions and 'extra-offset: Difference between revisions

From LilyPond wiki
No edit summary
m New category
 
Line 33: Line 33:


[[Category:Tweaks and overrides]]
[[Category:Tweaks and overrides]]
[[Category:Scheme]][[Category:Snippet]]
[[Category:Scheme]]
[[Category:Snippet]]

Latest revision as of 23:25, 21 November 2025

There is a command to change slurs, \override Slur.positions. Actually the influence of this command is limited, e.g. if you like the shape of the slur and you want to shift it a little bit,
\override Slur.positions does not exactly what you want.
slurShift shifts the slur exactly the amount you want without changing the shape, slurShiftx combines slurShift and Slur.positions.

\version "2.24"

\paper { tagline = ##f }

slurShift=
#(define-music-function (amount)
   (pair?)
   #{
     \once \override Slur.extra-offset = $amount
   #})

slurShiftx=
#(define-music-function (amount offsets)
   (pair? pair?)
   #{
     \once \override Slur.positions = $offsets
     \once \override Slur.extra-offset = $amount
   #})

\relative c, {
  \clef bass
  c8(-"default slur" g'' e' g, c g c g )
  \slurShift  #'(0 . 1)
  c,,8(-"slurShift #'(0 . 1)" g'' e' g, c g c g )
  \slurShiftx  #'(2 . 2) #'(0 . 6)
  c,,8(-"slurShiftx #'(2 . 2) #'(0 . 6)"
  g'' e' g, c g c g )
}