Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 3a7b4dfc766af1222d90c7f03a0844e6 > files > 8266

lilypond-doc-2.11.57-1mdv2009.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- header_tag -->
<html lang="en">
<head>
<title>Using break-visibility - GNU LilyPond Notation Reference</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="GNU LilyPond Notation Reference">
<meta name="generator" content="makeinfo 4.11">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Controlling-visibility-of-objects.html#Controlling-visibility-of-objects" title="Controlling visibility of objects">
<link rel="prev" href="Painting-objects-white.html#Painting-objects-white" title="Painting objects white">
<link rel="next" href="Special-considerations.html#Special-considerations" title="Special considerations">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1999--2007 by the authors

     Permission is granted to copy, distribute and/or modify this
     document under the terms of the GNU Free Documentation License,
     Version 1.1 or any later version published by the Free Software
     Foundation; with no Invariant Sections.  A copy of the license is
     included in the section entitled ``GNU Free Documentation
     License''.
   -->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
hr { border:0; height:1; color: #000000; background-color: #000000; }
/* hr {
  border:  none;
  height: 1px;
  color: #666666;
  background-color: #666666;
}
body {
  border-left: 1px solid #666666;
  border-right: 1px solid #666666;
  color: #332d28;
  margin-right: auto;
  margin-left: auto;
  width: 60em;
  list-style-type: square;
  font-family: Arial,Helvetica,sans-serif;
  padding-right: 1em;
  padding-left: 1em;
}
a {
  border-bottom: 1px dashed #344242;
  text-decoration: none;
  color: #344242;
}
a:link {
  text-decoration: none;
}
a:visited {
  border-bottom: 1px dashed #666666;
  color: #666666;
}
a:active {
  border-bottom: 1px solid #00cccc;
  color: #00cccc;
}
a:hover {
  border-bottom: 1px solid #1d7b85;
  color: #1d7b85;
}
blockquote {
  border: 1px solid #cccccc;
  padding: 3px;
  width: 40em;
}
.node {
  border-left: 1px solid #666666;
  margin: -0.5em 0px 1em;
  padding: 2px 1px 0px;
  font-style: italic;
}
.node a {
  border:  none;
  text-decoration: underline;
  font-style: normal;
  font-weight: bold;
}
.verbatim {
  font-family: "Courier New",Courier,monospace;
}
.unnumberedsubsubsec {
  font-size: large;
  color: #1d7b85;
}
.subsubheading {
  font-size: large;
  color: #3b220d;
}
.contents {
  border: 1px dashed #339999;
  margin: 3px 2em;
  list-style-type: square;
  padding-right: 1em;
  width: 40em;
  background-color: #fcfff9;
}
.contents a {
  border-bottom: 1px dashed #423d34;
  text-decoration: none;
  color: #423d34;
}
.contents a:visited {
  border-bottom: 1px dashed #666666;
  color: #666666;
}
.contents a:active {
  border-bottom: 1px solid #f0d86d;
  color: #f0d86d;
}
.contents a:hover {
  border-bottom: 1px solid #3b220d;
  color: #3b220d;
}
.menu {
  border-left: 1px dashed #339999;
  margin: 3px 2em 1em;
  list-style-type: square;
  padding-left: 1.4em;
  width: 40em;
}
.unnumbered {
}
h2 {
  font-size: x-large;
  color: #1d7b85;
}
*/
--></style>
</head>
<BODY BGCOLOR=WHITE TEXT=BLACK>

<div class="node">
<p>
<a name="Using-break-visibility"></a>
<a name="Using-break_002dvisibility"></a>
Next:&nbsp;<a rel="next" accesskey="n" href="Special-considerations.html#Special-considerations">Special considerations</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Painting-objects-white.html#Painting-objects-white">Painting objects white</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Controlling-visibility-of-objects.html#Controlling-visibility-of-objects">Controlling visibility of objects</a>
<hr>
</div>

<h5 class="unnumberedsubsubsec">Using break-visibility</h5>

<!-- TODO Add making other objects breakable -->
<p><a name="index-break_002dvisibility-2723"></a>
Most layout objects are printed only once, but some like
bar lines, clefs, time signatures and key signatures, may need
to be printed twice when a line break occurs &ndash; once at the end
of the line and again at the start of the next line.  Such
objects are called <em>breakable</em>, and have a property, the
<code>break-visibility</code> property to control their visibility
at the three positions in which they may appear &ndash; at the
start of a line, within a line if they are changed, and at the
end of a line if a change takes place there.

   <p>For example, the time signature
by default will be printed at the start of the first line, but
nowhere else unless it changes, when it will be printed at the
point at which the change occurs.  If this change occurs at the
end of a line the new time signature will be printed at the start
of the next line and a cautionary time signature will be printed
at the end of the previous line as well.

   <p>This behaviour is controlled by the <code>break-visibility</code>
property, which is explained in
<!-- Leave this ref on a newline - formats incorrectly otherwise -td -->
<a name="index-Visibility-and-color-of-objects-2724"></a><a href="../lilypond-learning/Visibility-and-color-of-objects.html#Visibility-and-color-of-objects">Visibility and color of objects</a>.  This property takes
a vector of three booleans which, in order, determine whether the
object is printed at the end of, within the body of, or at the
beginning of a line.  Or to be more precise, before a line break,
where there is no line break, or after a line break.

   <p>Alternatively, seven of the eight combinations may be specified
by pre-defined functions, defined in <samp><span class="file">scm/output-lib.scm</span></samp>,
where the last three columns indicate whether the layout objects
will be visible in the positions shown at the head of the columns:

   <p><table summary=""><!-- TODO check these more carefully -->
<tr align="left"><th valign="top" width="40%">Function                   </th><th valign="top" width="15%">Vector                  </th><th valign="top" width="10%">Before </th><th valign="top" width="10%">At no    </th><th valign="top" width="10%">After
<br></th></tr><tr align="left"><th valign="top" width="40%">form                       </th><th valign="top" width="15%">form                    </th><th valign="top" width="10%">break  </th><th valign="top" width="10%">break    </th><th valign="top" width="10%">break

<p><br></th></tr><tr align="left"><td valign="top" width="40%"><code>all-invisible</code>           </td><td valign="top" width="15%"><code>'#(#f #f #f)</code>   </td><td valign="top" width="10%">no     </td><td valign="top" width="10%">no       </td><td valign="top" width="10%">no
<br></td></tr><tr align="left"><td valign="top" width="40%"><code>begin-of-line-visible</code>   </td><td valign="top" width="15%"><code>'#(#f #f #t)</code>     </td><td valign="top" width="10%">no     </td><td valign="top" width="10%">no       </td><td valign="top" width="10%">yes
<br></td></tr><tr align="left"><td valign="top" width="40%"><code>end-of-line-visible</code>     </td><td valign="top" width="15%"><code>'#(#t #f #f)</code>     </td><td valign="top" width="10%">yes    </td><td valign="top" width="10%">no       </td><td valign="top" width="10%">no
<br></td></tr><tr align="left"><td valign="top" width="40%"><code>all-visible</code>             </td><td valign="top" width="15%"><code>'#(#t #t #t)</code>     </td><td valign="top" width="10%">yes    </td><td valign="top" width="10%">yes      </td><td valign="top" width="10%">yes
<!-- The center-visible function is not defined -->
<!-- @item @code{center-visible}       @tab @code{'#(#f #t #f)}     @tab no     @tab yes      @tab no -->
<br></td></tr><tr align="left"><td valign="top" width="40%"><code>begin-of-line-invisible</code> </td><td valign="top" width="15%"><code>'#(#t #t #f)</code>     </td><td valign="top" width="10%">yes    </td><td valign="top" width="10%">yes      </td><td valign="top" width="10%">no
<br></td></tr><tr align="left"><td valign="top" width="40%"><code>end-of-line-invisible</code>   </td><td valign="top" width="15%"><code>'#(#f #t #t)</code>     </td><td valign="top" width="10%">no     </td><td valign="top" width="10%">yes      </td><td valign="top" width="10%">yes
<br></td></tr><tr align="left"><td valign="top" width="40%"><code>center-invisible</code>        </td><td valign="top" width="15%"><code>'#(#t #f #t)</code>     </td><td valign="top" width="10%">yes    </td><td valign="top" width="10%">no       </td><td valign="top" width="10%">yes
   <br></td></tr></table>

   <p>The <code>center-visible</code> function is not pre-defined.

   <p>The default settings of <code>break-visibility</code> depend on the
layout object.  The following table shows all the layout objects
of interest which are affected by <code>break-visibility</code> and the
default setting of this property:

   <p><table summary="">
<tr align="left"><th valign="top" width="30%">Layout object   </th><th valign="top" width="30%">Usual context  </th><th valign="top" width="40%">Default setting

<!-- omit Ambitus as it appears not to be affected by break-visibility -td -->
<!-- @item @code{Ambitus}          @tab as specified   @tab @code{begin-of-line-visible} -->
<p><br></th></tr><tr align="left"><td valign="top" width="30%"><code>BarLine</code>             </td><td valign="top" width="30%"><code>Score</code>          </td><td valign="top" width="40%">calculated
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>BarNumber</code>           </td><td valign="top" width="30%"><code>Score</code>          </td><td valign="top" width="40%"><code>begin-of-line-visible</code>
<!-- omit the following item until it can be explained -td -->
<!-- @item @code{BreakAlignGroup}  @tab @code{Score}          @tab calculated -->
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>BreathingSign</code>       </td><td valign="top" width="30%"><code>Voice</code>          </td><td valign="top" width="40%"><code>begin-of-line-invisible</code>
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>Clef</code>                </td><td valign="top" width="30%"><code>Staff</code>          </td><td valign="top" width="40%"><code>begin-of-line-visible</code>
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>Custos</code>              </td><td valign="top" width="30%"><code>Staff</code>          </td><td valign="top" width="40%"><code>end-of-line-visible</code>
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>DoublePercentRepeat</code> </td><td valign="top" width="30%"><code>Voice</code>          </td><td valign="top" width="40%"><code>begin-of-line-invisible</code>
<!-- omit KeyCancellation until it can be explained -td -->
<!-- @item @code{KeyCancellation}  @tab ??             @tab @code{begin-of-line-invisible} -->
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>KeySignature</code>        </td><td valign="top" width="30%"><code>Staff</code>          </td><td valign="top" width="40%"><code>begin-of-line-visible</code>
<!-- omit LeftEdge until it can be explained -td -->
<!-- @item @code{LeftEdge}         @tab @code{Score}          @tab @code{center-invisible} -->
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>OctavateEight</code>       </td><td valign="top" width="30%"><code>Staff</code>          </td><td valign="top" width="40%"><code>begin-of-line-visible</code>
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>RehearsalMark</code>       </td><td valign="top" width="30%"><code>Score</code>          </td><td valign="top" width="40%"><code>end-of-line-invisible</code>
<br></td></tr><tr align="left"><td valign="top" width="30%"><code>TimeSignature</code>       </td><td valign="top" width="30%"><code>Staff</code>          </td><td valign="top" width="40%"><code>all-visible</code>

   <br></td></tr></table>

   <p>The example below shows the use of the vector form to control the
visibility of barlines:

   <blockquote>
<pre class="verbatim">     
     f4 g a b
     f4 g a b
     % Remove bar line at the end of the current line
     \once \override Score.BarLine #'break-visibility = #'#(#f #t #t)
     \break
     f4 g a b
     f4 g a b
</pre>
     <p>
 <a href="../6a/lily-eee12bfb.ly">
  <img align="middle"
    border="0" src="../6a/lily-eee12bfb.png" alt="[image of music]">
 </a>
</p>

   </blockquote>

   <p>Although all three components of the vector used to override
<code>break-visibility</code> must be present, not all of them are
effective with every layout object, and some combinations may
even give errors.  The following limitations apply:

     <ul>
<li>Bar lines cannot be printed at start of line. 
<li>A bar number cannot be printed at the start of the first
line unless it is set to be different from 1. 
<li>Clef &ndash; see below
<li>Double percent repeats are either all printed or all
suppressed.  Use begin-of line-invisible to print and
all-invisible to suppress. 
<li>Key signature &ndash; see below
<li>OctavateEight &ndash; see below
</ul>

   <!-- footer_tag --><br><hr>
<div class="node">
<p>
<a name="Using-break_002dvisibility"></a>
Next:&nbsp;<a rel="next" accesskey="n" href="Special-considerations.html#Special-considerations">Special considerations</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Painting-objects-white.html#Painting-objects-white">Painting objects white</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Controlling-visibility-of-objects.html#Controlling-visibility-of-objects">Controlling visibility of objects</a>
</div>

<div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;">
<p>
<font size="-1">
This page is for LilyPond-2.11.57 (development-branch).
<br>
<address>
Report errors to <a href="http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs">http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs</a>. </address>
<br>
Your <a href="http://lilypond.org/web/devel/participating/documentation-adding">suggestions for the documentation</a> are welcome.
</font>
</p>
</div>

</BODY></html>