> 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
