Le 3 févr. 08 à 22:08, Nicolas Sceaux a écrit :
Le 3 févr. 08 à 21:07, Till Rettig a écrit :Whow, this is really great. I guess from that base it is somehow simple to have also changing of notehead/flags etc styles possible -- and not to forget: for most socres of renaissance music the ligature-engraver will have to be added to the score and the ligature bracket engraver removed (which will have to be restored for the main score, where there are usually notated as brackets to indicate the original ligatures).My first idea was that the note head, clef, etc, styles and the engraver settings would be set in the \incipit functions: it would be up to the user to define a custom \incipit function based on thedefault one. But maybe, using an IncipitStaff context, which propertieswould be overridden in the score layout block, that could be done more easily. That's what I'll try.But there are some flaws in the instrument name hack appraoch. The notesare not aligned (which may or may not be a problem), and the alignment of the incipit with the staff is manually tuned (hence the use of two \incipit and \vocalIncipit functions is the example).
Here is draft patch: the Instrument_name engraver is used to create an Incipit grob before the first line when an incipit has been specified. There are several problems in it: - how can I access the paper object from the engraver? I need a scaled output definition to format the incipit score. There are paper_ slots in Book and Paper_book classes, but I don't see how to get there from an engraver. As a workaround, I used a context property to pass the $defaultpaper object to the engraver, but that sucks. - there is a garbage problem:programming error: Parsed object should be dead: static scm_unused_struct* Prob::mark_smob(scm_unused_struct*) How do people usually track this kind of issue? (I tried to unprotect some
objects, but this last one is still missing).
Example:
\score {
\new StaffGroup <<
\new Staff <<
\set Staff.instrumentName = \markup Toto
\incipit <<
\new MensuralVoice = "incipit" { \clef "neomensural-c1" c'4
d' e' f' }
\lyricsto "incipit" \new Lyrics \lyricmode { do ré mi fa }
>>
\new Voice = melody { \clef "treble" c'4 d' e' f' c'1 }
\lyricsto melody \new Lyrics \lyricmode { do ré mi fa }
>>
\new Staff <<
\set Staff.instrumentName = \markup Titi
\incipit { c'2 g'2 }
{ \clef "alto" c'2 g'2 c'1 }
>>
\new Staff <<
\set Staff.instrumentName = \markup Tutu
\set Staff.incipitStaffType = #'VaticanaStaff
\incipit { c'4 g c'2 }
{ \clef "alto" c'4 g c'2 c'1 }
>>
>>
\layout {
indent = 5\cm
ragged-right = ##t
}
}
<<inline: incipit3.tiff>>
incipit3.patch
Description: Binary data
_______________________________________________ lilypond-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-devel
