I still have some considerable way to go before I reach that question, but I'm getting there.
Lilypond Directives are like annotations, but green, and above the staff. I'm riding the back of Text::Annotation as far as I can go. On the UI side, I think I'm just going to have "Lilypond Directive" in the text inserter dialog, and have the dialog change states to add a combo full of canned choices. If I don't do that, there's a whole lot of parallel infrastructure to build to accomplish something very simple, and I got about a quarter of the way down that road before deciding it's not worth it having a whole new Lilypond Directive Inserter tool. The whole thing is a hideous kludge anyway, after all, so if it looks crappy, well, it *is* crappy. (And anyway, I want to get something working first, and worry about what it looks like later. It's not like I'm going to hold up next month's release with this work.) One of the problems that needs solving though, and one that might require all that parallel infrastructure anyway, is where to put these so they wind up in a reasonable place within the export stream. All the text events and marks and other whatnots (and I suppose annotations too) always have to be bound to a note, but repeats and 1st ending/2nd ending indications and whatforth are probably better attached to a barline than a note. Ideas? I'm going to do one thing at a time, but once the system of inserting special Lilypond directives is in place, there looks to be an awful lot of stuff we can use this for. The notation editor can't display any of it, and people who want to hear what it sounds like will have to maintain two parallel sets of segments, but it seems possible, at least at this early and optimistic stage, to use this as a way to direct the exporter to render lots and lots of useful things on paper, and thus dramatically reduce the amount of manual, one-way post-processing that must be done on exported .ly files. (Something else to think about. Only a half-formed idea, but it seems to me if we can have virtual repeat segments on the same track, we ought to be able to have some kind of system whereby you can copy a pointer to a master segment to another track. This could make the ugly business of having to maintain two sets of segments, one in the right order for audible performance, and one in the right order for exported layout, much less annoying. If done properly. I haven't thought much about the "if done properly" side of it yet. Another thing, it would make it really easy to compose a canon. Paste a "symlink" copy on another track, delayed by two or four bars or whatever, and presto, you have a super canon composing tool. Who composes canons? Well, I'm interested in the form, but that's a pretty out there feature if composing canons is all it's good for.) Well, this thing is still building. Who knows. I might get somewhere interesting before next weekend at this rate. I hate the fundamental crappiness of what I'm doing here, but I like the hope of being able to compose with an editor that doesn't totally suck, and still hit a damn button and make a piece of paper come out of my printer that says what I need it to say, without hand-editing anything. Hand editing sucks. I hate markup languages with a passion. (OK, getting hand editing down to the absolute bare minimum. There's probably some middle ground here. Hand editing is still necessary to tweak around Lilypond's own layout problems, and I can't see us getting any of this quite far enough advanced to cure that.) -- 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/ _______________________________________________ Rosegarden-devel mailing list [email protected] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
