<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- header_tag --> <html lang="en"> <head> <title>Setting automatic beam behavior - 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.de.html#Top"> <link rel="up" href="Beams.de.html#Beams" title="Beams"> <link rel="prev" href="Automatic-beams.de.html#Automatic-beams" title="Automatic beams"> <link rel="next" href="Manual-beams.de.html#Manual-beams" title="Manual beams"> <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="Setting-automatic-beam-behavior"></a> Next: <a rel="next" accesskey="n" href="Manual-beams.de.html#Manual-beams">Manual beams</a>, Previous: <a rel="previous" accesskey="p" href="Automatic-beams.de.html#Automatic-beams">Automatic beams</a>, Up: <a rel="up" accesskey="u" href="Beams.de.html#Beams">Beams</a> <hr> </div> <h5 class="subsubsection">1.2.4.2 Setting automatic beam behavior</h5> <p><a name="index-autoBeamSettings-609"></a><a name="index-autoBeamSettings-610"></a> <a name="index-g_t_0028end-_002a-_002a-_002a-_002a_0029-611"></a><a name="index-g_t_0028end-_002a-_002a-_002a-_002a_0029-612"></a> <a name="index-g_t_0028begin-_002a-_002a-_002a-_002a_0029-613"></a><a name="index-g_t_0028begin-_002a-_002a-_002a-_002a_0029-614"></a> <a name="index-automatic-beams_002c-tuning-615"></a><a name="index-tuning-automatic-beaming-616"></a> <!-- [TODO: use \applyContext] --> <p>In normal time signatures, automatic beams can start on any note but can end in only a few positions within the measure: beams can end on a beat, or at durations specified by the properties in <code>autoBeamSettings</code>. The properties in <code>autoBeamSettings</code> consist of a list of rules for where beams can begin and end. The default <code>autoBeamSettings</code> rules are defined in <samp><span class="file">scm/auto-beam.scm</span></samp>. <p>In order to add a rule to the list, use <pre class="example">#(override-auto-beam-setting '(beam-limit beam-numerator beam-denominator time-signature-numerator time-signature-denominator) moment-numerator moment-denominator [context]) </pre> <ul> <li><code>beam-limit</code> is the type of automatic beam limit defined, either <code>begin</code> or <code>end</code>. <li><code>beam-numerator/beam-denominator</code> is the beam duration for which you want to add a rule. A beam is considered to have the duration of its shortest note. Set <code>beam-numerator</code> and <code>beam-denominator</code> to <code>'*'</code> to have this rule apply beams of any duration. <li><code>time-signature-numerator/time-signature-denominator</code> is the time signature to which this rule should apply. Set <code>time-signature-numerator</code> and <code>time-signature-denominator</code> to <code>'*'</code> to have this rule apply in any time signature. <li><code>monent-numerator/moment-denominator</code> is the position in the bar at which the beam should begin or end. <li><code>context</code> is optional, and it specifies the context at which the change should be made. The default is <code>'Voice</code>. <p><code>#(score-override-auto-beam-setting '(A B C D) E F)</code> is equivalent to <code>#(override-auto-beam-setting '(A B C D) E F 'Score)</code>. </ul> <p>TODO – convert to music example For example, if automatic beams should always end on the first quarter note, use <pre class="example">#(override-auto-beam-setting '(end * * * *) 1 4) </pre> <p>You can force the beam settings to only take effect on beams whose shortest note is a certain duration <blockquote> <pre class="verbatim"> \time 2/4 % end 1/16 beams for all time signatures at the 1/16 moment #(override-auto-beam-setting '(end 1 16 * *) 1 16) a16 a a a a a a a | a32 a a a a16 a a a a a | % end 1/32 beams for all time signatures at the 1/16 moment #(override-auto-beam-setting '(end 1 32 * *) 1 16) a32 a a a a16 a a a a a | </pre> <p> <a href="../91/lily-bc5f38d5.ly"> <img align="middle" border="0" src="../91/lily-bc5f38d5.png" alt="[image of music]"> </a> </p> </blockquote> <p>You can force the beam settings to only take effect in certain time signatures <blockquote> <pre class="verbatim"> \time 5/8 % end beams of all durations in 5/8 time signature at the 2/8 moment #(override-auto-beam-setting '(end * * 5 8) 2 8) c8 c d d d \time 4/4 e8 e f f e e d d \time 5/8 c8 c d d d </pre> <p> <a href="../37/lily-70b494d4.ly"> <img align="middle" border="0" src="../37/lily-70b494d4.png" alt="[image of music]"> </a> </p> </blockquote> <p>Existing auto-beam rules are removed by using <pre class="example">#(revert-auto-beam-setting '(beam-limit beam-numerator beam-denominator time-signature-numerator time-signature-denominator) moment-numerator moment-denominator [context]) </pre> <p class="noindent"><code>beam-limit</code>, <code>beam-numerator</code>, <code>beam-denominator</code>, <code>time-signature-numerator</code>, <code>time-signature-denominator</code>, <code>moment-numerator</code>, <code>moment-denominator</code> and <code>context</code> are the same as above. Note that the default auto-beaming rules are specified in <samp><span class="file">scm/auto-beam.scm</span></samp>, so you can revert rules that you did not explicitly create. <blockquote> <pre class="verbatim"> \time 4/4 a16 a a a a a a a a a a a a a a a % undo a rule ending 1/16 beams in 4/4 time at 1/4 moment #(revert-auto-beam-setting '(end 1 16 4 4) 1 4) a16 a a a a a a a a a a a a a a a </pre> <p> <a href="../c0/lily-7748c572.ly"> <img align="middle" border="0" src="../c0/lily-7748c572.png" alt="[image of music]"> </a> </p> </blockquote> <p>The rule in a <code>revert-auto-beam-setting</code> statement must exactly match the original rule. That is, no wildcard expansion is taken into account. <blockquote> <pre class="verbatim"> \time 1/4 #(override-auto-beam-setting '(end 1 16 1 4) 1 8) a16 a a a #(revert-auto-beam-setting '(end 1 16 * *) 1 8) % this won't revert it! a a a a #(revert-auto-beam-setting '(end 1 16 1 4) 1 8) % this will a a a a </pre> <p> <a href="../71/lily-48db9277.ly"> <img align="middle" border="0" src="../71/lily-48db9277.png" alt="[image of music]"> </a> </p> </blockquote> <!-- TODO: old material - not covered by above stuff, I think. --> <p>If automatic beams should end on every quarter in 5/4 time, specify all endings <pre class="example">#(override-auto-beam-setting '(end * * * *) 1 4 'Staff) #(override-auto-beam-setting '(end * * * *) 1 2 'Staff) #(override-auto-beam-setting '(end * * * *) 3 4 'Staff) #(override-auto-beam-setting '(end * * * *) 5 4 'Staff) ... </pre> <p>The same syntax can be used to specify beam starting points. In this example, automatic beams can only end on a dotted quarter note <pre class="example">#(override-auto-beam-setting '(end * * * *) 3 8) #(override-auto-beam-setting '(end * * * *) 1 2) #(override-auto-beam-setting '(end * * * *) 7 8) </pre> <p>In 4/4 time signature, this means that automatic beams could end only on 3/8 and on the fourth beat of the measure (after 3/4, that is 2 times 3/8, has passed within the measure). <p>If any unexpected beam behavior occurs, check the default automatic beam settings in <samp><span class="file">scm/auto-beam.scm</span></samp> for possible interference, because the beam endings defined there will still apply on top of your own overrides. Any unwanted endings in the default vales must be reverted for your time signature(s). <p>For example, to typeset <code>(3 4 3 2)</code>-beam endings in 12/8, begin with <pre class="example">%%% revert default values in scm/auto-beam.scm regarding 12/8 time #(revert-auto-beam-setting '(end * * 12 8) 3 8) #(revert-auto-beam-setting '(end * * 12 8) 3 4) #(revert-auto-beam-setting '(end * * 12 8) 9 8) %%% your new values #(override-auto-beam-setting '(end 1 8 12 8) 3 8) #(override-auto-beam-setting '(end 1 8 12 8) 7 8) #(override-auto-beam-setting '(end 1 8 12 8) 10 8) </pre> <p><a name="index-automatic-beam-generation-617"></a><a name="index-autobeam-618"></a><a name="index-autoBeaming-619"></a><a name="index-autoBeaming-620"></a> <a name="index-lyrics-621"></a> If beams are used to indicate melismata in songs, then automatic beaming should be switched off with <code>\autoBeamOff</code>. <p class="noindent"> <h5 class="subsubheading">Predefined commands</h5> <p><a name="index-g_t_005cautoBeamOff-622"></a><a name="index-g_t_005cautoBeamOff-623"></a> <code>\autoBeamOff</code>, <a name="index-g_t_005cautoBeamOn-624"></a><a name="index-g_t_005cautoBeamOn-625"></a> <code>\autoBeamOn</code>. <p class="noindent"> <h5 class="subsubheading">Known issues and warnings</h5> <p>If a score ends while an automatic beam has not been ended and is still accepting notes, this last beam will not be typeset at all. The same holds for polyphonic voices, entered with <code><< ... \\ ... >></code>. If a polyphonic voice ends while an automatic beam is still accepting notes, it is not typeset. <p class="noindent"> <h5 class="subsubheading">See also</h5> <p class="indent"> <p>Snippets: <a href="../../../input/lsr/lilypond-snippets/Rhythms.html#Rhythms">Rhythms</a>. <!-- footer_tag --><br><hr> <div class="node"> <p> Next: <a rel="next" accesskey="n" href="Manual-beams.de.html#Manual-beams">Manual beams</a>, Previous: <a rel="previous" accesskey="p" href="Automatic-beams.de.html#Automatic-beams">Automatic beams</a>, Up: <a rel="up" accesskey="u" href="Beams.de.html#Beams">Beams</a> </div> <div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;"> <p> <font size="-1"> Diese Seite ist für LilyPond-2.11.57 (Entwicklungszweig). <br> <address> Fehler bitte an <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> melden. </address> <br> Ihre <a href="http://lilypond.org/web/devel/participating/documentation-adding">Vorschläge für die Dokumentation</a> sind willkommen. </font> </p> </div> <P> Andere Sprachen: <a href="Setting-automatic-beam-behavior.fr.html">français</a>, <a href="Setting-automatic-beam-behavior.es.html">español</a>. <BR> </P> </BODY></html>