[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Add an arbitrary music property
From: |
David Kastrup |
Subject: |
Re: Add an arbitrary music property |
Date: |
Wed, 13 Jun 2018 19:31:24 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Urs Liska <address@hidden> writes:
> Indeed it does.
> But now that I know how to mark up a whole music expression with a
> custom music-property I see that it may not actually be what I need.
> Is it possible to read out the properties of music expressions in an
> engraver?
No.
> Or do these only respond to grobs? Is *that* what (process-music) is
> for?
Engravers respond to grobs (produced by engravers) and to stream events
(produced by iterators). process-music does not take an argument. It's
merely a stage of processing stream events.
Stuff like SequentialMusic expressions never arrive at engravers: they
are processed by the Sequential_iterator which converts the contained
elements into StreamEvent data produced at the proper music time and
broadcast to the right context and its parents.
> What I want to achieve is:
>
> * Have a music function take a music argument
> * mark that up with an annotation (that addresses the whole
> expression, not just a single grob or moment)
> * in an engraver process the annotation as a whole, for example in
> order to print the begin and end of the annotated music.
>
> If that isn't possible with the music-property I would probably attach
> grob-properties to the first and last element in the music expression
> and try to figure out the extent of the annotation by that (will
> probably have to do some ID referencing to match the begin/end grobs).
More like attaching stuff to the first and last rhythmic-event. But you
may be better off attaching applyContext calls of the right nature to
the front and back of the expression.
--
David Kastrup