Forgot to cc...

Begin forwarded message:

> From: "[email protected]" <[email protected]>
> Date: June 16, 2011 2:51:39 PM GMT+02:00
> To: Graham Percival <[email protected]>
> Cc: lilypond-user Group <[email protected]>
> Subject: Re: Rebroadcasting events from a single timestep
> 
> On Jun 16, 2011, at 2:43 PM, Graham Percival wrote:
> 
>> On Thu, Jun 16, 2011 at 01:50:27PM +0200, [email protected] wrote:
>>> If only it were that easy...
>>> I have also tweaked the rest engraver to do automatic rest grouping.
>>> 
>>> For example, if in my file I have
>>> \time 4/4
>>> d4 r8. r8 r16 r8 r2 r4 r2
>>> 
>>> What will be printed is
>>> d4 r4 r2 r1
>> 
>> That sounds like a job for a scheme music function.
>> 
> 
> It is certainly doable in Scheme insofar as one can create engravers in 
> Scheme.  However, in order to pull this off, I need access to context 
> properties like measureLength and timeSignatureFraction, which are only 
> available (as far as I know) from translators/engravers..  The type of 
> filtering in the two snippets below deal with music before it gets sent to an 
> engraver.
> 
>>> This is why the event needs to be rebroadcasted - it changes the rest to r1 
>>> in the engraver (not in the .ly file).
>>> I could, of course, implement a crude parser in python that combines my 
>>> rests into a new input file, but this would be doubleplusunfun.
>> 
>> It still really sounds like you should use a combination of
>> http://lsr.dsi.unimi.it/LSR/Item?id=372
>> http://lsr.dsi.unimi.it/LSR/Item?id=122
>> 
>> 
>>> Right now, I can make this work by deleting the multi-measure-rest engraver 
>>> and copying all the code to rest-engraver.  However, I'd like to keep the 
>>> changes as minimal as possible in hopes that the useful parts can remain 
>>> separable and become part of LilyPond.
>> 
>> Scheme would be good for that.  Also, that way somebody else could
>> compile your scores without needing to custom-patch the C++ in
>> their source code.  Granted, you're probably never going to want
>> anybody else in the world to compile this particular score... but
>> you never know.  What if those teenagers wanted to play with
>> stuff, and you gave them a short exerpt of this composition?  It
>> would be *way* easier if they could just download 2.14.1 and
>> compile the .ly in there, instead of trying to work with the
>> source code.
>> 
> 
> True, but even if I rewrote the rest engraver in Scheme, the question would 
> still stand about rebroadcasting an event.
> I think there may be enough users who are lazy about how they write their 
> rests that it'd be valuable to have auto-rest-making à la auto-beaming, so I 
> may wind up making a patch out of all this.
> 
>>> My question still stands for anyone who has any idea if/how stream events 
>>> can be rerouted to other engravers.
>> 
>> Sure, but you should ask that on the -devel list, not the -user
>> list.
>> 
> 
> Generally I consult -user when it has to do with my composition activities, 
> but you're right that the people one devel are those who wrote the whole 
> translator/engraver/iterator system.  cc'ed to devel :)
> 
> Cheers,
> MS
> 

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

Reply via email to