lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Passing music objects into scheme functions


From: Charles Winston
Subject: Re: Passing music objects into scheme functions
Date: Mon, 14 Aug 2017 13:23:51 -0400

> On Aug 14, 2017, at 1:20 PM, David Kastrup <address@hidden> wrote:
> 
> Charles Winston <address@hidden> writes:
> 
>> Here is the function inside chord-name.scm
>> 
>> 
>> ;; chordmode-to-exceptions
>> (define-safe-public (chordmode-to-exceptions chord markup)
>>  "Transform event-chord entered in chord mode to alist
>> entry in chordSemanticsNameExceptions list
>> "
>>  (define (is-semantics-event? x)
>>    (ly:in-event-class? x 'chord-semantics-event))
> 
> Event classes are for stream events, not for music expressions.
> 
>>  (define (get-semantics chord)
>>    (let* ((elts (ly:music-property chord 'elements))
>>           (semantics-event (filter is-semantics-event? elts))
>>           (semantics-list (ly:event-property semantics-event 
>> 'chord-semantics)))
> 
> ly:event-property is for stream events, not for music expressions.
> 
>>      semantics-list))
>>  (list (cons (get-semantics chord) markup)))
> 
> Stream events are generated from music expressions during iteration of
> music expressions (the interpretation phase making use of engravers
> etc).
> 
> -- 
> David Kastrup

I believe these actually are stream events. Take a look at the branch I linked 
to. I added a chord-semantics-event as a new stream event, which iterates 
correctly and is used to create chord-names without the pitches.

Charles


reply via email to

[Prev in Thread] Current Thread [Next in Thread]