How to define the "lyricup" and "lyricdown" arguments in define-scheme-function so that their values are taken from the \makeScore data? At the same time, the upper and lower lines of the text should have different fonts set.
 
\version "2.22.1"  
 
\header { 
  title = "Сборник мелодических формул знаменного распева" 
  composer= "Штейнберг Б."
  poet = "Москва, 2017"
}
 
\paper {
  #(set-paper-size "a4")
  tagline=##f
  ragged-right = ##t
  myStaffSize = #21
  #(define fonts (make-pango-font-tree
                  "Ponomar Unicode"
                  "Ponomar Unicode"
                  "Ponomar Unicode"
                  (/ myStaffSize 21)))
}
 
\layout {
  indent = 0.0 
  \context {
    \Lyrics 
    \override LyricText #'font-size = #4 
    \override LyricText #'font-name = #"Ponomar Unicode" 
    \override LyricSpace.minimum-distance = #0.8 
  } 
  \context {
     \Score
     \override SpacingSpanner.spacing-increment = 0.5
  }
  \context {
     \KievanVoice
     \stemDown
     fontSize = 1.0
  }
 
\midi {
   \context {
     \Score
     tempoWholesPerMinute = #(ly:make-moment 110 2)
   }
   \context {
     \Staff
     \remove Staff_performer
   }
   \context {
     \Voice
     \remove Staff_performer
   }
}
 
makeScore =
#(define-scheme-function (mark notes lyricup lyricdown) (markup? ly:music? markup? markup?)
    #{
      \score {
        \header {piece = \markup { Название }}
        <<
          \new KievanStaff  = slavonic 
          <<
          \new KievanVoice = "melody" 
            \relative c' {
              \cadenzaOn
              \mark #mark
              #notes
              \bar "|"
            }
          >>
          
        \new Lyrics 
        \lyricsto "melody" 
        {а п р ц} %lyricup
         
        \new Lyrics \with {alignAboveContext = slavonic} 
        \lyricsto "melody" 
        {b b b b} %lyricdown
         
        >> 
        \layout { }
        %\midi { }
      }
    #})
 
\markup { \fill-line \huge { "Глас 1" }}
\markup { \fill-line \huge { "Начальные" }}
\makeScore "Удра" {e4 c d f e d c d e d e1} "mi do re fa" "E C D F"
\markup { \fill-line \huge { "Конечные" }} 
\makeScore "Удра" {e4 c d f e d c d e d e1} "mi do re fa" "E C D F"
\markup { \fill-line \huge { "Срединные" }}
\makeScore "Дербица или скорпица" {e4 f g a a g2.} "mi fa sol la" "E F G A"
  • [no subject] Лысов Дмитрий
    • define-scheme-function Лысов Дмитрий
    • Re: Павел

Reply via email to