lilypond-devel
[Top][All Lists]
Advanced

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

Repeat Bars Clobbered


From: Dan Eble
Subject: Repeat Bars Clobbered
Date: Fri, 5 Sep 2008 20:53:00 -0400

%{
I want to insert a different kind of bar line based on whether repeated music is unfolded or not. In volta format, I want the usual dotted bars, but in unfolded format, I want double bars.

I have a work-around that uses tags (and abuses the "void" property) which I posted to the general mailing list a week or two ago, but I'm not satisfied with it. It seems that there ought to be a simpler way to do this sort of thing.

Here are a couple examples. Example 1 shows how I want the ly code to look, and how the output falls short.

Example 2 is something I discovered while invesigating Example 1. It's not a big deal to me, I think it's not a very likely use case, and I can understand how it would make sense to a programmer to use the last bar type in parsing order; however, it doesn't make sense to a musician that a bar line in simultaneous music would look different depending on which part it's defined in.

At the very least, I think that the problem illustrated in Example 1 is asking for some way to set a bar type with a higher priority than the single bars defined by the time signature, but a lower priority than the dotted bars defined by repetition.

What is the best way to solve this problem? Thanks.
--
Dan
%}

\version "2.11.52"
\include "english.ly"
\paper { indent = 0 }

% Bar line for the end of lyric phrases.  Only visible at end of line.
phrasingBar =
{
\once \override Score.BarLine #'break-visibility = #end-of-line- visible
  \bar "||"
}

% Bar line for the end of lyric stanzas.  Always visible.
stanzaBar = { \bar "||" }

exOneNotes = \relative c'
{
   \partial 2
   e4 e | c c c c | e2 \stanzaBar \mark \markup \smallCaps "Refrain"
   \repeat volta 2 { e4 e | e e e e | }
   \alternative {
     { d2 \phrasingBar }
     { c2 \bar "|." }
   }
}

exTwoNotes = \relative c''
{
  \partial 2
  \repeat unfold 4 { b2 | b b | b \phrasingBar }
}

exTwoBar = \relative c'
{
  \skip 1*8 \bar "|."
}

exTwoBreak = \relative c'
{
  \skip 1*4 \break \skip 1*4 \bar "|."
}

\book
{
  \header { title = "Phrasing Bars" }

  \score {
    { \unfoldRepeats \exOneNotes }
    \header { piece = "1.A. unfolded repeat: OK" }
  }

  \score {
    { \exOneNotes }
    \header { piece = "1.B. volta repeat: BAD (missing repeat bars)" }
  }

  \score {
    { \exTwoNotes \bar "|." }
    \header { piece = "2.A. sequential final bar: OK" }
  }

  \score {
    { << \exTwoNotes \\ \exTwoBar >> }
\header { piece = "2.B. polyphonic with final bar in down-voice: OK" }
  }

  \score {
    { << \exTwoNotes \\ \exTwoBreak >> }
    \header {
piece = "2.C. polyphonic with break and final bar in down- voice: OK"
    }
  }

  \score {
    { << \exTwoBar \\ \exTwoNotes >> }
    \header {
      piece =
"2.D. polyphonic with final bar in up-voice: BAD (missing final bar)"
    }
  }

  \score {
    { << \exTwoBreak \\ \exTwoNotes >> }
    \header {
      piece =
"2.E. polyphonic with break and final bar in up-voice: BAD (missing final bar)"
    }
  }
}





reply via email to

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