I've been having a lot of off-list discussion with Mario Moles, and trying to 
help him come to grips with how to get things done in Rosegarden.  I fixed a 
couple of bugs (which Heikki had to go back and fix correctly) to improve his 
success, but there is one huge issue standing in the way of his work.

It is an issue I have been thinking about for a long time myself.  I started 
to do a tutorial explaining how to handle this situation, and I never wrote 
that tutorial, because it is totally impossible.

A great deal of music in the real world has what we in America call "pickup 
notes."  I'm not sure what this is called in the rest of the Anglosphere.

The simple pattern has one short bar 0 with some number of notes that come 
before bar 1 (typically 1/4 or 1/8 of a bar,) then any number of complete 
bars, and a final short bar that fills up the time robbed by bar 0.

This scenario can be accomplished now that the LilyPond exporter short bar 
padder has been improved so that it no longer attempts to fill in the missing 
space in the last bar.  (It is virtually impossible to accomplish without 
using Segments -> Set Start Time to move the segment to the desired location  
with enough precision to avoid a cascade of 64th-sized errors.  This is 
tedious, but not impossible, so it is acceptable.)

(I'll include an attachment in a moment.  This is how I am creating it.) I 
draw a segment four bars long starting at 1 and fill it up with quarter notes 
(crotchets.)  I drag it to the right until I have 1/4 in bar 1 and 3/4 in bar 
5.  (Normally I would start a composition at 0 for this to make the bar 
numbers come out correctly, but that is not relevant to the overall problem, 
so we will keep the demonstration simple.)

When I export this with my current build of SVN, this most simple example of 
the pattern now works perfectly well.

This is real progress.  Now, however, we hit a brick wall.  It is very common 
to encounter this pattern in conjunction with a series of repeats.  In 
practice with Rosegarden, the presence or absence of repeats does not seem to 
affect the outcome, so we will ignore the repeats for now, and just look at 
what happens with plain segments.

Call the original segment A.  Take a copy of the segment, B, and butt it up 
against segment A so that the time encompassed by bar 5 includes 3/4 of a bar 
from the right end of segment A and 1/4 of a bar from the left end of segment 
B.

I have saved a copy of this, attached, for you guys to play with.  If you 
delete segment B, you can see a working example of the simple scenario.  If 
you leave segment B intact, you can see the mayhem that results.

There are several problems here.  I started to file this as a bug report, but 
it would have wound up being one of those all-in-one reports I have been 
working hard to discourage, so I decided to open a discussion instead, and 
hope it bears fruit.

Rosegarden has no concept of a barline that falls anywhere other than on the 
absolute beat boundaries of the time signature.  In 4/4, a bar is always 4/4, 
and Rosegarden has no idea what to do with this chunk of time inside the 
walls of bar 5.

If you open both segments in a notation view, you see that the first note from 
segment B is actually rendered at the start of bar 5, directly overlapping 
the third-from-last note from segment A.  This is complete garbage.

The way bar 9 is presented on the rulers is also garbage, as they imply the 
missing time from the short bar, even though it has nowhere to go.

If you preview this in LilyPond, you see even more garbage in the form of 
extra rests that were prepended to fill up the time missing from the 
beginning of segment B.  The barline that should be drawn between segment A 
and segment B is not drawn.

I will correct the LilyPond by hand to show how this should look.

Tomrorow.. have to take wife to emergency room.

shit!

-- 
D. Michael McIntyre 

Attachment: pickup-notes.rg
Description: audio/rosegarden

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to