[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Ritardandi and Accelerandi for MIDI
From: |
Michael Welsh Duggan |
Subject: |
Re: Ritardandi and Accelerandi for MIDI |
Date: |
Mon, 29 Aug 2005 21:40:58 -0400 |
User-agent: |
Gnus/5.110004 (No Gnus v0.4) Emacs/22.0.50 (gnu/linux) |
Han-Wen Nienhuys <address@hidden> writes:
> Michael Welsh Duggan wrote:
>> Desiring to have my midi outputs support gradual tempo changes, I
>> hacked up the following file, which I present for discussion. I would
>> be especially grateful for suggestions on how to improve this code, as
>> my scheme knowledge is sparse (I am much more conversant with elisp),
>> and my understanding of many of the lilypond internals is shaky, at
>> best.
>>
>
> it's a nice hack, but I think it would be better to solve this at the
> Performer level. You could look at how Dynamic_performer does crescendi
> for inspiration.
I just looked at span-dynamic-performer.cc to see how it works. If I
understand this correctly, it will announce a new Audio_dynamic item
after the start of a dynamic-span for each moment in which an event
occurs. Is this correct?
My only problem with this is the following: It doesn't appear to
allow a crescendo to happen throught a single note without some extra
hackery added. It would be better (IMHO) if we could emit
Audio_dynamic events (or Audio_tempo events) at discrete quantum
intervals. It doesn't seem possible, however, to emit Audio_items at
any moments other than those defined in the Music proper.
Suggestions? Maybe Audio_staff::audio_items_ can be a priority queue
(by moment), allowing us to emit events out of order?
--
Michael Welsh Duggan
(address@hidden)