denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] Musical ways of entering music.


From: Richard Shann
Subject: Re: [Denemo-devel] Musical ways of entering music.
Date: Fri, 14 Nov 2008 07:35:22 +0000

On Thu, 2008-11-13 at 23:09 +0100, Nils Gey wrote:
> > > One thing I am thinking about is that it is quite easy to allow a
> script
> > > to ask for a midi event, process it as it sees fit and then
> continue
> > > asking until it receives some special event. Should we be
> packaging the
> > > midi events up before working with them - turning them into
> semantic
> > > units? If so, how can we do this without seriously impairing the
> > > customizability?
> 
> Do you mean things like:
> Tap the pedal once and it will, for example, delete the last object,
> but hold it and you can enter rests when you play the midi-keyboard?
> 
> For me this means Denemo deletes on pedal_off but only if no note_on
> signal was in between. 
Yes, that is a good example of the sort of customization someone might
want. 
You have explained it to me so that I understand, and I could write some
C-code that would implement the idea, (that is, explain it to the
computer in a way that it would understand). But you would need to make
a new binary of Denemo to use that C-code.
Or we could allow scripts to request the midi events, and then, without
making a new binary of Denemo, a scheme programmer could write a script
to implement your idea.
Or, we could package up the raw midi events, converting the midi stream
into a stream of "hyper-midi-events", such as PedalOffAfterPedalOn,
PedalOffAfterNote and so on. This would make it much easier to write the
C-code or script that implements your idea, but would it would restrict
you to the packaged events - you could not distinguish the pedal off
after a sharp key from the pedal off after a natural key, for example.
(Not that I can think of why you might want to do that, but I hope you
take my point).
Or, finally, we could imagine a dialog "Set Midi Shortcut" which would
ask the user to specify types of midi events, and conditions on them and
so on, and assign actions to them. This is the thing that I think is
highly problematic: it is the only thing many users would be able to
cope with, but it would be very difficult to make as an easy-to-use,
easy-to-understand, yet flexible tool.

Having slept on the problem, it seems to me that we should start by
allowing a script to get the midi events, and write some scripts to do
some useful things with them. Then we can assess what the performance is
like (whether we need to use C to package up the raw events), and if the
performance is not good enough for some purposes, we can think of having
multiple layers of access to the midi stream.

Richard






reply via email to

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