[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Denemo-devel] Augmentation / Diminuation Prototype
From: |
Jeremiah Benham |
Subject: |
Re: [Denemo-devel] Augmentation / Diminuation Prototype |
Date: |
Sun, 19 Jul 2009 10:22:25 -0500 |
On Sun, 19 Jul 2009 14:53:59 +0200
Nils Gey <address@hidden> wrote:
> 2) This does only work for single notes. Of course the real benefit
> only comes applying this to a selection.
Is there something wrong with the apply scripts to selection. It seems
to work fine for me when using Transpose Selection. Maybe you can take
a look at that code.
>But I am still not sure if
> its job of the script to see if its a selection or not. ...to be
> honest, I AM quite sure that this is not a script-job. Like I said
> any single-note script should be applied for whole selections. Its
> maybe a problem because selections are usually a mixed array of
> notes, rests and other commands, so scripts HAVE to check if the
> current object can be used or not. Its not wise to trust in the user
> only apply to scripts where its possible for single objects. For
> multiple objects its not possible for the user.
can you step to the next note/chord using d-NextSelectedObject?
> 3) It only works for a certain range. If you try to augment a whole
> note it just stays the same. Similar if you try to diminish(?) a 64
> to a 128. Both is possible in music, but not in Denemo. But the table
> can easily adjusted if the Denemo range is extended.
I was thinking that for the longer notes you can add a tie.
>
> 3b) I am not sure if this is a bug or feature: Because of 2) its
> possible to rhythmically "flatten" things. Especially if you think
> about selections: You can bring the whole selection down to whole
> notes by using the script again and again.
>
> This is interesting, but maybe not desired or just another script.
It would be desired if you were quantizing midi or human input. Maybe
a rhythm can appear on the screen. Then the user has to tap a key at
the rhythm shown. A metronome will click in the background and the
users input can be quantized to varying degrees of accuracy.
> The script could check if the current note/rest is an unusable one.
What is an unusable note? A note that is too short/long?
> Easy for single notes, in fact this is already done, but in a
> selection you have to check all notes before the first one gets
> transformed. Don't know how to do that.
>
> 4) Dotted notes. I think I have not done it correctly. You can see
> that I test if a note is dotted through GetNoteDurations return
> value, which gives 4. for a dotted quarter, which is transformed to
> 4.0 by string->number. Quite a hack?
I probably would not have used a table like what you were
doing. I would first split the baseduration and numofdots. Run each
in a procedure. numofdots would need two arguments. Then sum the
output of the two procedures. I have
to go now but I may be able to help you with this later.
Jeremiah
>However, this is of limited use
> because it justs work for single dotted notes and not for more than
> one dot.
>
> I think I have to convert the GetNoteDuration return value to a
> String-list first and then check the number of dots.
>
>
> 5) To make both augmentation and diminuation avaible I could just do
> two redundant scripts with only * and / changed. Any suggestions how
> I can use one scripts for two different keypresses in this case? The
> point is that no user-interaction should be necessary. I'm not sure
> if I was already told this, but how can a script access the name it
> was invoked with? The command name I give when I add this to a menu.
> Or is there another way?
>
> Maybe just do two scripts/commands but make the case-table avaible
> denemo-wide.
>
> Nils
>
>
> _______________________________________________
> Denemo-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/denemo-devel