Reinhold Kainhofer: > Am Freitag, 1. Februar 2008 schrieb Nicolas Sceaux: > > When typesetting ancient music, one may want to produce two editions: > > eventually one with original clefs, as found in the manuscripts, and an > > other one with new fashioned clefs. It is also custom in the later case ... > Actually, we're already two ;-) > I'm transcribing some old pieces by Schubert, who wrote the vocal voices > using > soprano/alto/tenor clef, while modern typesetting practice uses only the > treble clef for these voices. Now, I want to make two editions, one with the > original clefs, the other with modern clefs (but the original clefs as > incipits). So, you see, I'm having exactly the same problem. ...
There is two problems here, 1, should the clef look ancient or modern, e.g. { \clef "petrucci-f" } or { \clef "bass" } 2, should we exchange a C clef for a G clef For problem 1 one can look at what theese do \displayMusic { \clef "petrucci-f" c1 c } \displayMusic { \clef "bass" c1 c } (make-music 'SequentialMusic 'elements (list (make-music 'ContextSpeccedMusic 'context-type 'Staff 'element (make-music 'SequentialMusic 'elements (list (make-music 'PropertySet 'value "clefs.petrucci.f" 'symbol 'clefGlyph) (make-music 'EventChord ... (ly:make-pitch -1 0 0)))) (make-music 'EventChord ... (ly:make-pitch -1 0 0)))))) Where the difference is "clefs.petrucci.f" vs. "clefs.F". So an \ancientToModernClef should traverce the list and exchange ancient "clefs.xx" to a modern variant. ======= Problem two is similar \displayMusic { \clef "petrucci-c2" c1 c } \displayMusic { \clef "petrucci-c3" c1 c } gives this diff $ diff -u b.log b2 --- b.log 2008-02-02 20:46:38.888477652 +0100 +++ b2 2008-02-02 20:47:08.884108561 +0100 @@ -12,19 +12,19 @@ (list (make-music 'PropertySet 'value - "clefs.petrucci.c2" + "clefs.petrucci.c3" 'symbol 'clefGlyph) (make-music 'PropertySet 'value - -2 + 0 'symbol 'middleCPosition) (make-music 'PropertySet 'value - -2 + 0 'symbol 'clefPosition) (make-music and \displayMusic { \clef "petrucci-c2" c1 c } \displayMusic { \clef "petrucci-g" c1 c } this $ diff -u b.log b2 --- b.log 2008-02-02 20:48:23.373258918 +0100 +++ b2 2008-02-02 20:48:44.370200812 +0100 @@ -12,13 +12,13 @@ (list (make-music 'PropertySet 'value - "clefs.petrucci.c2" + "clefs.petrucci.g" 'symbol 'clefGlyph) (make-music 'PropertySet 'value - -2 + -6 'symbol 'middleCPosition) (make-music To make a generic \changeClef one has to find the part between a-b below (a list), and exchange it for something else (make-music 'SequentialMusic 'elements (list (make-music 'ContextSpeccedMusic 'context-type 'Staff 'element (make-music 'SequentialMusic 'elements a (list (make-music 'PropertySet 'value "clefs.petrucci.g" 'symbol 'clefGlyph) (make-music 'PropertySet 'value -6 'symbol 'middleCPosition) (make-music 'PropertySet 'value -2 'symbol 'clefPosition) (make-music 'PropertySet 'value 0 'symbol 'clefOctavation)))) b ... (ly:make-pitch -1 0 0)))))) ===== Or what do you think. /Karl _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel