2014-11-19 14:33 GMT+01:00 Jayaratna <jayara...@gmail.com>:

> Awesome, but I have more than 50 such snippets to aggregate...
>
>
Ok, well using those scores as markups could help.
See enclosed file.
Cheers,
Pierre
\version "2.18.2"

#(set-global-staff-size 10)

incipit =
#(define-music-function (parser location incipit-music) (ly:music?)
  #{
    \once \override Staff.InstrumentName.self-alignment-X = #RIGHT
    \once \override Staff.InstrumentName.self-alignment-Y = ##f
    \once \override Staff.InstrumentName.padding = #0.3
    \once \override Staff.InstrumentName.stencil =
      #(lambda (grob)
         (let* ((instrument-name (ly:grob-property grob 'long-text)))
           (set! (ly:grob-property grob 'long-text)
           #{ 
             \markup
             \score {
               { 
                 \context MensuralStaff 
                 \with { instrumentName = #instrument-name } 
                 $incipit-music
               }
               \layout { 
                 $(ly:grob-layout grob)
                 line-width = \indent
                 indent =
                  % primitive-eval is probably easiest for
                  % escaping lexical closure and evaluating
                  % everything respective to (current-module).
                 #(primitive-eval
                   '(or (false-if-exception (- indent incipit-width))
                      (* 0.5 indent)))
                 ragged-right = ##f
                 ragged-last = ##f
                 system-count = #1 
               }
              }
           #})
          (system-start-text::print grob)))
        #})

global = {
  \set Score.skipBars = ##t
  \key c \major
  \override Staff.Clef.full-size-change = ##t
  \once \override Staff.TimeSignature.stencil = ##f
  \time 4/2
}

discantusNotes = 
  \relative c'  {
    \clef violin
    c'1 d \bar"||"
  }

altusNotes = 
  \relative c'  {
    \clef "G_8"
    f1 f \bar "||"
  }
  
tenorNotes = 
  \relative c' {
    \clef "G_8"
    a1 f \bar "||"
  }

bassusNotes = 
  \relative c {
    \clef bass
    f,1 bes \bar"||" 
  }

discantusIncipit = 
<<
  \new MensuralVoice = "discantusIncipit"
  \repeat unfold 2 { s1 \noBreak }
  {
    \override Staff.TimeSignature.stencil = ##f
    \key c \major \clef "petrucci-c1"
  }
>>

altusIncipit =
<<
  \new MensuralVoice = "altusIncipit"
  \repeat unfold 2 { s1 \noBreak }
  {
    \override Staff.TimeSignature.stencil = ##f
    \key c \major \clef "petrucci-c3"
  }
>>

tenorIncipit = 
<<
  \new MensuralVoice = "tenorIncipit" 
  \repeat unfold 2 { s1 \noBreak }
  {
    \override Staff.TimeSignature.stencil = ##f
    \key c \major \clef "petrucci-c3"
  }
>>

bassusIncipit = 
<<
  \new MensuralVoice = "bassusIncipit" 
  \repeat unfold 2 { s1 \noBreak }
  { 
    \override Staff.TimeSignature.stencil = ##f
    \key c \major \clef "petrucci-c3"
  }
>>

myIncipit = \markup\concat {
  \score {
    \new StaffGroup = choirStaff <<
      \new Voice = "discantusNotes" <<
        \global
        \set Staff.instrumentName = #"" 
        \incipit \discantusIncipit
        \discantusNotes
      >>
      \new Voice = "altusNotes" <<
        \global
        \set Staff.instrumentName = #"" 
        \incipit \altusIncipit
        \altusNotes
      >>
      \new Voice = "tenorNotes" <<
        \global
        \set Staff.instrumentName = #""  
        \incipit \tenorIncipit
        \tenorNotes
      >>
      \new Voice = "bassusNotes" <<
        \global
        \set Staff.instrumentName = #"" 
        \incipit \bassusIncipit
        \bassusNotes
      >>
    >>
    \layout {
      \context {
        \Score
        %% no bar lines in staves or lyrics
        \remove "Bar_number_engraver"
      }
      indent = #0.5
      incipit-width = #0.5
    }
  }
  \hspace #1
}

\markup\concat {
  \myIncipit
  \myIncipit
  \myIncipit
  \myIncipit
  \myIncipit
  \myIncipit
  \myIncipit
  \myIncipit
  \myIncipit
}
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to