2016-02-02 16:00 GMT+01:00 Pierre Perol-Schneider <pierre.schneider.pa...@gmail.com>: > Hi Kieren, hi Caio et All, > > Here's a trial to find a workaround avoiding the use of a TextSpanner: > > \version "2.18.2" > > \relative c'' { > \set Staff.pedalSustainStyle = #'mixed > \once\override Staff.SustainPedalLineSpanner.stencil = > #ly:line-spanner::print > \once\override Staff.SustainPedalLineSpanner.left-bound-info = > #ly:line-spanner::calc-left-bound-info-and-text > \once\override Staff.SustainPedalLineSpanner.right-bound-info = > #ly:line-spanner::calc-right-bound-info > \once\override Staff.SustainPedalLineSpanner.staff-padding = #3 > \once\override Staff.SustainPedalLineSpanner.bound-details = > #`((right (Y . 0)(attach-dir . -1)) > (left (attach-dir . 2)(Y . 0)) > (left-broken > (Y . 0) > (attach-dir . 1) > (text . , > #{ > \markup > \normal-text > \whiteout > \pad-markup #.1 > \concat { "(" \musicglyph #"pedal.Ped" ".) " } > #}))) > > c1 c\sustainOn \break c c\sustainOff c > } > > However, I tried to make a useful music function with it without success: > > \version "2.18.2" > > %% Cautionary pedal mark after a line break: > cautionPed = \markup { > \normal-text > \whiteout > \pad-markup #.1 > \concat { "(" \musicglyph #"pedal.Ped" ".) " } > } > > %% Span: > sustainPedalSpan = > #(define-music-function (parser location music) (ly:music?) > (let ((elts (extract-named-music music '(NoteEvent EventChord)))) > (if (pair? elts) > (let ((first-element (first elts)) > (last-element (last elts)))
It's 'articulations not 'articulation. > (set! (ly:music-property first-element 'articulation) > (cons (make-music 'SustainEvent 'span-direction -1) > (ly:music-property first-element 'articulation))) > (set! (ly:music-property last-element 'articulation) > (cons (make-music 'SustainEvent 'span-direction 1) > (ly:music-property last-element 'articulation)))))) > #{ To make it work with recent devel versions you need to add \once\override Staff.SustainPedalLineSpanner.layer = #2 %% every value >1 will do No idea why. 'layer is unset for SustainPedalLineSpanner in 2.18.2 _and_ 2.19.35 > \set Staff.pedalSustainStyle = #'mixed > \once\override Staff.SustainPedalLineSpanner.stencil = > #ly:line-spanner::print > \once\override Staff.SustainPedalLineSpanner.left-bound-info = > #ly:line-spanner::calc-left-bound-info-and-text > \once\override Staff.SustainPedalLineSpanner.right-bound-info = > #ly:line-spanner::calc-right-bound-info > \once\override Staff.SustainPedalLineSpanner.staff-padding = #3 > \once\override Staff.SustainPedalLineSpanner.bound-details = > #`((right (Y . 0)(attach-dir . -1)) > (left (attach-dir . 2)(Y . 0)) > (left-broken > (Y . 0) > (attach-dir . 1) > (text . ,cautionPed))) > $music > \unset Staff.pedalSustainStyle > #}) > > %% Syntax: \sustainPedSpan { notes } > > %% Test: > \relative c'' { > c1 \sustainPedalSpan { c \break c c } c > } > > Any idea what's wrong? > > Cheers, > Pierre Cheers, Harm _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user