Sophie

Sophie

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

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>item-interface - LilyPond program-reference</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="LilyPond program-reference">
<meta name="generator" content="makeinfo 4.11">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Graphical-Object-Interfaces.html#Graphical-Object-Interfaces" title="Graphical Object Interfaces">
<link rel="prev" href="instrument_002dspecific_002dmarkup_002dinterface.html#instrument_002dspecific_002dmarkup_002dinterface" title="instrument-specific-markup-interface">
<link rel="next" href="key_002dcancellation_002dinterface.html#key_002dcancellation_002dinterface" title="key-cancellation-interface">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<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="item-interface"></a>
<a name="item_002dinterface"></a>
Next:&nbsp;<a rel="next" accesskey="n" href="key_002dcancellation_002dinterface.html#key_002dcancellation_002dinterface">key-cancellation-interface</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="instrument_002dspecific_002dmarkup_002dinterface.html#instrument_002dspecific_002dmarkup_002dinterface">instrument-specific-markup-interface</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Graphical-Object-Interfaces.html#Graphical-Object-Interfaces">Graphical Object Interfaces</a>
<hr>
</div>

<h4 class="unnumberedsubsec">item-interface</h4>

<p>Grobs can be distinguished in their role in the horizontal spacing.  Many grobs define constraints on the spacing by their sizes, for example, note heads, clefs, stems, and all other symbols with a fixed shape.  These grobs form a subtype called <code>Item</code>.

   <p>Some items need special treatment for line breaking.  For example, a clef is normally only printed at the start of a line (i.e., after a line break).   To model this, &lsquo;breakable&rsquo; items (clef, key signature, bar lines, etc.) are copied twice.  Then we have three versions of each breakable item: one version if there is no line break, one version that is printed before the line break (at the end of a system), and one version that is printed after the line break.

   <p>Whether these versions are visible and take up space is determined by the outcome of the <code>break-visibility</code> grob property, which is a function taking a direction (<code>-1</code>, <code>0</code> or&nbsp;<code>1</code>) as an argument.  It returns a cons of booleans, signifying whether this grob should be transparent and have no extent.

   <p>The following variables for <code>break-visibility</code> are predefined:
<pre class="example">                grob will show:   before  no     after
                                  break   break  break
       all-invisible              no      no     no
       begin-of-line-visible      no      no     yes
       end-of-line-visible        yes     no     no
       all-visible                yes     yes    yes
       begin-of-line-invisible    yes     yes    no
       end-of-line-invisible      no      yes    yes
       center-invisible           yes      no    yes
</pre>
   <h5 class="unnumberedsubsubsec">User settable properties:</h5>

<blockquote>
          <dl>
