[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Scheme performers/translators
From: |
Han-Wen Nienhuys |
Subject: |
Re: Scheme performers/translators |
Date: |
Thu, 30 Sep 2021 08:45:26 +0200 |
On Thu, Sep 30, 2021 at 12:24 AM David Kastrup <dak@gnu.org> wrote:
>
> Aaron Hill <lilypond@hillvisions.com> writes:
>
> > On 2021-09-29 12:39 pm, David Kastrup wrote:
> >> The question is whether we should do something like this as default,
> >> possibly conditioned on whether any acknowledgers are present? Because
> >> even if we cannot react to Midi data structures (since they are not
> >> Scheme-accessible for now), sometimes a translator may be enough to do
> >> the trick.
> >
> > You say "for now" above, so is allowing Scheme to interact directly
> > with the MIDI stream something that is planned?
>
> I have no idea what you call "planned". It is a deficiency that one
> cannot use LilyPond in anything but a hardwired manner for creating
> Midi. That does not mean that I know this to be in anybody's personal
> work queue. At the current point of time, the Midi data structures are
> not even in the Scheme memory management. I think most of them just
> stick around without ever getting deleted.
Audio elements get deleted in Performance::~Performance, and I'd be
surprised if the MIDI stuff gets leaked. MIDI didn't show up the
memory leak hunt Jonas and I did about 9 months ago. File a bug if you
can repro a leak?
> > Between what you have just shown and the work that already occurs in
> > articulate.ly, it seems a lot of practical manipulation is possible
> > without going down to the MIDI layer. So, your little patch to enable
> > wider use of Scheme translators seems quite useful. At the very
> > least, the more folks build on this and start playing around with the
> > music, the more we would understand what a potential full Scheme
> > performer support would entail.
>
> Well, this is not as much supporting the MIDI layer as it is employing
> the translator level for messing with music during iteration. It's sort
> of annoying that it doesn't work by default.
It doesn't work by default because we never bothered to invest time in
improving it. It's not obvious to me that a principled approach to
MIDI rendering would use a broadcast/acknowledge type architecture
like the typography part does.
--
Han-Wen Nienhuys - hanwenn@gmail.com - http://www.xs4all.nl/~hanwen