lilypond-user
[Top][All Lists]
Advanced

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

selectively suppressing barlines?


From: Graham King
Subject: selectively suppressing barlines?
Date: Wed, 30 Aug 2017 19:11:37 +0100

In transcribing renaissance polyphony, I like to do three things:

     1. represent the final "longa" of a section with a single note,
        rather than a series of notes tied over barlines, while other
        parts continue twiddling away;
     2. use \RemoveEmptyStaves to produce a Frenched score; and
     3. display bar numbers on the top (remaining) staff.

I recognise that there are valid objections to combining 1 & 3, but
please indulge me...

The following (almost) MWE, illustrates the default behaviour.  I'd like
to remove the superfluous barline at bar "4" in the upper part (only).
By globally replacing "%{" with "%%{" you can uncomment my usual way of
achieving the objective.    

This technique, however, feels really clumsy by Lilypond standards.
Have I overlooked a better way?

        \version "2.19.40"
        
        cantusVoice = {
          c''1 \break R1 \break
          %{
          \omit \time 4/2 % invisibly change this to accommodate breve
          %}
          \breve
          \bar "|."
        }
        
        altusVoice = {
          %{ % Suppress bar numbers until RemoveEmptyStaffContext 
             % makes them necessary:
          \override Staff.BarNumber.break-visibility = ##(#f #f #f)
          %}
          c'1
        
          %{ % and show bar numbers again, when the upper line
        disappears.
          \temporary \override 
            Staff.BarNumber.break-visibility = ##(#f #f #t)
          %}
          1
          %{
          \revert Staff.BarNumber.break-visibility
          %}
          1 1
          \bar "|."
        }
        
        \score {
          \new ChoirStaff <<
            \new Staff
            %{
            \with { \consists "Bar_number_engraver" }
            %}
            { \cantusVoice }
            \new Staff
            %{
            \with { \consists "Bar_number_engraver" }
            %}
            { \altusVoice }
          >>
          \layout {
            indent = 0
            ragged-right = ##t
            \context {
              \Score
              %{
              \remove "Timing_translator"
              \remove "Default_bar_line_engraver"
              %}
            }
            \context {
              \Staff
              %{
              \consists "Timing_translator"
              \consists "Default_bar_line_engraver"
              %}
              \RemoveEmptyStaves
            }
          }
        }

Attachment: finals_barlines_barnumbers.jpg
Description: JPEG image


reply via email to

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