On Thursday 15 June 2006 1:38 pm, Vladimir Savic wrote:

> Can you please make that variants-of-styles combo box always the lower one?
> Please... :)

I see what you mean now, and I realize why you mentioned it.  It's not 
possible to roll through the styles, because the stupid box keeps moving.  I 
didn't understand your suggestion, but I just came to the same conclusion 
independently, and set it up that way.

Here's the plan on all that.

Dealing with things Rosegarden can't really do is simplified by using 
non-functioning directives instead of playback jump events or what have you.  
We don't really need anything special for DC and DS and so forth, because 
these are just text in Rosegarden, and just text in LilyPond.

That narrows the field of problems to solve considerably.  We're down to 
alternate ending repeats, and various markups that Rosegarden can't do 
either.  (Plus assorted other issues that I am not thinking about just yet, 
but all of which are vaguely similar in terms of how they can be faked around 
in this general fashion.)


Phase 1, Stage 1

Use this new hack LilypondDirective text type just to get something that we 
can isa from LilypondExporter and act upon accordingly, to make these 
directives work quickly and cheaply, for now.

The first round of things I intend to accomplish is limited to

* make repeating segments export as \repeat { } sections
* make these sections recognize and accommodate the Alternate1 and Alternate2 
directives (1)
* make the Segno and Coda directives export as LilyPond markups
* flag individual whole bars of rest as MultiRest by hand, and then deal with 
them appropriately (2)

Phase 1, Stage 2

* switch the LilypondDirective into its own unique event type, cutting it away 
from Text
* invent some more appropriate way of inserting these events (a new tool, a 
menu and toolbar, to be decided later)
* make the events display as graphics, so they look better on-screen, and can 
hopefully be printable in-house too (3)
* more automated MultiRests?

Notes:

(1)  I was originally thinking toward marking out the repeats by hand, hence 
the initial commit has "BeginRepeat" and "EndRepeat," but this is problmatic 
to implement (barlines aren't real), and it really shouldn't be necessary if 
we can make repeating segments exportable.  The idea is to minimize the 
differences between working within Rosegarden for Rosegarden, and Rosegarden 
for LilyPond.  It is possible to have something like the attached example 
that plays correctly, and still has the first and second endings all 
contained within a single set of working segments.  I *think* we can export 
that, just by reading the Alternative1 directive and starting an \alternative 
{} section.  With some care (user placement, or scanning ahead) about making 
sure the directives are caught in time to write it correctly.

(2) I'm not sure about the most appropriate thing with multiple bar rests yet.  
They need to only print (export) on single parts, not whole scores.  Maybe 
LilyPond is clever enough to make that distinction for free.  I need to 
investigate.  It might also be possible to skip this directive type, and just 
use some other cleverness entirely.  I'm not that far along at this point, 
and don't have a fully formed plan.

(3) Being able to print these would be useful, but it's probably of limited 
use.  There are a lot of quirky problems in that example pixmap, and playing 
that file also confuses the playback pointer.  There are many, many problems 
to solve before Rosegarden could really print all of these weird, frigged up, 
LilyPond-oriented files correctly, without odd glitches, and those problems 
are probably just more work to solve than will ever likely be done in our 
lifetime.  LilyPond for final printing, Rosegarden for drafts ranging from 
rather good to quite terrible; that is probably an unavoidable reality.  It 
it certainly unavoidable so far as I am concerned with any of this.

-- 
D. Michael 'Silvan' McIntyre  ----   Silvan <[EMAIL PROTECTED]>
Linux fanatic, and certified Geek;  registered Linux user #243621

Author of Rosegarden Companion http://rosegarden.sourceforge.net/tutorial/

<<attachment: example.jpg>>

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

Reply via email to