<dt><code>break-visibility</code> (vector)<dd>A vector of 3&nbsp;booleans,
<code>#(</code><var>end-of-line</var> <var>unbroken</var> <var>begin-of-line</var><code>)</code>. 
<code>#t</code> means visible, <code>#f</code> means killed. 
<br><dt><code>extra-spacing-height</code> (pair of numbers)<dd>In the horizontal spacing
problem, we increase the height of each item by this amount (by adding
the &lsquo;car&rsquo; to the bottom of the item and adding the &lsquo;cdr&rsquo; to the top
of the item. In order to make a grob infinitely high (to prevent the
horizontal spacing problem from placing any other grobs above or below
this grob), set this to <code>(-inf.0 . +inf.0)</code>. 
<br><dt><code>extra-spacing-width</code> (pair of numbers)<dd>In the horizontal spacing
problem, we pad each item by this amount (by adding the &lsquo;car&rsquo; on the
left side of the item and adding the &lsquo;cdr&rsquo; on the right side of the
item).  In order to make a grob take up no horizontal space at all,
set this to <code>(+inf.0 . -inf.0)</code>. 
<br><dt><code>non-musical</code> (boolean)<dd>True if the grob belongs to a
<code>NonMusicalPaperColumn</code>. 
</dl>
</blockquote>

   <p>This grob interface is used in the following graphical object(s): <a href="Accidental.html#Accidental">Accidental</a>, <a href="AccidentalCautionary.html#AccidentalCautionary">AccidentalCautionary</a>, <a href="AccidentalPlacement.html#AccidentalPlacement">AccidentalPlacement</a>, <a href="AccidentalSuggestion.html#AccidentalSuggestion">AccidentalSuggestion</a>, <a href="Ambitus.html#Ambitus">Ambitus</a>, <a href="AmbitusAccidental.html#AmbitusAccidental">AmbitusAccidental</a>, <a href="AmbitusLine.html#AmbitusLine">AmbitusLine</a>, <a href="AmbitusNoteHead.html#AmbitusNoteHead">AmbitusNoteHead</a>, <a href="Arpeggio.html#Arpeggio">Arpeggio</a>, <a href="BalloonTextItem.html#BalloonTextItem">BalloonTextItem</a>, <a href="BarLine.html#BarLine">BarLine</a>, <a href="BarNumber.html#BarNumber">BarNumber</a>, <a href="BassFigure.html#BassFigure">BassFigure</a>, <a href="BassFigureBracket.html#BassFigureBracket">BassFigureBracket</a>, <a href="BreakAlignGroup.html#BreakAlignGroup">BreakAlignGroup</a>, <a href="BreakAlignment.html#BreakAlignment">BreakAlignment</a>, <a href="BreathingSign.html#BreathingSign">BreathingSign</a>, <a href="ChordName.html#ChordName">ChordName</a>, <a href="Clef.html#Clef">Clef</a>, <a href="ClusterSpannerBeacon.html#ClusterSpannerBeacon">ClusterSpannerBeacon</a>, <a href="CombineTextScript.html#CombineTextScript">CombineTextScript</a>, <a href="Custos.html#Custos">Custos</a>, <a href="DotColumn.html#DotColumn">DotColumn</a>, <a href="Dots.html#Dots">Dots</a>, <a href="DoublePercentRepeat.html#DoublePercentRepeat">DoublePercentRepeat</a>, <a href="DoublePercentRepeatCounter.html#DoublePercentRepeatCounter">DoublePercentRepeatCounter</a>, <a href="DynamicText.html#DynamicText">DynamicText</a>, <a href="Fingering.html#Fingering">Fingering</a>, <a href="FretBoard.html#FretBoard">FretBoard</a>, <a href="GridLine.html#GridLine">GridLine</a>, <a href="GridPoint.html#GridPoint">GridPoint</a>, <a href="HarmonicParenthesesItem.html#HarmonicParenthesesItem">HarmonicParenthesesItem</a>, <a href="InstrumentSwitch.html#InstrumentSwitch">InstrumentSwitch</a>, <a href="KeyCancellation.html#KeyCancellation">KeyCancellation</a>, <a href="KeySignature.html#KeySignature">KeySignature</a>, <a href="LaissezVibrerTie.html#LaissezVibrerTie">LaissezVibrerTie</a>, <a href="LaissezVibrerTieColumn.html#LaissezVibrerTieColumn">LaissezVibrerTieColumn</a>, <a href="LeftEdge.html#LeftEdge">LeftEdge</a>, <a href="LyricText.html#LyricText">LyricText</a>, <a href="MelodyItem.html#MelodyItem">MelodyItem</a>, <a href="MetronomeMark.html#MetronomeMark">MetronomeMark</a>, <a href="NonMusicalPaperColumn.html#NonMusicalPaperColumn">NonMusicalPaperColumn</a>, <a href="NoteCollision.html#NoteCollision">NoteCollision</a>, <a href="NoteColumn.html#NoteColumn">NoteColumn</a>, <a href="NoteHead.html#NoteHead">NoteHead</a>, <a href="NoteName.html#NoteName">NoteName</a>, <a href="NoteSpacing.html#NoteSpacing">NoteSpacing</a>, <a href="OctavateEight.html#OctavateEight">OctavateEight</a>, <a href="PaperColumn.html#PaperColumn">PaperColumn</a>, <a href="ParenthesesItem.html#ParenthesesItem">ParenthesesItem</a>, <a href="RehearsalMark.html#RehearsalMark">RehearsalMark</a>, <a href="RepeatSlash.html#RepeatSlash">RepeatSlash</a>, <a href="RepeatTie.html#RepeatTie">RepeatTie</a>, <a href="RepeatTieColumn.html#RepeatTieColumn">RepeatTieColumn</a>, <a href="Rest.html#Rest">Rest</a>, <a href="RestCollision.html#RestCollision">RestCollision</a>, <a href="Script.html#Script">Script</a>, <a href="ScriptColumn.html#ScriptColumn">ScriptColumn</a>, <a href="ScriptRow.html#ScriptRow">ScriptRow</a>, <a href="SeparationItem.html#SeparationItem">SeparationItem</a>, <a href="SostenutoPedal.html#SostenutoPedal">SostenutoPedal</a>, <a href="SpanBar.html#SpanBar">SpanBar</a>, <a href="StaffSpacing.html#StaffSpacing">StaffSpacing</a>, <a href="StanzaNumber.html#StanzaNumber">StanzaNumber</a>, <a href="Stem.html#Stem">Stem</a>, <a href="StemTremolo.html#StemTremolo">StemTremolo</a>, <a href="StringNumber.html#StringNumber">StringNumber</a>, <a href="StrokeFinger.html#StrokeFinger">StrokeFinger</a>, <a href="SustainPedal.html#SustainPedal">SustainPedal</a>, <a href="TabNoteHead.html#TabNoteHead">TabNoteHead</a>, <a href="TextScript.html#TextScript">TextScript</a>, <a href="TimeSignature.html#TimeSignature">TimeSignature</a>, <a href="TrillPitchAccidental.html#TrillPitchAccidental">TrillPitchAccidental</a>, <a href="TrillPitchGroup.html#TrillPitchGroup">TrillPitchGroup</a>, <a href="TrillPitchHead.html#TrillPitchHead">TrillPitchHead</a> and <a href="UnaCordaPedal.html#UnaCordaPedal">UnaCordaPedal</a>.

   <!-- footer_tag --><br><hr>
<div class="node">
<p>
<a name="item_002dinterface"></a>
Next:&nbsp;<a rel="next" accesskey="n" href="key_002dcancellation_002dinterface.html#key_002dcancellation_002dinterface">key-cancellation-interface</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="instrument_002dspecific_002dmarkup_002dinterface.html#instrument_002dspecific_002dmarkup_002dinterface">instrument-specific-markup-interface</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Graphical-Object-Interfaces.html#Graphical-Object-Interfaces">Graphical Object Interfaces</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>