]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/properties.itely
release: 1.3.50
[lilypond.git] / Documentation / user / properties.itely
index f5ead31c6cbde6ef79972d06998017ace1e39e14..4bb6362dfd4dba74622731cdee1be9fe935a1108 100644 (file)
@@ -1,9 +1,37 @@
 @node Properties, , , Reference Manual
 
+Properties are Scheme values, so they have a type.  The type of a
+property is listed in parentheses after the property name.
+
+@macro propertytype{t}
+ (\t\)
+@end macro
+
+
+TODO:
+
+
+@table @samp
+  @item @code{Generic_property_list}
+    Defines names and types for generic properties. These are properties
+    than can be plugged into the backend directly. See the init file
+    @file{generic-property.scm} for details.  For internal use only.
+
+  @item @code{XXXVerticalExtent}@indexcode{groupVerticalExtent} @propertytype{Interval: a cons of numbers}
+    Hard code the size of the vertical group in context XXX, example
+@example
+\property Staff.StaffVerticalExtent = #(-5.0 . 5.0)
+@end example
+    The value is a cons of real numbers, that measure the extent in
+    staff spaces.
+@end table   
+
+@subsubheading Lyrics properties
+
 @cindex properties!Lyrics
 
 @table @samp
-  @item @code{textStyle}@indexcode{textStyle}  
+  @item @code{textStyle}@indexcode{textStyle} @propertytype{string}
     Set the font for lyrics.  The available font choices are
     @code{roman}, @code{italic}, @code{bold}, @code{large}, @code{Large},
     @code{typewriter}, and @code{finger}.  The @code{finger} font can
     dot.
 @end table
 
+@subsubheading Thread properties
 
 @cindex properties!Thread
 
 @table @samp
