> On Aug 14, 2017, at 1:34 PM, David Kastrup <[email protected]> wrote:
> 
> David Kastrup <[email protected]> writes:
> 
>> Charles Winston <[email protected]> writes:
>> 
>>>> On Aug 14, 2017, at 1:20 PM, David Kastrup <[email protected]> wrote:
>>>> 
>>>> Charles Winston <[email protected]> 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).
>>> 
>>> I believe these actually are stream events.
>> 
>> It doesn't matter what you believe.  After
>> 
>>> chordVar = \chordmode { c1:m7 }
>>> 
>>> markupVar = \markup { “min7” }
>>> 
>>> #(chordmode-to-exceptions chordVar markupVar)
>> 
>> chordVar most certainly is a music expression rather than a stream
>> event.  And chordmode-to-exceptions is a confused mess that sometimes
>> calls ly:music-property and sometimes ly:event-property on its
>> constituents.  There is no input (apart from empty chords) that it will
>> process sensibly unless your branch messes up \chordmode completely and
>> generates a mishmash of stream events and music expressions.
> 
> Ok, that was quite uncalled for.  I apologize for the pigheaded way I
> expressed myself here.

I know that chordVar isn’t a stream event. I was saying chord-semantics-event 
is. Anyway this is what I’m trying to do:

Extract the elements property from the chord parameter, thats when I call 
ly:music-property. Then from the elements, I want to find the element which is 
a chord-semantics-event. I do this with the function is-semantics-event?. This 
stream event is something I’ve defined as a part of my summer of code project 
and has worked for naming chords using semantics. Then from this 
semantics-event, I want to get the list of semantics, which is a property of 
the chord-semantics-event. This is when I use ly:event-property.  This is the 
list that I would like to be a key for the alist pair. I return the pair as a 
list so I can append it to the complete list of chord exceptions, just like the 
current chord exceptions does it.

Let me know where I’m going wrong here.

Charles
_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to