I was looking for the counterpart to bendAfter and found
that Lilypond does not define a 'bendBefore' function.

I located Valentin's workaround function 'bendStart' at

http://lilypond.1069038.n5.nabble.com/bends-before-notes-how-to-tp22214p22218.html

but it doesn't compile for me under 2.16.2:

GNU LilyPond 2.16.2
Processing `bendStart.ly'
Parsing...
bendStart.ly:27:15: error: GUILE signaled an error for the expression beginning 
here
        \bend #
               $argument
Unbound variable: $argument
bendStart.ly:27:14: error: wrong type for argument 1.  Expecting integer, found 
#<unspecified>
        \bend
              #$argument
bendStart.ly:36:22: error: error in #{ ... #}
\bendStart #-2 { g' }
                      b8 a g fis e2 }
Interpreting music...
Preprocessing graphical objects...
Finding the ideal number of pages...


Two questions:

1) Is there an open feature request to add a \bendBefore
function to Lilypond, complementary to \bendAfter?

2) Meanwhile, is there a simple adjustment to Valentin's code 
at the URL above to make the workaround viable?

Thank you!

Jim
%{
Valentin Villenave
Re: bends before notes... how to?

Here is a new command : \bendStart
it needs two arguments :
\bendStart #number {ghostnote}

the ghostnote will not be printed; its only purpose is to specify the
placement of the bend sign.

%}

\version "2.16.2"

#(define (make-bend x)
  (make-music 'BendAfterEvent
              'delta-step x))
bend =
#(define-music-function (parser location delta) (integer?)
       (make-bend (* -1 delta)))
bendStart =
#(define-music-function (parser location argument music) (integer? ly:music?)
#{ \hideNotes
        \once \override NoteColumn #'X-extent = #'(0 . 4)
        \cadenzaOn
        \bend #$argument
        \grace $music \cadenzaOff
        \unHideNotes
#} )

\paper {
ragged-right = ##t }

\relative {
\bendStart #-2 { g' } b8 a g fis e2 }
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to