-  @item @code{noteheadStyle}@indexcode{noteheadStyle}  
-    Selects type of note head.  Choices are @code{cross},
-    @code{diamond}, @code{harmonic}, @code{transparent}, and @code{""}. 
-    They are shown in that order below.
-
-    @mudela[center]
-
+  @item @code{noteHeadStyle}@indexcode{noteHeadStyle} @propertytype{symbol}
+    Selects type of note head.  Choices are @code{'cross},
+    @code{'diamond}, @code{'harmonic}, @code{'transparent}, 
+    @code{'mensural}, @code{'baroque}, and @code{'default}. 
+    They are shown in that order below. The  @code{'baroque}, 
+    style gives the default symbols except for brevis and 
+    longa notes which are square shaped as in the @code{'mensural} 
+    style.
+
+    @mudela[center,verbatim]
       \score {
         \notes { 
           \property Staff.barNonAuto = 1
-          \property Voice.noteHeadStyle = cross 
+          \property Voice.noteHeadStyle = #'cross 
           a'
-          \property Voice.noteHeadStyle = diamond
+          \property Voice.noteHeadStyle = #'diamond
           a'
-          \property Voice.noteHeadStyle = harmonic
+          \property Voice.noteHeadStyle = #'harmonic
           a'
-          \property Voice.noteHeadStyle = transparent
+          \property Voice.noteHeadStyle = #'transparent
           a' 
-          \property Voice.noteHeadStyle = ""
+          \property Voice.noteHeadStyle = #'mensural
+          a' 
+          \property Voice.noteHeadStyle = #'default
           a'
         }
         \paper {
 
  
 @table @samp  
-  @item @code{stemStyle}@indexcode{stemStyle}  
+  @item @code{stemStyle}@indexcode{flagStyle} @propertytype{string}
     By default set to @code{"grace"} meaning that all unbeamed 
     notes with flags are typeset with a slash through the flag. 
     Setting to @code{""} gives standard flags.
+
+@mudela[verbatim]
+c'8 \property Voice.flagStyle = "grace" c'8
+@end mudela
 @end table
 
 
 @cindex properties!Voice
 
 @table @samp  
-  @item @code{abbrev}@indexcode{abbrev}  
+  @item @code{abbrev}@indexcode{abbrev} @propertytype{integer}
     Set length for tremolo to be used if no length is explicitly
     specified. 
 
   @item @code{articulationScriptPadding}@indexcode{articulationScriptPadding}
-     
     Determines the extra space added between articulation marks, such
     as staccato, tenuto, trill, up/down bow or fermata, and the
     closest staff line or note.
 
-  @item @code{articulationScriptVerticalDirection}
+  @item @code{articulationScriptVerticalDirection} @propertytype{direction}
     @indexcode{articulationScriptVerticalDirection}  
     Determines the location of articulation marks.  Set to @code{\up}
     to print marks above the staff; set to @code{\down} to print marks
     below the staff.  This property does not override explicit
     directions marked with `@code{^}' or `@code{_}' in the mudela file.
     
-  @item @code{noAutoBeaming}@indexcode{beamAuto}  
+  @item @code{noAutoBeaming}@indexcode{beamAuto}  @propertytype{boolean}
     If set to 1 then beams are not generated automatically.
 
-  @item @code{beamAutoEnd}@indexcode{beamAutoEnd}  
+  @item @code{beamAutoEnd}@indexcode{beamAutoEnd}  @propertytype{?}
     Specifies when automatically generated beams can end.  See
     section XREF-autobeam [FIXME].
 
-  @item @code{beamAutoBegin}@indexcode{beamAutoBegin}  
+  @item @code{beamAutoBegin}@indexcode{beamAutoBegin}  @propertytype{?}
     Specifies when automatically generated beams can start.  See
     section XREF-autobeam [FIXME].
 
-  @item @code{beamquantisation}@indexcode{beamquantisation}  
+
+[outdated FIXME]
+  @item @code{beamQuantisation}@indexcode{beamQuantisation} @propertytype{symbol}
     Set to @code{\none} for no quantization.  Set to @code{\normal} to
     quantize position and slope.  Set to @code{\traditional} to avoid
     wedges.  These three settings are available via
     @code{\beamposnormal}@keyindex{beamposnormal}, and
     @code{\beampostraditional}@keyindex{beampostraditional}.
 
-  @item @code{beamslopedamping}@indexcode{beamslopedamping}  
+  @item @code{beamSlopeDamping}@indexcode{beamSlopeDamping} @propertytype{number}
     Set to @code{\none} for undamped beams.  Set to @code{\normal} for
     damped beams.  Set to @code{\infinity} for beams with zero slope. 
     The identifiers
     @code{\beamslopezero}@keyindex{beamslopezero} each set the
     corresponding value.
 
-  @item @code{dynamicDirection}@indexcode{dynamicDirection}  
+  @item @code{dynamicDirection}@indexcode{dynamicDirection} @propertytype{direction}
     Determines location of dynamic marks.  Set to @code{\up} to print
     marks above the staff; set to @code{\down} to print marks below
     the staff.
 
-  @item @code{dynamicStyle}@indexcode{dynamicStyle}  
-    Set the text style for dynamics.  
+  @item @code{dynamicStyle}@indexcode{dynamicStyle} @propertytype{string}
+    Set the text style for dynamics.
 
-  @item @code{fontSize}@indexcode{fontSize}  
+  @item @code{fontSize}@indexcode{fontSize} @propertytype{number}
     Can be used to select smaller font sizes for music.  The normal
     font size is 0, and the two smaller sizes are -1
     and -2.
 
+@mudela[verbatim]
+c''16 \property Staff.fontSize = -2 c''16
+@end mudela
+
    @item @code{forceHorizontalShift}@indexcode{forceHorizontalShift}  
     Force horizontal shift for collision resolution.  It overrides
     automatic collision resolution.  The value is the shift amount
     expressed in @code{note_width}, as set in the paper section.
 
+@item @code{collisionMergeDotted}@indexcode{collisionMergeDotted} @propertytype{boolean}
+
+Merge noteheads in collisions, even if they have a different number of
+dots. This normal notation for polyphonic guitar music.
+
+@mudelafile[verbatim]{force-hshift.ly}
+
+
 [FIXME: this should be moved]
 
 Lilypond always arranges note heads on alternate sides of a stem (that
@@ -158,7 +209,7 @@ done, with values of @code{horizontalNoteShift} printed over and under
 the notes. In this case the chords are just simple notes.
 
 @c URG : mudela book bug.
-@mudela[singleline]
+@mudela[singleline,verbatim]
 \score {
         \notes \context Staff <
                \context Voice  = VA { \stemup f''4^"0" }
@@ -190,94 +241,111 @@ Then you can set the force property to a suitable value before each note
 that really needs it (unisons and seconds), and reset it to 0.0 after
 the note.  
 
-  @item @code{horizontalNoteShift}@indexcode{horizontalNoteShift}  
+  @item @code{horizontalNoteShift}@indexcode{horizontalNoteShift}  @propertytype{integer}
     Enable LilyPond to shift notes horizontally if they collide with
     other notes.  This is useful when typesetting many voices on one
     staff.  The identifier @code{\shift}@keyindex{shift} is defined to
     enable this.  Traditionally, the outer chords (the upmost and
     downmost voices), should have no @code{horizontalNoteShift}.
 
-  @item @code{markScriptPadding}@indexcode{markScriptPadding}  
+  @item @code{markScriptPadding}@indexcode{markScriptPadding}  @propertytype{number}
     Determines the extra space added between the mark and the closest
     staff line or note.
 
-  @item @code{markDirection}@indexcode{markDirection}  
+  @item @code{markDirection}@indexcode{markDirection} @propertytype{direction}
     Determines if marks should be printed above or below the staff.
     Set to @code{\up} to print marks above the staff; set to
     @code{\down} to print marks below the staff.
 
-  @item @code{midiInstrument}@indexcode{midiInstrument}  
+  @item @code{midiInstrument}@indexcode{midiInstrument} @propertytype{string}
     Sets the instrument for MIDI output.  If this property is not set
     then LilyPond will use the @code{instrument} property.  This must
     be set to one of the strings on the list of MIDI instruments that
     appears in section XREF-midilist [FIXME].  If you use a string which
     is not listed, LilyPond will silently substitute piano.
 
-  @item @code{oldTieBehavior}@indexcode{oldTieBehavior}  
-    Set to 1 in order to get old tie behavior where ties would
-    connect unequal pitches.  This property is deprecated, and its
-    use is not recommended.
-
-  @item @code{restStyle}@indexcode{restStyle}  
+  @item @code{restStyle}@indexcode{restStyle} @propertytype{string}
     Change the layout of rests shorter than quarter notes. 
     Currently, the standard layout @code{""} and mensural notation
     @code{"mensural"} are available. Mensural rests of duration
     32 or shorter are not available.
-    
-  @item @code{scriptHorizontal}@indexcode{scriptHorizontal}  
+@mudela[verbatim]
+r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128 
+\property Staff.restStyle = "mensural"
+r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128 
+@end mudela
+
+  @item @code{scriptHorizontal}@indexcode{scriptHorizontal} @propertytype{boolean}
     Put scripts left or right of note heads.  Support for this is
     limited.  Accidentals will collide with scripts.
     
-  @item @code{slurVerticalDirection}@indexcode{slurVerticalDirection}  
+  @item @code{slurVerticalDirection}@indexcode{slurVerticalDirection} @propertytype{direction}
     Set to @code{\free} for free choice of slur direction, set to
     @code{\up} to force slurs up, set to @code{\down} to force slurs
     down.  The shorthands @code{\slurup}@keyindex{slurup},
     @code{\slurdown}@keyindex{slurdown}, and
     @code{\slurboth}@keyindex{slurboth} are available.
 
-  @item @code{slurDash}@indexcode{slurDash}  
-    Set to 0 for normal slurs, 1 for dotted slurs, and a
+  @item @code{slurDash}@indexcode{slurDash} @propertytype{number}
+    Set to NIL for normal slurs, 1 for dotted slurs, and a
     larger value for dashed slurs.  Identifiers
     @code{\slurnormal}@keyindex{slurnormal} and
     @code{\slurdotted}@keyindex{slurdotted} are predefined to set the
     first two settings.
 
+@mudela[verbatim]
+               c4( )d
+               \property Voice.slurDash = 3
+               c ( )e
+@end mudela            
+
 @item @code{stemLength}@indexcode{stemLength}  
     Set length of stems.  Unit is `@code{interline}/2', so
     @code{stemLength} defaults to 7.
+@mudela[verbatim]
+g''4 \property Voice.stemLength = #14  g4 \property Voice.stemLength = #3 g4  g,,4  
+@end mudela
 
-  @item @code{stemLeftBeamCount}@indexcode{stemLeftBeamCount}  
+  @item @code{stemLeftBeamCount}@indexcode{stemLeftBeamCount} @propertytype{integer}
     Specify the number of beams to draw on the left side of the next
     note.  Overrides automatic beaming.  The value is only used once,
     and then it is erased.
 
-  @item @code{stemRightBeamCount}@indexcode{stemRightBeamCount}  
+  @item @code{stemRightBeamCount}@indexcode{stemRightBeamCount} @propertytype{integer}
     Specify the number of beams to draw on the right side of the next
     note.  Overrides automatic beaming.  The value is only used once,
     and then it is erased.
-  @item @code{tieVerticalDirection}@indexcode{tieVerticalDirection}  
+
+  @item @code{tieDash}@indexcode{tieDash} @propertytype{integer}
+    Set dashing of ties. See also @code{slurDash}
+
+  @item @code{tieVerticalDirection}@indexcode{tieVerticalDirection} @propertytype{direction}
     Set to @code{\free} for free choice of tie direction, set to
     @code{\up} to force ties up, set to @code{\down} to force ties
     down.
 
-  @item @code{transposing}@indexcode{transposing}  
+  @item @code{transposing}@indexcode{transposing} @propertytype{integer}
     Transpose the MIDI output.  Set this property to the number of
     half-steps to transpose by.
 
-  
-  @item @code{textEmptyDimension}@indexcode{textEmptyDimension}  
-    If set to 1 then text placed above or below the staff is
-    assumed to have zero width.
-  
-  @item @code{textStyle}@indexcode{textStyle}  
+  @item @code{textEmptyDimension}@indexcode{textEmptyDimension} @propertytype{boolean}
+    If set to true then text placed above or below the staff is
+    assumed to have zero width.  @code{fatText} and @code{emptyText}
+are predefined settings.
+
+@mudela[verbatim]
+c4^"foo"  \emptyText c4^"foo" c4
+@end mudela
+
+  @item @code{textStyle}@indexcode{textStyle} @propertytype{string}
     Set the text style for superscripts and subscripts.  See above
     for list of text styles.
 
-  @item @code{textScriptPadding}@indexcode{textScriptPadding}  
+  @item @code{textScriptPadding}@indexcode{textScriptPadding}  @propertytype{number}
     Determines the extra space added between superscripted resp.
     subscripted text and the closest staff line or note.
 
-  @item @code{verticalDirection}@indexcode{verticalDirection}  
+  @item @code{verticalDirection}@indexcode{verticalDirection} @propertytype{direction}
     Determines the direction of stems, subscripts, beams, slurs, and
     ties.  Set to @code{\down} to force them down, @code{\up} to force
     them up, or @code{\free} to let LilyPond decide.  This can be used
@@ -287,18 +355,43 @@ the note.
     property.
     
 
-  @item @code{tupletDirection}@indexcode{tupletDirection}  
+  @item @code{tupletDirection}@indexcode{tupletDirection} @propertytype{direction}
     Determines the direction of triplets and other tuplets.  Set to
     @code{\down} to force them below the staff, @code{\up} to force
     them above, or @code{\free} to let LilyPond decide.
 
-  @item @code{tupletVisibility}@indexcode{tupletVisibility}  
-    Determines whether tuplets of notes are labelled.  Setting
-    to 0 shows nothing; setting to 1 shows a number;
-    setting to 2 shows a number and a bracket if there is no
-    beam; setting to 3 shows a number, and if there is no beam
-    it adds a bracket; setting to 4 shows both a number and a
-    bracket unconditionally.
+  @item  @code{tupletBracketVisibility}@indexcode{tupletBracketVisibility} @propertytype{boolean} or @propertytype{symbol}
+  @item @code{tupletNumberVisibility}@indexcode{tupletNumberVisibility} @propertytype{boolean} or @propertytype{symbol}
+
+       These properties the visibility of the tuplet bracket and its
+number respectively. Setting it to false will prevent printing of the
+associated element. Setting the property to 'if-no-beam will make it
+print only if there is no beam associated with this tuplet bracket.
+
+@mudelafile[verbatim]{tuplet.ly}
+
+  @item @code{tupletInvisible}@indexcode{tupletInvisible} @propertytype{boolean}
+
+    If set to true, tuplet bracket creation is switched off
+entirely. This has the same effect as setting both
+@code{tupletNumberVisibility} and @code{tupletBracketVisibility} to
+@code{#f}, but as this does not even create elements, this setting
+uses less memory and time.
+
+
+@item @code{tupletSpannerDuration} @indexcode{tupletSpannerDuration}
+@propertytype{moment}
+
+Normally a tuplet bracket is as wide as the
+@code{\times} expression that gave rise to it. By setting this
+property, you can make brackets last shorter. Example
+
+@mudela[verbatim,fragment]
+\context Voice \times 2/3 {
+  \property Voice.tupletSpannerDuration = #(make-moment 1 4)
+  [c8 c c] [c c c]
+}
+@end mudela
 
 @end table
 
@@ -308,100 +401,97 @@ the note.
 
 @table @samp
  
-  @item @code{barNonAuto}@indexcode{barNonAuto}  
-    If set to 1 then bar lines will not be printed
+  @item @code{barNonAuto}@indexcode{barNonAuto} @propertytype{boolean}
+    If set to true then bar lines will not be printed
     automatically; they must be explicitly created with @code{\bar}
     keywords.  Unlike with the @code{\cadenza} keyword, measures are
     still counted.  Bar generation will resume according to that
     count if this property is set to zero.
 
-  @item @code{barNumberDirection}@indexcode{barNumberDirection}  
+  @item @code{barNumberDirection}@indexcode{barNumberDirection} @propertytype{direction}
     Set to @code{\up} or @code{\down} to put bar numbers above or below
     the staff.
 
-  @item @code{barNumberHangOnClef}@indexcode{barNumberHangOnClef}  
-    Set to 1 to cause bar numbers to appear above or below the
-    clef instead of on the bar line.  This property is deprecated. 
-    Do not use.
-
   @item @code{barNumberScriptPadding}@indexcode{barNumberScriptPadding}  
     Sets extra space between the bar number and the bar it labels.
 
   @item @code{barSize}@indexcode{barSize}  
     Specify the height of the bar lines if it should be different
     than the staff height.
+@mudela[verbatim]
+c1 c1 \property Staff.barSize = 20 c1 c1 
+@end mudela
 
-  @item @code{barAtLineStart}@indexcode{barAtLineStart}  
-    Set to 1 to produce a bar line after the clef at the start
+  @item @code{barAtLineStart}@indexcode{barAtLineStart} @propertytype{boolean}
+    Set to true to produce a bar line after the clef at the start
     of each line (but not at the beginning of the music).
 
-  @item @code{clefStyle}@indexcode{clefStyle}  
+       [BROKEN]
+
+  @item @code{clefStyle}@indexcode{clefStyle} @propertytype{string}
     Determines how clefs are typeset.  If set to @code{transparent},
     the clefs are not printed at all, if set to
     @code{fullSizeChanges}, clef changes in the middle of a line are
     typeset with a full size clef.  By default, clef changes are
     typeset in smaller size.
 
-  @item @code{createKeyOnClefChange}@indexcode{createKeyOnClefChange}  
-    Set to a nonempty string if you want key signatures to be printed
-    when the clef changes.  Set to the empty string if you do not
-    want key signatures printed.
+  @item @code{supportedClefTypes}@indexcode{supportedClefTypes} @propertytype{alist}
 
-  @item @code{createInitdefaultClef}@indexcode{createInitdefaultClef}  
-    Specify whether clefs are created on default?  (Doesn't seem to
-    do anything.)
+       Clef settings supported. The value is an association list clef
+descriptions indexed by clef name (alto, baritone, etc.).  A clef
+description is a list with the glyph name, and the staff position
+where it should go. For internal use.
 
-  @item @code{defaultClef}@indexcode{defaultClef}  
-    Determines the default clef.  See @code{\clef} keyword.
-
-  @item @code{markHangOnClef}@indexcode{markHangOnClef}  
-    Set to 1 to cause marks to appear by clefs instead of by bar
-    lines.  Deprecated, use is not recommended.
+  @item @code{clefPitches}@indexcode{clefPitches} @propertytype{alist}
+    Settings for the position of the central C, relative to this clef
+    symbol.  For internal use.
+   
+  @item @code{defaultClef}@indexcode{defaultClef} @propertytype{string}
+       Clef setting to use when this context is created.  If unset,
+no clef is printed upon creation.
 
-  @item @code{marginDirection}@indexcode{marginDirection}  
+  @item @code{marginDirection}@indexcode{marginDirection} @propertytype{direction}
     Set to @code{\left} or @code{\right} to specify location of
     marginal scripts.
 
   @item @code{marginScriptPadding}@indexcode{marginScriptPadding}  
     Specify extra space for marginal scripts.
 
-  @item @code{forgetAccidentals}@indexcode{forgetAccidentals}  
+  @item @code{forgetAccidentals}@indexcode{forgetAccidentals} @propertytype{boolean}
     Causes accidentals to be printed at every note instead of
     remembered for the duration of a measure.
 
-  @item @code{noResetKey}@indexcode{noResetKey}  
+  @item @code{noResetKey}@indexcode{noResetKey} @propertytype{boolean}
     Do not reset the key at the start of a measure.  Accidentals will
     be printed only once and are in effect until overridden, possibly
     many measures later.
 
-  @item @code{staffLineLeading}@indexcode{staffLineLeading}  
+  @item @code{staffSpace}@indexcode{staffLineLeading}   @propertytype{number}  
     Specifies the distance (in points) between lines of the staff.
 
-  @item @code{numberOfStaffLines}@indexcode{numberOfStaffLines}  
+  @item @code{numberOfStaffLines}@indexcode{numberOfStaffLines} @propertytype{integer}
     Specifies the number of staff lines.  The default is 5.
 
-  @item @code{postBreakPadding}@indexcode{postBreakPadding}  
+  @item @code{postBreakPadding}@indexcode{postBreakPadding}   @propertytype{number}
     Extra space in points to be added after the clef, time signature
     and key signature on the staff.  Deprecated, do not use.
 
-  @item @code{noVoltaBraces}@indexcode{noVoltaBraces}  
+  @item @code{noVoltaBraces}@indexcode{noVoltaBraces} @propertytype{boolean}
     Set to true to suppress the printing of brackets over alternate
     endings specified by the command @code{\alternative}.
 
-  @item @code{numberOfStaffLines}@indexcode{numberOfStaffLines}  
-    Sets the number of lines that the staff has.
  
-  @item @code{barAlways}@indexcode{barAlways}  
-    If set to 1 a bar line is drawn after each note.
+  @item @code{barAlways}@indexcode{barAlways} @propertytype{boolean}
+    If set to true a bar line is drawn after each note.
 
-  @item @code{defaultBarType}@indexcode{defaultBarType}  
+  @item @code{defaultBarType}@indexcode{defaultBarType} @propertytype{string}
     Sets the default type of bar line. See Section XREF-barlines [FIXME] 
     for a list of available bar types.
 
-  @item @code{instrument}, @code{instr}
+  @item @code{instrument}, @code{instr} @propertytype{string}
     @indexcode{instrument}@indexcode{instr}  
-    If @code{Staff_margin_engraver}
-@cindex Staff_margin_engraver
+    If @code{Instrument_name_engraver}
+@cindex Instrument_name_engraver
  is
     added to the Staff translator, then the @code{instrument} property
     is used to label the first line of the staff and the @code{instr}
@@ -409,19 +499,19 @@ the note.
     @code{midiInstrument} property is not set, then @code{instrument}
     is used to determine the instrument for MIDI output.
 
-  @item @code{keyOctaviation}@indexcode{keyOctaviation}  
-    If set to 1, then keys are the same in all octaves.  If set
-    to 0 then the key signature for different octaves can be
+  @item @code{keyOctaviation}@indexcode{keyOctaviation} @propertytype{boolean}
+    If set to false, then keys are the same in all octaves.  If set
+    to true then the key signature for different octaves can be
     different and is specified independently:
 
     @example
       \keysignature bes fis'
     @end example
 
-    The default value is 1.  Can be set to zero with
-    @code{\specialkey} or reset to 1 with @code{\normalkey}.
+    The default value is @code{#f}.  Can be set to @code{#t} with
+    @code{\specialkey} or reset with @code{\normalkey}.
 
-  @item @code{timeSignatureStyle}@indexcode{timeSignatureStyle}  
+  @item @code{timeSignatureStyle}@indexcode{timeSignatureStyle} @propertytype{string}
     Changes the default two-digit layout for time signatures.  The
     following values are recognized:
 
@@ -448,7 +538,7 @@ the note.
     The different time signature characters are shown below with its
     names:
 
-    @mudela[center]
+    @mudela[center,verbatim]
 
       \score {
         \notes\relative c'' {
@@ -485,7 +575,7 @@ the note.
     
 @end mudela
 
-  @item @code{voltaSpannerDuration}@indexcode{voltaSpannerDuration}  
+  @item @code{voltaSpannerDuration}@indexcode{voltaSpannerDuration} @propertytype{moment}
     Set to an integer to control the size of the brackets printed by
     @code{\alternative}.  The integer specifies the number of whole
     notes duration to use for the brackets.  It is rounded to the
@@ -495,27 +585,27 @@ the note.
     the music given in an @code{\alternative}.
 @end table
    
+@subsubheading GrandStaff properties
 
 @cindex properties!GrandStaff
 
 @table @samp 
-  @item @code{alignmentReference}@indexcode{alignmentReference}  
-    Set to @code{\center} for vertical alignment reference point to be
-    in the center of the vertical group.  Set to @code{\up} to put the
-    reference point at the top of the group.
-
-  @item @code{maxVerticalAlign}@indexcode{maxVerticalAlign}  
+  @item @code{maxVerticalAlign}@indexcode{maxVerticalAlign}  @propertytype{number}
     Set the maximum vertical distance between staffs.
 
-  @item @code{minVerticalAlign}@indexcode{minVerticalAlign}  
+  @item @code{minVerticalAlign}@indexcode{minVerticalAlign}  @propertytype{number}
     Set the minimum vertical distance between staffs.  
 @end table
 
+@subsubheading Score properties
 
 @cindex properties!Score
 
+
+
+
 @table @samp
-  @item @code{skipBars}@indexcode{skipBars}  
+  @item @code{skipBars}@indexcode{skipBars} @propertytype{boolean}
     Set to 1 to skip the empty bars that are produced by
     multimeasure notes and rests.  These bars will not appear on the
     printed output.  Set to zero (the default) to expand multimeasure
@@ -531,13 +621,49 @@ r1 r1*3 R1*3\property Score.skipBars=1 r1*3 R1*3
 @end mudela
     @end quotation
 
+@item @code{breakAlignOrder}@indexcode{breakAlignOrder} @propertytype{list of string}
+
+   Defines the order in which prefatory matter (clefs, key signatures) appears, eg. this puts the key signatures after the bar lines:
+@example
+       \property Score.breakAlignOrder = #'(
+         "Span_bar"
+         "Breathing_sign"
+         "Clef_item"
+         "Staff_bar"
+         "Key_item"
+         "Time_signature"
+       )
+@end example
+
+
+@item @code{timing}@indexcode{timing} @propertytype{boolean}
+  Keep administration of measure length, position, bar number, etc?
+Switch off for cadenzas.
+
+@item @code{currentBarNumber}@indexcode{currentBarNumber} @propertytype{integer}
+  Contains the current barnumber. This property is incremented at
+every barline.
+
+@item @code{measurePosition}@indexcode{measurePosition} @propertytype{Moment}
+
+  How much of the current measure (measured in whole notes) have we had?
+
+@item @code{oneBeat}@indexcode{oneBeat} @propertytype{Moment}
+
+  How long does one beat in the current time signature last?
+
+@item @code{measureLength}@indexcode{measureLength} @propertytype{Moment}
+
+  How long does one measure in the current time signature last?
+
 @end table
 
+@subsubheading ChordNamesVoice properties
 
 @cindex properties!ChordNamesVoice
 
 @table @samp
-  @item @code{chordInversion}@indexcode{chordInversion}  
+  @item @code{chordInversion}@indexcode{chordInversion} @propertytype{boolean}
     Determines whether LilyPond should look for chord inversions when
     translating from notes to chord names.  Set to 1 to find
     inversions.  The default is 0 which does not look for