Hi Charles,

the make-note-ev function is hidden inside a closure and therefore not publicly visible. It depends on the duration defined in that closure. To create NoteEvents you should create them like this:

(make-music 'NoteEvent 'pitch root 'duration some-duration)

where 'some-duration' is defined with a duration: (ly:make-duration 2) for a quarter note.

The begin-define-sequence implies using 'let':

#(let ((root (ly:make-pitch 0 0 0))
       (dur (ly:make-duration 2)))
   (display (make-music 'NoteEvent 'pitch root 'duration dur)))

If there is a duration reachable in the scope you are acting, then you can use that one like you found in the mentioned file and probably copy the definition of make-note-ev.

HTH
Jan-Peter

Am 01.06.2017 um 17:03 schrieb Charles Winston:
Hi,

I’m fooling around with using Scheme in lilypond files, making some way on my 
GSoC chords project. I’m trying to call the make-note-ev procedure found in 
scm/chord-entry.scm on line 196. I’ve written something simple:

#(begin
        (define root (ly:make-pitch 0 0 0))
        (display (make-note-ev root))
)

And I get an error saying that make-note-ev is an unbound variable. I thought 
that we could call Scheme procedures from the source in lilypond files. What am 
I missing here?

Thanks,
Charles
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel



_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to