From: fred Date: Wed, 27 Mar 2002 00:48:31 +0000 (+0000) Subject: lilypond-1.3.126 X-Git-Tag: release/1.5.59~958 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=66c132ac9e05de65dac4fbab4e86a1151d2019ce;p=lilypond.git lilypond-1.3.126 --- diff --git a/input/bugs/clef-staff.ly b/input/bugs/clef-staff.ly new file mode 100644 index 0000000000..bb1e8e2bb7 --- /dev/null +++ b/input/bugs/clef-staff.ly @@ -0,0 +1,279 @@ +% Bugs: +% * CLef has `Staff' hardcoded +% * Dynamics into staff: pp/ff at first note cello/contrabass + +\header { +texidoc="Template for part-combining orchestral scores"; +} + +\include "paper16.ly"; +% \include "mutopia/Coriolan/coriolan-paper.ly"; + + + +flautoI = \notes\relative c'' { + c4 d e f + b,4 d c d + r2 e4 f + \break + c4 d e f + c4 r e f + c4 r e f + \break + c4 r a r + a a r a + a2 \property VoiceCombineThread.soloADue = ##f a +} + +flautoII = \notes\relative c'' { + g4 b d f + r2 c4 d + a c c d + a4. b8 c4 d + c r e r + r2 s2 + a,4 r a r + a r r a + a2 \property VoiceCombineThread.soloADue = ##f a +} + +flautiStaff = \notes \context VoiceCombineStaff = flauti < + \property VoiceCombineStaff.midiInstrument = #"flute" + \property VoiceCombineStaff.instrument = #"2 Flauti" + \property VoiceCombineStaff.instr = #"Fl." + %\global + \context VoiceCombineVoice=one \partcombine VoiceCombineVoice + \context VoiceCombineThread=one \flautoI + \context VoiceCombineThread=two \flautoII +> + +legniGroup = \context StaffGroup = legni_group < + \flautiStaff + %\oboiStaff + %\clarinettiStaff + %\fagottiStaff +> + +violinoI = \notes\relative c'' { + c4 d e f + c d e f + c d e f + c d e f + c d e f + c d e f + c4 d e f + a8 a a a b b b b + d1 +} + +violinoII = \notes\relative c'' { + c4 d e f + c d e f + c d e f + c2 e2 + c4 d e f + c2 e2 + c,4 d e f + a8 a a a b b b b + b1 +} + +violinoIStaff = \context Staff = oneViolino < + \property Staff.midiInstrument = #"violin" + \property Staff.instrument = #"Violino I" + \property Staff.instr = #"Vl. I" + %\notes < + %\global + %\context Voice=oneViolino + %\context Thread=oneViolino + \violinoI + % > +> + +violinoIIStaff = \context Staff = twoViolino < + % MIDI hoort geeneens verschil tussen een + % eerste en tweede viool ;-) + \property Staff.midiInstrument = #"violin" + \property Staff.instrument = #"Violino II" + \property Staff.instr = #"Vl. II" + %\notes < + %\global + %\context Voice=twoViolino + %\context Thread=twoViolino + \violinoII + % > +> + +violaI = \notes\transpose c, \violinoI + +violaII = \notes\transpose c, \violinoII + +violiGroup = \notes \context VoiceCombineStaff = oneVioli < + \property VoiceCombineStaff.midiInstrument = #"viola" + \property VoiceCombineStaff.instrument = #"Viola" + \property VoiceCombineStaff.instr = #"Vla." + \clef "alto"; + + \key f \major; + \skip 1*314; + \bar "|."; + + \context VoiceCombineVoice=oneVioli \partcombine VoiceCombineVoice + \context VoiceCombineThread=oneVioli \violaI + \context VoiceCombineThread=twoVioli \violaII +> + +violoncello = \notes\relative c { + c1\ff d e f c d e f c +} + +contrabasso = \notes\relative c { + c1\pp + d4 e d e + e1 + f4 g f g + c1 + d4 e d e + e1 + f4 g f g + c1 +} + + +bassiGroup = \context PianoStaff = bassi_group \notes < + \context StaffCombineStaff=oneBassi { + \property StaffCombineStaff.midiInstrument = #"cello" + %\property StaffCombineStaff.instrument = #"Violoncello\ne\nContrabasso" + \property StaffCombineStaff.instrument = #'(lines "Violoncello" "e" "Contrabasso") + \property StaffCombineStaff.instr = #"Vc." + + \clef "bass"; + \key es \major; + \skip 1*314; + \bar "|."; + } + \context StaffCombineStaff=twoBassi { + \property StaffCombineStaff.midiInstrument = #"contrabass" + \property StaffCombineStaff.instrument = #"Contrabasso" + \property StaffCombineStaff.instr = #"Cb." + + \clef "bass"; + \key as \major; + \skip 1*314; + \bar "|."; + } + + \context StaffCombineStaff=oneBassi \partcombine StaffCombineStaff + \context StaffCombineVoice=oneBassi \violoncello + \context StaffCombineVoice=twoBassi \contrabasso +> + + +violiniGroup = \context GrandStaff = violini_group < + \violinoIStaff + \violinoIIStaff +> + +archiGroup = \context StaffGroup = archi_group < + \violiniGroup + \violiGroup + \bassiGroup +> + + +\score{ + < + \legniGroup + %\ottoniGroup + %\timpaniGroup + \archiGroup + > + \header { + title = "Coriolan"; + subtitle = "Ouverture"; + opus = "Opus 62"; + composer = "Ludwig van Beethoven (1770-1827)"; + enteredby = "JCN"; + copyright = "public domain"; + } + %\paper {} + \paper{ + \paperSixteen + + %textheight = 290.0\mm; + %linewidth = 195.0\mm; + textheight = 285.0\mm; + linewidth = 190.0\mm; + + \translator{ \HaraKiriStaffContext } + % + % The Voice combine hierarchy + % + \translator{ + \ThreadContext + \name "VoiceCombineThread"; + \consists "Rest_engraver"; + } + \translator{ + \VoiceContext + \name "VoiceCombineVoice"; + soloText = #"I." + soloIIText = #"II." + \remove "Rest_engraver"; + \accepts "VoiceCombineThread"; + } + \translator{ + \HaraKiriStaffContext + \consists "Mark_engraver"; + \name "VoiceCombineStaff"; + \accepts "VoiceCombineVoice"; + } + + % + % The Staff combine hierarchy + % + \translator{ + \ThreadContext + \name "StaffCombineThread"; + } + \translator{ + \VoiceContext + \name "StaffCombineVoice"; + \accepts "StaffCombineThread"; + \consists "Thread_devnull_engraver"; + } + \translator { + \HaraKiriStaffContext + \name "StaffCombineStaff"; + \accepts "StaffCombineVoice"; + + soloADue = ##t + soloText = #"" + soloIIText = #"" + % This is non-conventional, but currently it is + % the only way to tell the difference. + aDueText = #"\\`a2" + splitInterval = #'(1 . 0) + changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1)) + } + \translator { + \StaffGroupContext + \accepts "VoiceCombineStaff"; + \accepts "StaffCombineStaff"; + } + \translator{ \HaraKiriStaffContext } + + \translator { + %\ScoreContext + \OrchestralScoreContext + \accepts "VoiceCombineStaff"; + \accepts "StaffCombineStaff"; + skipBars = ##t + + markScriptPadding = #4.0 + + BarNumber \override #'padding = #3 + RestCollision \override #'maximum-rest-count = #1 + } + } +} diff --git a/input/test/part-combine-score.ly b/input/test/part-combine-score.ly index ba9999d04a..319154c2c5 100644 --- a/input/test/part-combine-score.ly +++ b/input/test/part-combine-score.ly @@ -1,213 +1,278 @@ +\header { +texidoc="Template for part-combining orchestral scores"; +} + +\include "paper16.ly"; +% \include "mutopia/Coriolan/coriolan-paper.ly"; + + + +flautoI = \notes\relative c'' { + c4\pp d e f + b,4 d c d + r2 e4 f + \break + \context Score \outputproperty #(make-type-checker 'paper-column-interface) + #'between-system-string = #"\\eject" + + c4 d e f + c4 r e f + c4 r e f + \break + c4 r a r + a a r a + a2 \property VoiceCombineThread.soloADue = ##f a +} + +flautoII = \notes\relative c'' { + g4\ff b d f + r2 c4 d + a c c d + a4. b8 c4 d + c r e r + r2 s2 + a,4 r a r + a r r a + a2 \property VoiceCombineThread.soloADue = ##f a +} + +flautiStaff = \notes \context VoiceCombineStaff = flauti < + \property VoiceCombineStaff.midiInstrument = #"flute" + \property VoiceCombineStaff.instrument = #"2 Flauti" + \property VoiceCombineStaff.instr = #"Fl." + %\global + \context VoiceCombineVoice=one \partcombine VoiceCombineVoice + \context VoiceCombineThread=one \flautoI + \context VoiceCombineThread=two \flautoII +> + +legniGroup = \context StaffGroup = legni_group < + \flautiStaff + %\oboiStaff + %\clarinettiStaff + %\fagottiStaff +> + +violinoI = \notes\relative c'' { + c4 d e f + c d e f + c d e f + c d e f + c d e f + c d e f + c4 d e f + a8 a a a b b b b + d1 +} + +violinoII = \notes\relative c'' { + c4 d e f + c d e f + c d e f + c2 e2 + c4 d e f + c2 e2 + c,4 d e f + a8 a a a b b b b + b1 +} + +violinoIStaff = \context Staff = oneViolini < + \property Staff.midiInstrument = #"violin" + \property Staff.instrument = #"Violino I" + \property Staff.instr = #"Vl. I" + \violinoI + { \skip 1*9; \bar "|."; } +> + +violinoIIStaff = \context Staff = twoViolini < + % MIDI hoort geeneens verschil tussen een + % eerste en tweede viool ;-) + \property Staff.midiInstrument = #"violin" + \property Staff.instrument = #"Violino II" + \property Staff.instr = #"Vl. II" + \violinoII + { \skip 1*9; \bar "|."; } +> + +violaI = \notes\transpose c, \violinoI + +violaII = \notes\transpose c, \violinoII + +violeGroup = \notes \context VoiceCombineStaff = oneViole < + \property VoiceCombineStaff.midiInstrument = #"viola" + \property VoiceCombineStaff.instrument = #"Viola" + \property VoiceCombineStaff.instr = #"Vla." + %\clef "alto"; + % Ugh, clef broken in 1.3.125 + \property VoiceCombineStaff.clefGlyph = #"clefs-C" + \property VoiceCombineStaff.clefPosition = #0 + \key f \major; + { \skip 1*9; \bar "|."; } + + \context VoiceCombineVoice=oneViole \partcombine VoiceCombineVoice + \context VoiceCombineThread=oneViole \violaI + \context VoiceCombineThread=twoViole \violaII +> + +violoncello = \notes\relative c { + c1\ff d e f c d e f c +} + +contrabasso = \notes\relative c { + c1\pp + d4 e d e + e1 + f4 g f g + c1 + d4 e d e + e1 + f4 g f g + c1 +} + + +bassiGroup = \context PianoStaff = bassi_group \notes < + \context StaffCombineStaff=oneBassi { + \property StaffCombineStaff.midiInstrument = #"cello" + %\property StaffCombineStaff.instrument = #"Violoncello\ne\nContrabasso" + \property StaffCombineStaff.instrument = #'(lines "Violoncello" "e" "Contrabasso") + \property StaffCombineStaff.instr = #"Vc." + + %\clef "bass"; + % Ugh, clef broken in 1.3.125 + \property StaffCombineStaff.clefGlyph = #"clefs-F" + \property StaffCombineStaff.clefPosition = #2 + + \key es \major; + \skip 1*9; + \bar "|."; + } + \context StaffCombineStaff=twoBassi { + \property StaffCombineStaff.midiInstrument = #"contrabass" + \property StaffCombineStaff.instrument = #"Contrabasso" + \property StaffCombineStaff.instr = #"Cb." + + %\clef "bass"; + % Ugh, clef broken in 1.3.125 + \property StaffCombineStaff.clefGlyph = #"clefs-F" + \property StaffCombineStaff.clefPosition = #2 + + \key as \major; + \skip 1*9; + \bar "|."; + } + + \context StaffCombineStaff=oneBassi \partcombine StaffCombineStaff + \context StaffCombineVoice=oneBassi \violoncello + \context StaffCombineVoice=twoBassi \contrabasso +> + + +violiniGroup = \context GrandStaff = violini_group < + \violinoIStaff + \violinoIIStaff +> + +archiGroup = \context StaffGroup = archi_group < + \violiniGroup + \violeGroup + \bassiGroup +> + + \score{ - < - \context VoiceCombineStaff = flauti < - \time 4/4; - - \context VoiceCombineThread=one \skip 1*9; - \context VoiceCombineThread=two \skip 1*9; - - \context VoiceCombineVoice=one \partcombine VoiceCombineVoice - \context VoiceCombineThread=one \notes\relative c'' - { - c4 d e f - b,4 d c d - r2 e4 f - \break - c4 d e f - c4 r e f - c4 r e f - \break - c4 r a r - a a r a - a2 \property VoiceCombineThread.soloADue = ##f a - } - \context VoiceCombineThread=two \notes\relative c'' - { - g4 b d f - r2 c4 d - a c c d - a4. b8 c4 d - c r e r - r2 s2 - a,4 r a r - a r r a - a2 \property VoiceCombineThread.soloADue = ##f a - } - > - \context PianoStaff = violi < - \context StaffCombineStaff=oneVioli { \clef alto; \skip 1*9;} - \context StaffCombineStaff=twoVioli { \clef alto; \skip 1*9;} - \context StaffCombineStaff=oneVioli \partcombine StaffCombineStaff - \context StaffCombineVoice=one \notes\relative c' - { - c4 d e f - c d e f - c d e f - c d e f - c d e f - c d e f - c4 d e f - a8 a a a b b b b - d1 - } - \context StaffCombineVoice=two \notes\relative c' - { - c4 d e f - c d e f - c d e f - c2 e2 - c4 d e f - c2 e2 - c,4 d e f - a8 a a a b b b b - b1 - } - > - \context PianoStaff = lower < - \context StaffCombineStaff=oneBassi { \clef bass; \skip 1*9;} - \context StaffCombineStaff=twoBassi { \clef bass; \skip 1*9;} - \context StaffCombineStaff=oneBassi \partcombine StaffCombineStaff - \context StaffCombineVoice=oneB \notes\relative c - { - \clef bass; - c1 - d - e - f - c - d - e - f - c - } - \context StaffCombineVoice=twoB \notes\relative c - { - \clef bass; - c1 - d4 e d e - e1 - f4 g f g - c1 - d4 e d e - e - f4 g f g - c1 - } - > - > - \paper { - - textheight = 295.0\mm; - linewidth = 180.0\mm; - - \translator{ \HaraKiriStaffContext } - % - % The Voice combine hierarchy - % - \translator{ - \ThreadContext - \name "VoiceCombineThread"; - \consists "Rest_engraver"; - } - \translator{ - \VoiceContext - \name "VoiceCombineVoice"; - soloText = #"I." - soloIIText = #"II." - \remove "Rest_engraver"; - \accepts "VoiceCombineThread"; - } - \translator{ - \HaraKiriStaffContext - \consists "Mark_engraver"; - \name "VoiceCombineStaff"; - \accepts "VoiceCombineVoice"; - } - - % - % The Staff combine hierarchy - % - \translator{ - \ThreadContext - \name "StaffCombineThread"; - } - \translator{ - \VoiceContext - \name "StaffCombineVoice"; - \accepts "StaffCombineThread"; - \consists "Thread_devnull_engraver"; - } - \translator { - \HaraKiriStaffContext - \name "StaffCombineStaff"; - \accepts "StaffCombineVoice"; - - soloADue = ##t - soloText = #"" - soloIIText = #"" - aDueText = #"" - splitInterval = #'(1 . 0) - } - \translator { - \StaffGroupContext - \accepts "VoiceCombineStaff"; - \accepts "StaffCombineStaff"; - } - \translator{ \HaraKiriStaffContext } - - \translator { - \ScoreContext - \accepts "VoiceCombineStaff"; - \accepts "StaffCombineStaff"; - skipBars = ##t - - barScriptPadding = #2.0 % dimension \pt - markScriptPadding = #4.0 - - %% urg: in pt? - barNumberScriptPadding = #15 - %% URG: this changes dynamics too - %%textStyle = #"italic" - timeSignatureStyle = #"C" - maximumRestCount = #1 - } - } - \midi{ - \tempo 4 = 150; - - \translator { - \ThreadContext - \name "VoiceCombineThread"; - } - \translator { - \VoiceContext - \name "VoiceCombineVoice"; - \accepts "VoiceCombineThread"; - } - \translator { - \StaffContext - \name "VoiceCombineStaff"; - \accepts "VoiceCombineVoice"; - } - - \translator { - \ThreadContext - \name "StaffCombineThread"; - } - \translator { - \VoiceContext - \name "StaffCombineVoice"; - \accepts "StaffCombineThread"; - } - \translator { - \StaffContext - \name "StaffCombineStaff"; - \accepts "StaffCombineVoice"; - } - \translator { - \ScoreContext - \accepts "VoiceCombineStaff"; - \accepts "StaffCombineStaff"; - } - } + < + \legniGroup + %\ottoniGroup + %\timpaniGroup + \archiGroup + > + \header { + title = "Coriolan"; + subtitle = "Ouverture"; + opus = "Opus 62"; + composer = "Ludwig van Beethoven (1770-1827)"; + enteredby = "JCN"; + copyright = "public domain"; + } + \paper{ + \paperSixteen + + %textheight = 290.0\mm; + %linewidth = 195.0\mm; + textheight = 285.0\mm; + linewidth = 190.0\mm; + + \translator{ \HaraKiriStaffContext } + % + % The Voice combine hierarchy + % + \translator{ + \ThreadContext + \name "VoiceCombineThread"; + \consists "Rest_engraver"; + } + \translator{ + \VoiceContext + \name "VoiceCombineVoice"; + soloText = #"I." + soloIIText = #"II." + \remove "Rest_engraver"; + \accepts "VoiceCombineThread"; + } + \translator{ + \HaraKiriStaffContext + \consists "Mark_engraver"; + \name "VoiceCombineStaff"; + \accepts "VoiceCombineVoice"; + } + + % + % The Staff combine hierarchy + % + \translator{ + \ThreadContext + \name "StaffCombineThread"; + } + \translator{ + \VoiceContext + \name "StaffCombineVoice"; + \accepts "StaffCombineThread"; + \consists "Thread_devnull_engraver"; + } + \translator { + \HaraKiriStaffContext + \name "StaffCombineStaff"; + \accepts "StaffCombineVoice"; + + soloADue = ##t + soloText = #"" + soloIIText = #"" + % This is non-conventional, but currently it is + % the only way to tell the difference. + aDueText = #"\\`a2" + splitInterval = #'(1 . 0) + changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1)) + } + \translator { + \StaffGroupContext + \accepts "VoiceCombineStaff"; + \accepts "StaffCombineStaff"; + } + \translator{ \HaraKiriStaffContext } + + \translator { + %\ScoreContext + \OrchestralScoreContext + \accepts "VoiceCombineStaff"; + \accepts "StaffCombineStaff"; + skipBars = ##t + + markScriptPadding = #4.0 + + BarNumber \override #'padding = #3 + RestCollision \override #'maximum-rest-count = #1 + } + } } diff --git a/mutopia/Coriolan/bassi.ly b/mutopia/Coriolan/bassi.ly index 754f7c378a..ecaa2dd769 100644 --- a/mutopia/Coriolan/bassi.ly +++ b/mutopia/Coriolan/bassi.ly @@ -17,9 +17,14 @@ bassiGroup = \context PianoStaff = bassi_group \notes < %\global \context StaffCombineStaff=oneBassi { \property StaffCombineStaff.midiInstrument = #"cello" - \property StaffCombineStaff.instrument = #"Violoncello\ne\nContrabasso" + %\property StaffCombineStaff.instrument = #"Violoncello\ne\nContrabasso" + \property StaffCombineStaff.instrument = #'(lines "Violoncello" "e" "Contrabasso") \property StaffCombineStaff.instr = #"Vc." - \clef "bass"; + %\clef "bass"; + % Ugh, clef broken in 1.3.125 + \property StaffCombineStaff.clefGlyph = #"clefs-F" + \property StaffCombineStaff.clefPosition = #2 + \key es \major; \skip 1*314; \bar "|."; @@ -29,13 +34,16 @@ bassiGroup = \context PianoStaff = bassi_group \notes < \property StaffCombineStaff.instrument = #"Contrabasso" \property StaffCombineStaff.instr = #"Cb." % \property StaffCombineStaff.transposing = #-12 - \clef "bass"; + %\clef "bass"; + % Ugh, clef broken in 1.3.125 + \property StaffCombineStaff.clefGlyph = #"clefs-F" + \property StaffCombineStaff.clefPosition = #2 \key es \major; \skip 1*314; \bar "|."; } \context StaffCombineStaff=oneBassi \partcombine StaffCombineStaff - \context StaffCombineVoice=one \violoncello - \context StaffCombineVoice=two \contrabasso + \context StaffCombineVoice=oneBassi \violoncello + \context StaffCombineVoice=twoBassi \contrabasso > diff --git a/mutopia/Coriolan/fagotti.ly b/mutopia/Coriolan/fagotti.ly index 4a50c25d5b..1eba7d32f4 100644 --- a/mutopia/Coriolan/fagotti.ly +++ b/mutopia/Coriolan/fagotti.ly @@ -16,7 +16,10 @@ fagottiStaff = \context VoiceCombineStaff = fagotti < \property VoiceCombineStaff.midiInstrument = #"bassoon" \property VoiceCombineStaff.instrument = #"2 Fagotti" \property VoiceCombineStaff.instr = #"Fg." - \clef "bass"; + %\clef "bass"; + % Ugh, clef broken in 1.3.125 + \property VoiceCombineStaff.clefGlyph = #"clefs-F" + \property VoiceCombineStaff.clefPosition = #2 \global \context VoiceCombineVoice=one \partcombine VoiceCombineVoice \context VoiceCombineThread=one \fagottoI diff --git a/mutopia/Coriolan/violi.ly b/mutopia/Coriolan/violi.ly index 475efafc55..2e95f3e925 100644 --- a/mutopia/Coriolan/violi.ly +++ b/mutopia/Coriolan/violi.ly @@ -19,7 +19,12 @@ violiGroup = \context PianoStaff = violi_group \notes < \property StaffCombineStaff.midiInstrument = #"viola" \property StaffCombineStaff.instrument = #"Viola" \property StaffCombineStaff.instr = #"Vla." - \clef "alto"; + + %\clef "alto"; + % Ugh, clef broken in 1.3.125 + \property StaffCombineStaff.clefGlyph = #"clefs-C" + \property StaffCombineStaff.clefPosition = #0 + \key es \major; \skip 1*314; \bar "|."; @@ -28,7 +33,12 @@ violiGroup = \context PianoStaff = violi_group \notes < \property StaffCombineStaff.midiInstrument = #"viola" \property StaffCombineStaff.instrument = #"Viola II" \property StaffCombineStaff.instr = #"Vla. II" - \clef "alto"; + + %\clef "alto"; + % Ugh, clef broken in 1.3.125 + \property StaffCombineStaff.clefGlyph = #"clefs-C" + \property StaffCombineStaff.clefPosition = #0 + \key es \major; \skip 1*314; \bar "|."; @@ -43,9 +53,14 @@ violiGroup = \context PianoStaff = violi_group \notes < violiGroup = \notes \context VoiceCombineStaff = violi < \context VoiceCombineStaff=violi { \property VoiceCombineStaff.midiInstrument = #"viola" - \property VoiceStaffCombineStaff.instrument = #"Viola" - \property VoiceStaffCombineStaff.instr = #"Vla." - \clef "alto"; + \property VoiceCombineStaff.instrument = #"Viola" + \property VoiceCombineStaff.instr = #"Vla." + + %\clef "alto"; + % Ugh, clef broken in 1.3.125 + \property VoiceCombineStaff.clefGlyph = #"clefs-C" + \property VoiceCombineStaff.clefPosition = #0 + \key es \major; \skip 1*314; \bar "|."; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/header.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/header.ly index d075dca779..fbac2107ea 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/header.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/header.ly @@ -27,5 +27,5 @@ information is taken to the extreme. copyright = "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by " + \maintainername + ".\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!"; maintainer = "janneke@gnu.org"; - lastupdated = "1999/Oct/16"; + lastupdated = "2001/Jan/28"; }