lilypond-user
[Top][All Lists]
Advanced

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

Re: An unusual feature request concerning FiguredBass


From: Kieren MacMillan
Subject: Re: An unusual feature request concerning FiguredBass
Date: Sun, 29 Apr 2018 13:06:13 -0400

Hi Robert,

> Whatever I tried, it stubbornly kept "bass" for both staves. What am I doing 
> wrong?

There’s a spurious instrument name setting. But given the structure of your 
code, it’s very hard to spot.

Might I suggest putting all of your note code into variables, then building 
them together in the score later, so that the code is easier [for a human] to 
parse? Something like:

%%%   SNIPPET BEGINS
\version "2.19.80"

#(define-markup-command (stack layout props args) (markup-list?)
   (interpret-markup layout props
     #{ \markup \tiny \raise #0.5 \general-align #Y #CENTER
        \override #'(baseline-skip . 2) \right-column #args #}))

sha = \markup { \fontsize #-3 \sharp }
natu = \markup { \fontsize #-3 \natural }
fla = \markup {  \fontsize #-3 \flat }

theMelody = {
  \clef "treble"
  \key f \major
  \time 4/2
  \set Staff.instrumentName = #"Cantus"
  \set Staff.timeSignatureFraction = 2/2
  d''1 d''2 cis''2  | %P1V1-1
  d''1 f''1 | %P1V1-2
  cis''2 d''2 e''1 | %P1V1-3
  d''2 \rest e''2 e''2 d''2 | %P1V1-4
}

theLyrics = \lyricmode {
  \set associatedVoice = "melody"
  TO1 heare2 me,2 Lord,1 be1 thou2 in-2 cline'd;1 2
  My2 thoughts2 O2
}

theBass = {
  \clef "bass"
  \key f \major
  \time 4/2
  \set Staff.timeSignatureFraction = 2/2
  d1 d2 a2| %P4V1-1
  bes1 f1| %P4V1-2
  a2 d2 a,1 | %P4V1-3
  g,2 \rest a,2 c2 d2 | %P4V1-4
}

figures_upper = \figuremode {
  < Pretonal >2  < _ >2 < _ >2 < _ >2 | %BC-1
  < 5 >2  < 6 >2 < 6 >2 < _ >2 | %BC-2
  < _ >2  < _ >2 < \sha >2 < _ >2 | %BC-3
  < _ >2  < 5 >2 < 5 >2 < 5 >2 | %BC-4
}

figures_lower = \figuremode {
  < Tonal >2  < _ >2 < _ >2 < _ >2      %1
  < 6 >2  < _ >2 < _ >2 < _ >2  %2
  < _ >2  < _ >2 < _ >2 < _ >2  %3
  < _ >2  < 5 >2 < 6 >2 < 6 >2  %4
}

\score {
  \new StaffGroup
  <<
    \new Staff
    <<
      \new Voice = "melody" \theMelody
      \new Lyrics \theLyrics
    >>
    \new Staff
      \with {
        instrumentName = "Bass"
        \override VerticalAxisGroup.staff-staff-spacing.basic-distance = 5
      }
      \new Voice \theBass
    \new FiguredBass
      \with {
        \override VerticalAxisGroup.nonstaff-unrelatedstaff-spacing =
        #'((basic-distance . 0) (minimum-distance . 0) (padding . 0.5) 
(stretchability . 10))
      }
      \figures_upper
    \new RhythmicStaff s1*8
    \new FiguredBass
      \with {
        \override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
          #'((basic-distance . 0) (minimum-distance . 0) (padding . 0.5) 
(stretchability . 5))
      }
      \figures_lower
  >>
  \layout {
    \context {
      \RhythmicStaff
      \omit TimeSignature
      \omit BarLine
    }
  }
}
%%%  SNIPPET ENDS

I’ve done a couple of other things to simplify the \score block — such as 
tweaking the \RhythmicStaff context in the layout block rather than inline — 
and there are more things you could (and I would!) do to take this philosophy 
even further.

> The vertical line at the beginning of the figured bass lines does not bother 
> me, but I would like to be able to interrupt the horizontal line between the 
> two BC-variants in sections whre ther is no second set of figures. Would that 
> be possible at all?

No doubt! I just don’t have time to look at that right now.

Hope this helps!
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: address@hidden




reply via email to

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