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

Reply via email to