]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/properties.itely
release: 1.3.93
[lilypond.git] / Documentation / user / properties.itely
index 41db30bb4837bb07aee91333ecea2eff41333adc..9d8e5c1bf1c032b24316da1148d6b155c944ac1b 100644 (file)
@@ -7,11 +7,26 @@ property is listed in parentheses after the property name.
  (\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{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
 
@@ -27,28 +42,35 @@ details.  For internal use only.
     dot.
 @end table
 
+@subsubheading Thread properties
 
 @cindex properties!Thread
 
 @table @samp
-  @item @code{noteheadStyle}@indexcode{noteheadStyle} @propertytype{string}
-    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,verbatim]
+  @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 = #'mensural
           a' 
-          \property Voice.noteHeadStyle = ""
+          \property Voice.noteHeadStyle = #'default
           a'
         }
         \paper {
@@ -65,7 +87,7 @@ details.  For internal use only.
 
  
 @table @samp  
-  @item @code{stemStyle}@indexcode{flagStyle} @propertytype{string}
+  @item @code{flagStyle}@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.
@@ -80,7 +102,7 @@ c'8 \property Voice.flagStyle = "grace" c'8
 
 @cindex properties!Voice
 
-@table @samp  
+@table @samp
   @item @code{abbrev}@indexcode{abbrev} @propertytype{integer}
     Set length for tremolo to be used if no length is explicitly
     specified. 
@@ -98,7 +120,7 @@ c'8 \property Voice.flagStyle = "grace" c'8
     directions marked with `@code{^}' or `@code{_}' in the mudela file.
     
   @item @code{noAutoBeaming}@indexcode{beamAuto}  @propertytype{boolean}
-    If set to 1 then beams are not generated automatically.
+    If set to true then beams are not generated automatically.
 
   @item @code{beamAutoEnd}@indexcode{beamAutoEnd}  @propertytype{?}
     Specifies when automatically generated beams can end.  See
@@ -149,7 +171,12 @@ c''16 \property Staff.fontSize = -2 c''16
     automatic collision resolution.  The value is the shift amount
     expressed in @code{note_width}, as set in the paper section.
 
-@mudelafile[verbatim]{force-hshift.sly}
+@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]
@@ -273,7 +300,7 @@ r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
 @end mudela            
 
 @item @code{stemLength}@indexcode{stemLength}  
-    Set length of stems.  Unit is `@code{interline}/2', so
+    Set length of stems.  Unit is `@code{staffspace}/2', so
     @code{stemLength} defaults to 7.
 @mudela[verbatim]
 g''4 \property Voice.stemLength = #14  g4 \property Voice.stemLength = #3 g4  g,,4  
@@ -289,6 +316,9 @@ g''4 \property Voice.stemLength = #14  g4 \property Voice.stemLength = #3 g4  g,
     note.  Overrides automatic beaming.  The value is only used once,
     and then it is erased.
 
+  @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
@@ -338,7 +368,7 @@ 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.
 
-[fixme examples]
+@mudelafile[verbatim]{tuplet.ly}
 
   @item @code{tupletInvisible}@indexcode{tupletInvisible} @propertytype{boolean}
 
@@ -357,7 +387,10 @@ Normally a tuplet bracket is as wide as the
 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] }
+\context Voice \times 2/3 {
+  \property Voice.tupletSpannerDuration = #(make-moment 1 4)
+  [c8 c c] [c c c]
+}
 @end mudela
 
 @end table
@@ -397,11 +430,13 @@ c1 c1 \property Staff.barSize = 20 c1 c1
 
   @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
+    the clefs are not printed at all [FIXME], 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{supportedClefTypes}@indexcode{supportedClefTypes} @propertytype{alist}
 
        Clef settings supported. The value is an association list clef
@@ -457,8 +492,8 @@ no clef is printed upon creation.
 
   @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}
@@ -467,16 +502,16 @@ no clef is printed upon creation.
     is used to determine the instrument for MIDI output.
 
   @item @code{keyOctaviation}@indexcode{keyOctaviation} @propertytype{boolean}
-    If set to TRUE, then keys are the same in all octaves.  If set
-    to FALSE then the key signature for different octaves can be
+    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} @propertytype{string}
     Changes the default two-digit layout for time signatures.  The
@@ -505,7 +540,7 @@ no clef is printed upon creation.
     The different time signature characters are shown below with its
     names:
 
-    @mudela[center,verbatim]
+@mudela[center,verbatim]
 
       \score {
         \notes\relative c'' {
@@ -552,16 +587,11 @@ no clef is printed upon creation.
     the music given in an @code{\alternative}.
 @end table
    
+@subsubheading GrandStaff properties
 
 @cindex properties!GrandStaff
 
 @table @samp 
-  @item @code{alignmentReference}@indexcode{alignmentReference}
-@propertytype{direction}
-    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}  @propertytype{number}
     Set the maximum vertical distance between staffs.
 
@@ -569,9 +599,13 @@ no clef is printed upon creation.
     Set the minimum vertical distance between staffs.  
 @end table
 
+@subsubheading Score properties
 
 @cindex properties!Score
 
+
+
+
 @table @samp
   @item @code{skipBars}@indexcode{skipBars} @propertytype{boolean}
     Set to 1 to skip the empty bars that are produced by
@@ -589,8 +623,44 @@ 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