I did a bit more with Lilypond export last night. It's still not _quite_ there -- the usual glazunov.rg test generally works fine except that the bars with tuplets in them are being shortened. The marks-on-chords bug is fixed, and grace notes should be working now too. Lyrics aren't quite right, and triangle noteheads look pretty weird. I still have testing to do with files that started out with performance timings, and I haven't tested compatibility with older versions of Lilypond than the nearly-1.8 I have installed.
I've got to say though, putting a printout straight from RG next to the same piece from Lilypond: god damn, the Lilypond output is good. There's just no comparison, and it's highly unlikely there ever really will be. That's partly because we take certain rendering decisions deliberately based on wanting to make things distinguishable at a screen resolution: e.g. we draw flat ties and curved slurs, whereas Lilypond makes them both curved but places ties closer to the noteheads; and we leave much more space between the staffs because we never know when someone might want to insert notes in there. But mostly Lilypond is just better. It does a better job of making marks visible against the staff. It does a better job of placing dynamic text (not perfect, but better). It does a much better job of drawing slurs and the vertical placement of beams and a much much better job of getting the relative darknesses of notes, staff and dynamics right, and a much much much better job of placing the brackets for tuplet groups. And while Lilypond's horizontal layout _looks_ a bit more naive than Rosegarden's, it's usually more effective (and so probably is much cleverer, in fact). Rosegarden goes too over-the-top in trying to even up the spacings in bars with a mixture of long and short notes, meaning notes in separate staffs usually don't line up well: we don't really have any mechanism for keeping events in multiple staffs in check, besides aligning the bar lines. I did notice a couple of things Rosegarden does better: keeping slurs out of the way of tenuto marks, and drawing very short hairpins (although I should probably have re-coded those to give Lilypond a hand). Occasionally we make a better decision on stem direction, especially with slurs around. The extra space between staffs means things like slurs are less likely to interfere with hairpins. And of course, we can learn from a lot of the ways in which Lilypond does it better now. Even so the message is pretty clear: drafts from RG if you like, but final copy from Lilypond. I think to that end we ought to keep the best possible Lilypond export as a high priority, as there's evidently a synergy (I speak Marketing!) there. One other thing -- I've switched over the Lilypond pitch printing code to use the Pitch class. It still calculates the pitch using the big old function as well though, and it prints a warning if the two pitch texts don't match. So if you run a Lilypond output and see messages to stderr like WARNING: LilypondExporter::convertPitchToLilyNote: ces != c (presumably most likely with different pitches than ces and c of course), _please_ let me know. Chris ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Rosegarden-devel mailing list [EMAIL PROTECTED] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
