\version "2.19.21" #(define (glissando::calc-extra-dy grob) (let* ((original (ly:grob-original grob)) (left-bound (ly:spanner-bound original LEFT)) (right-bound (ly:spanner-bound original RIGHT)) (left-pitch (ly:event-property (event-cause left-bound) 'pitch)) (right-pitch (ly:event-property (event-cause right-bound) 'pitch))) (if (and (= (ly:pitch-octave left-pitch) (ly:pitch-octave right-pitch)) (= (ly:pitch-notename left-pitch) (ly:pitch-notename right-pitch))) (- (ly:pitch-alteration right-pitch) (ly:pitch-alteration left-pitch)) 0 ))) upper= \relative c' { \time 4/4 \key e \major \set Staff.midiInstrument = "acoustic guitar (steel)" \set fingeringOrientations = #'(left) \partial 4. \acciaccatura c16 \glissando cis8 e4 < cis-1 g'-3 >2 s8 \grace a16 ( \glissando < b-2 >8\3 ) < d-1 > ( b ) < e-3 >\2 ( b ) \grace < ais-2 >16 ( \glissando a8 g ) s4. s4. < d'\3 g\2 >8 < gis,\4 d'\3 fis\2 >2\arpeggio ~ < gis\4 d'\3 fis\2 >2 < b'\2\harmonic e\harmonic >2\fermata } lower= \relative { \set fingeringOrientations = #'(left) \partial 4. s4. s4 e,4 s2 s2 s8 < e'-3 >4. ~ e4 \hideNotes \grace { b8 \glissando s4 } \unHideNotes < e-2 >4\5 e,2 ~ 2 < e'\6\harmonic > } \score { \new StaffGroup \with {instrumentName = "Guitar" } << \new Staff = "guitar" << \context Voice = "upper guitar" { \clef "G_8" \voiceOne \override Glissando.gap = #0.5 \override Glissando.extra-offset = #'(-0.5 . 0) \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods \override Glissando.minimum-length = #4 \override Glissando.extra-dy = #glissando::calc-extra-dy \upper } \context Voice = "lower guitar" { \clef "G_8" \voiceTwo \override Glissando.bound-details.right.padding = #1 \override Glissando.bound-details.left.padding = #0.2 \lower } >> \new TabStaff = "tab" << \context TabVoice = "upper tab" { \clef "moderntab" \voiceOne \upper } \context TabVoice = "lower tab" { \clef "moderntab" \voiceTwo \lower } >> >> \layout { \context { \Staff \hide StringNumber } \context { \TabStaff \revert Arpeggio.stencil } } }