[Top][All Lists]

[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 <> wrote:
> Aaron Hill <> 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
> >, 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 - -

reply via email to

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