denemo-devel
[Top][All Lists]
Advanced

[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





reply via email to

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