Nicolas Sceaux: ... > \tag does not solve the first-clef detection problem, but the two > editions problem, about which the proposed patch is not about. > I know about \tag, ...
I also find \tag messy and there is no "else" part either. > > Anyway, wouldn't it be nicer to have some kind of scheme macro that > > expands to code that prints an incipit? Your "first clef" could > > then be just part of the incipit that the macro creates. And maybe > > the clef's name either could passed as argument to the scheme > > macro. Or, alternatively, you set an, say, "original-clef" property > > that the macro recognizes and accordingly acts upon. > > As I understand it, incipits are hackingly achieved using the > instrument name. I want instrument names to be defined separately > from incipit (they are not the same thing, there is no serious > reason to bind them, beside purely technical ones): > > \new Staff << > \global > \set Staff . instrumentName = \markup { The instrument name } > \clef "xyz" %% automagically set the incipit clef > { ... the notes ... } > >> > > How could you make the mix of the two? > > Now, seeing the incipt examples, I realize that my patch is a hack > too, for it would be nice to have also the time and key signatures, > not only the ancient clef. For the time and key signatures you can have to varialbles like mensural = { \override Accidental #'style = #'mensural \override NoteHead #'style = #'petrucci \override Rest #'style = #'neomensural \override Staff.TimeSignature #'style = #'mensural \override Stem #'flag-style = #'mensural \override Stem #'thickness = #0.8 \set timing = ##f \set Staff.defaultBarType = "" #(set-accidental-style 'forget) } normal = { \override Accidental #'style = #'default \override NoteHead #'style = #'default \override Rest #'style = #'default \override TimeSignature #'style = #'default \override NoteHead #'font-size = #'0 \override Stem #'flag-style = #'default \override Stem #'thickness = #1.9 % default \override TimeSignature #'style = #'default #(set-accidental-style 'default) } and use them like \new Staff { \normal \relative c' { ... } } \new Staff { \mensural \relative c' { ... } } For the clefs I use %clefcs = { \clef "petrucci-c2" } %clefct = { \clef "petrucci-c4" } %clefcb = { \clef "petrucci-f" } clefcs = { \clef "treble" } clefct = { \clef "treble_8" } clefcb = { \clef "bass" } What I think would be useful is either a setting \override Clef = #'style = #'petrucci % e.g "alto" -> "petrucci-c3" \override Clef = #'style = #'modern % e.g "petrucci-c3" -> "alto" \override Clef = #'style = #'lazysinger % e.g "petrucci-c3" -> "treble" so I can include them in the variable above or a function like % always keep as close to source as possible aa = \relative c { \clef "petrucci-f" \time 2/2 c\breve d\longa ... } \makeThisMensural { \aa } % no change? \makeThisModern { \aa } % "petrucci-f" -> "bass", c\breve -> c1 ... \makeThisIncipit { \aa } % mensural but only first breve or semiminima > Maybe creating an incipit engraver, reading new context properties, > like incipitKeySignature, incipitTimeSignature, etc, and creating a In some instances it would be useful to be able to append \score's on the same line, somewhat like if you used { \startStaff s1 \stopStaff }. Regards, /Karl _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel