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: David Kastrup
Subject: Re: Passing music objects into scheme functions
Date: Mon, 14 Aug 2017 19:34:45 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

David Kastrup <address@hidden> writes:

> Charles Winston <address@hidden> writes:
>
>>> 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).
>>
>> 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.

-- 
David Kastrup



reply via email to

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