Thanks for the suggestion - I was actually aware of the use of \shape to adjust
the slur, but hadn't implemented it since I thought it more sensible (perhaps
naively) to get all the notes in place and then adjust the slurs at the end of
the process.
However, for me introducing this doesn't fix the problem. I still get the same
error when I use the following code:
\version "2.18.2"
\include "definitions.ily"
\language "english"
\layout {
\context {
\Staff
\override VerticalAxisGroup #'default-staff-staff-spacing =
#'((padding . 4))
}
}
music = {
\set restrainOpenStrings = ##t
\set TabStaff.minimumFret = #12
\relative a' {
r2 c16 ( \glissando b )
\bendOn \bendGrace g' ( a8 ) ( \bendGrace g ) ( a ) \bendGrace g ( a ) |
\bendGrace g ( a4 ) \bendGrace \preBendHold g ( a16 ) ( g8 )
\bendGrace g ( \holdBend a16 ) ~ a8 ( g16 ) e
d ( e ) g \bendGrace \preBendHold d ( e ) ( |
d8 \bendOff
\shape #'((0 . 0) (0.6 . 0.3) (1.2 . 0.3) (1.8 . 0)) Voice.Slur
\shape #'((0 . 0) (0.7 . 0.3) (1.4 . 0.3) (2.1 . 0.3)) TabVoice.Slur
c16 ( \hideNotes \grace d ) \unHideNotes
\bendOn d ( e ) g \bendGrace \preBendHold d ( e ) ( d )
c4 \bendGrace \preBendHold a ( c16 ) ( a )
\bendOff
\shape #'((0 . 0) (0.6 . 0.3) (1.2 . 0.3) (1.8 . 0)) Voice.Slur
\shape #'((0 . 0) (0.7 . 0.3) (1.4 . 0.3) (2.1 . 0.3)) TabVoice.Slur
g ( \hideNotes \grace a ) \unHideNotes \bendOn a ( |
c8 )
}
}
\score {
<<
\new Staff {
\clef "treble_8"
\key a \minor \numericTimeSignature \time 4/4
\tempo 4 = 58
\music
}
\new TabStaff {
\clef moderntab
\music
}
>>
}
________________________________
From: Federico Bruni <fedel...@gmail.com>
To: Martyn Quick <martyn_qu...@yahoo.co.uk>
Cc: "lilypond-user@gnu.org" <lilypond-user@gnu.org>
Sent: Thursday, 31 July 2014, 14:38
Subject: Re: Strange problem with guitar bends
2014-07-31 12:49 GMT+02:00 Federico Bruni <fedel...@gmail.com>:
>
>2014-07-31 9:56 GMT+02:00 Martyn Quick <martyn_qu...@yahoo.co.uk>:
>
>
>The \hideNotes and \unHideNotes is to achieve the work-around for mixing
>bending strings with hammer-on and pull-offs (which are engraved using normal
>slurs). This is just an excerpt of what I was trying to engrave... and I
>think it is minimal, in the sense that if you remove any one part of it then
>Lilypond runs fine and produces what I expected.
>
>
>Ok, then I would write the last lines this way (this avoids the error, by the
>way):
>
>
>\bendOff
>\shape #'((-0.8 . 0.5) (-0.8 . 0.5) (-0.8 . 0.5) (-0.8 . 1)) Voice.Slur
>\shape #'((-0.3 . 0) (-0.3 . 0) (-0.3 . 0) (-0.5 . 0.5)) TabVoice.Slur
>\hideNotes \grace a( \unHideNotes g )
>
>Adjust the values of \shape
>
>
>
And this is a full example of the workaround. I might add it to the README on
Github:
\version "2.18.0"
\include "notation-snippets/guitar-string-bending/definitions.ily"
music = \relative c' {
\set TabStaff.minimumFret = 4
\set TabStaff.restrainOpenStrings = ##t
\bendOn
fis8( g)( fis) \bendOff
\shape #'((-0.8 . 0.5) (-0.8 . 0.5) (-0.8 . 0.5) (-0.8 . 1)) Voice.Slur
\shape #'((-0.5 . 0) (-0.5 . 0) (-0.5 . 0) (-0.5 . 0.3)) TabVoice.Slur
\hideNotes \grace fis( \unHideNotes e)
}
\score {
\new StaffGroup <<
\new Staff { \new Voice { \clef "treble_8" \music } }
\new TabStaff { \new TabVoice { \clef "moderntab" \music } }
>>
\layout {
indent = #0
\context { \StaffGroup \override StaffGrouper.staff-staff-spacing.padding =
#3 }
}
}
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user