> On 05/03/2014 04:37 PM, Tom Breton (Tehom) wrote:
>  > If you have adjacent notes of the same pitch and you select all of them
>  > and change their lengths, you don't get a sensible result.

> [...]
> I think your
> question only applies to growing the durations?)

Yes.  Perhaps I could have been clearer.  There's no problem shortening
notes, no matter what else is in the bar.

It's just growing them into other notes of the same pitch that's
problematic.  When we grow the duration into another note of the same
pitch, several conflicting things try to happen:

 * Obviously, the notes should grow as asked.

 * When adding notes, we remove notes of the same pitch that sound at the
same time.  This is for when you overwrite (say) a C3 eighth note with a
C3 quarter note of the same pitch - clearly the user wanted to replace
it, so we don't leave two C3s sounding at the same time and place.

 * As a general thing, we don't make duplicate notes.

 * We tie any tied sequences that we made.

These things can't all be satisfied at once.  #3 and #4 want to smoosh
them into one long note.  #1 wants to build a hideous series of
alternating duplicates, the different duplicates differently tied forwards
and backwards.  #2 wants to remove some notes we just made, leaving
mysterious gaps.

I like Aere's and Michael's idea of just balking and maybe popping up a
warning, but it's hard to detect that situation before the command has
run.

So I'm leaning towards Michael's other suggestion: Build the hideous
series the user asked for and let him undo it.

>    How about limiting expansion such that no duration will be long
> enough to overlap the next?  So, if I have this (p is a rest, a la
> QBASIC's play command, 4 is a quarter note, etc...):
>
>    c4p4 c8p8 c16p16 c2
>
> And I ask to expand all the notes to be two full bars, I'll get this:
>
>    c2 c4 c8 c2
>
> The note-ons are preserved, and the notes will play for as long as
> possible.

There is a certain appeal in being able to legatoize a bunch of notes like
that, but it's really a different command.

        Tom Breton (Tehom)



------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Rosegarden-devel mailing list
Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to