I suggest using "phrasing slurs" instead of normal slurs in lilypond export. That way you can have a different lyric for each notes, which is the standard way of doing, and rosegarden allows this.
Here is: - the doc explaining the difference between lilypond phrasing slurs and normal slurs: http://lilypond.org/doc/v2.0/Documentation/user/out-www/lilypond/Phrasing-slurs.html - a lilypond test file that shows the difference between the 2 kind of slurs for the lyrics:
\version "2.0" \score { \notes << \context Staff = "staff0" { \addlyrics \context Voice { a' ( a' ) a' } \context Lyrics = "lyrics0" \lyrics { foo bar } } \context Staff = "staff1" { \addlyrics \context Voice { a' \( a' \) a' } \context Lyrics = "lyrics1" \lyrics { foo bar } } >> \paper { papersize = "a4" } }
- a rosegarden patch that replaces normal slurs:
Index: gui/lilypondio.cpp =================================================================== RCS file: /cvsroot/rosegarden/gui/lilypondio.cpp,v retrieving revision 1.71 diff -u -r1.71 lilypondio.cpp --- gui/lilypondio.cpp 2 Feb 2004 20:18:56 -0000 1.71 +++ gui/lilypondio.cpp 5 Mar 2004 10:58:46 -0000 @@ -109,7 +109,7 @@ Indication i(**m); if (i.getIndicationType() == Indication::Slur) { - str << "( "; + str << "\\( "; } else if (i.getIndicationType() == Indication::Crescendo) { str << "\\< "; } else if (i.getIndicationType() == Indication::Decrescendo) { @@ -157,7 +157,7 @@ indicationEnd == eventEnd)) { if (i.getIndicationType() == Indication::Slur) { - str << ") "; + str << "\\) "; } else if (i.getIndicationType() == Indication::Crescendo || i.getIndicationType() == Indication::Decrescendo) { str << "\\! ";
NB: the patch affects both oldStyle and the new style. Though i have not tested with old lilypond, it should work the same: http://lilypond.org/doc/v1.6/Documentation/user/out-www/lilypond/Phrasing-slurs.html cu