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

Reply via email to