Ok..thanks Madoka.. It wasn't to me clear where i have to use the display-scheme-music function => in lilypond scheme-sandbox..and that it had to be music..ok..that is now clear..
but your function does not work for me: i get this (make-music 'SequentialMusic 'elements (list (make-music (quote Music) (quote error-found) #t) (make-music (quote Music) (quote error-found) #t) (make-music (quote Music) (quote error-found) #t) (make-music 'NoteEvent..... On Sun, May 5, 2013 at 9:35 PM, Madoka Machitani <madok...@gmail.com> wrote: > Hi, > > Let me first point out that you have to remember object type matters. > ly:music-property expects music object, not pitch object or anything else, > so you have to > give a music object to it, like this: > > (display-scheme-music > (car (ly:music-property #{ \mark "A" c'4 #} > 'elements))) > > which gives > (make-music (quote MarkEvent) (quote label) "A") > > > Now, is it correct to assume you are trying to achieve something like this? > \insMark "a" musical-sequence > > If so, the function would be: > > insMark = > #(define-music-function (parser location mark mus) > (markup? ly:music?) > (set! (ly:music-property mus 'elements) > (cons (make-music 'MarkEvent 'label mark) > (ly:music-property mus 'elements))) > mus) > > This is a crude example and won't work with single note events like c'4 > > example: > \displayMusic \insMark "A" { c'4 } > => > (make-music > 'SequentialMusic > 'elements > (list (make-music (quote MarkEvent) (quote label) "A") > (make-music > 'NoteEvent > 'duration > (ly:make-duration 2 0 1) > 'pitch > (ly:make-pitch 0 0 0)))) > > > BTW, have you read the extending manuagl? > http://lilypond.org/doc/v2.16/Documentation/extending/ > > > > On Sun, May 5, 2013 at 9:30 PM, Stjepan Horvat <zvanste...@gmail.com>wrote: > >> I'm trying to figure out how and learn to create a function based on a >> \displayMusic function. >> for example: >> \displayMusic { \mark "A" c'4 } >> gives me >> (make-music >> 'SequentialMusic >> 'elements >> (list (make-music (quote MarkEvent) (quote label) "A") >> (make-music >> 'NoteEvent >> 'duration >> (ly:make-duration 2 0 1) >> 'pitch >> (ly:make-pitch 0 0 0)))) >> >> so what i have gotten so far is that there is new (make-music (quote >> MarkEvent) (quote label) "A") or (make-music 'MarkEvent 'label "A") in >> front of c' >> and i don't know how to put this line into it. I understand that i have >> to use cons on 'elements to put the line in front of c. >> Is there a way to figure out what "elements" do i have to use in my >> function to work. >> I'm going through >> http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Music-properties#Music-propertiesto >> get an idea of how to get into it but #(display-scheme-music (first >> (ly:music-property someNote 'elements))) doesn't work. I get an error >> saying: >> Wrong type argument in position 1 (expecting Music): #<Pitch c' > with >> someNote = c'. >> Help would be appreciated. >> >> -- >> *Nesmotren govori kao da mačem probada, a jezik je mudrih iscjeljenje. >> Izreke 12:18* >> >> _______________________________________________ >> lilypond-user mailing list >> lilypond-user@gnu.org >> https://lists.gnu.org/mailman/listinfo/lilypond-user >> >> > > _______________________________________________ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user > > -- *Nesmotren govori kao da mačem probada, a jezik je mudrih iscjeljenje. Izreke 12:18*
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user