Jump to content

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

From LilyPond wiki
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
Undo revision 6450 by Ksnortum (talk)
Tag: Undo
 
(3 intermediate revisions by 2 users not shown)
Line 34: Line 34:
[[Category:Tweaks and overrides]]
[[Category:Tweaks and overrides]]
[[Category:Scheme]]
[[Category:Scheme]]
[[Category:Snippet]]

Latest revision as of 21:43, 12 March 2026

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 )
}