lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Incipits


From: Nicolas Sceaux
Subject: Re: Incipits
Date: Fri, 8 Feb 2008 22:37:03 +0100


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 the
default one. But maybe, using an IncipitStaff context, which properties
would 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 notes
are 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
  }
}

TIFF image




Attachment: incipit3.patch
Description: Binary data





reply via email to

[Prev in Thread] Current Thread [Next in Thread]