On Wednesday, May 26, 2010, Julie S wrote:

> However, allowing clean editing of these transpositions is something to be
> considered.  Should the user be able to update these through the Special
> Parameter areas that allow them to edit other segment properties, or
> should they double-click on the segments to open a special dialog to allow
> the transposition to take place.   Hmm....  Some things to think about
> here.

Most reasonable thing to me seems to be when you take a symlink copy of a 
segment, the copy adopts the track parameters on the destination track that 
are in effect at the time of creation.  These track parameters are segment 
parameters for segments that don't yet exist, and creating a linked segment 
here on this track is essentially the same sort of action as creating a new 
segment from scratch, so having this behave the same way in both cases would 
be intuitive, and it would be very practical from a code standpoint.

All the track parameters are segment parameters too, but many of them are not 
editable as such.  The lowest and highest playable notes for given instrument 
can only be edited before segments exist, and never afterwards.  This has 
never raised any eyebrows.

Taking track parameters would account for that one too, actually.  Say you 
have a master segment where the highest playable note is two Cs above the 
staff, and you link it for an instrument where the highest playable note is an 
octave and a third lower than that.  Take the highest/lowest playable notes 
from track parameters in effect on that track, and when you open this segment 
in notation, it will flag the fact that your part sounding as written does not 
work on the target instrument without modification.  (In which case the user 
would have to make the linked copy into a permanent real copy (cf. the double-
click to turn repeat segments into real segments procedure) and then doctor up 
the part to bring it into the usable range of the target instrument).

> I see the potential here for more than the initial request, and I think the
> avenue of altering the pitch is worth exploring,  I'm just having a bit of
> trouble imagining a clean interface for this.

To underline what I'm getting at, this whole line of thought here doesn't 
involve *any* new interface.

We could probably get into some questions like whether to play the part at the 
original pitch or transpose it suitably relative to track parameters, but this 
could probably just be an options dialog that appears when creating the link.  
You link from a flute segment to a bassoon, it detects the clef difference and 
asks whether to "maintain current pitch" or "transpose into suitable register" 
or what have you.  It could be pretty nearly the same code that already exists 
for doing this job when you perform a clef change, with the same options.  We 
could probably recycle 80% of that dialog, actually.
-- 
D. Michael McIntyre

------------------------------------------------------------------------------

_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to