]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/translator-property-description.scm
release: 1.3.152
[lilypond.git] / scm / translator-property-description.scm
index 4c5b2199ca013bab0c6cb3e69401558a01d3b386..5900032c1b5ddef1f702180a7ba829b4e06febcf 100644 (file)
@@ -2,6 +2,12 @@
 (define all-translation-properties '())
 
 (define (translator-property-description symbol type? description)
+ (if (not (equal? #f (object-property symbol 'translation-doc)))
+      (begin
+       (ly-warn (string-append "Redefining " (symbol->string symbol) "\n"))
+       (exit 2)
+      ))
+  
   (set-object-property! symbol 'translation-type? type?)
   (set-object-property! symbol 'translation-doc description)
   (set! all-translation-properties (cons symbol all-translation-properties))
 
 
 
-(translator-property-description 'CONTEXTNAMEMinimumVerticalExtent number-pair? "minimum vertical extent, same format as CONTEXTNAMEVerticalExtent [fixme, naming]")
-(translator-property-description 'CONTEXTNAMEVerticalExtent number-pair? "hard coded vertical extent.
+(translator-property-description 'MinimumVerticalExtent number-pair?
+                                "minimum vertical extent, same format as VerticalExtent")
+
+(translator-property-description 'VerticalExtent number-pair?
+                                "hard coded vertical extent.
 The format is a pair of dimensions, for example, this sets the sizes
 of a staff to 10 (5+5) staffspaces high.
 
 @example
-property Staff.StaffVerticalExtent = #(-5.0 . 5.0)
+property Staff.VerticalExtent = #(-5.0 . 5.0)
 @end example
 
- [fixme, naming]")
-(translator-property-description 'CONTEXTNAMExtraVerticalExtent number-pair? "extra vertical extent, same format
-CONTEXTNAMEMinimumVerticalExtent [fixme, naming]")
+VerticalExtent, MinimumVerticalExtent and ExtraVerticalExtent are
+predefined in all relevant contexts to @code{#f}, so they will not
+inherit values.
+
+Note that these VerticalExtents can only operate on vertical groups,
+and therefore only work in contexts which contain an
+@code{Axis_group_engraver}.
+")
+
+(translator-property-description 'ExtraVerticalExtent
+                                number-pair? "extra vertical extent, same format as  MinimumVerticalExtent")
+
 (translator-property-description 'Generic_property_list list? "description of the conversion.
 
 Defines names and types for generic properties. These are properties
@@ -84,6 +102,7 @@ makes bar-checks for polyphonic music easier.")
     count if this property is set to zero.
 ")
 (translator-property-description 'beamMelismaBusy boolean? "Signal if a beam is set when automaticMelismata is set")
+(translator-property-description 'beatLength moment? "The length of one beat in this time signature.")
 (translator-property-description 'breakAlignOrder list? "Defines the order in which
 prefatory matter (clefs, key signatures) appears, eg. this puts the
 key signatures after the bar lines:
@@ -100,14 +119,11 @@ key signatures after the bar lines:
 @end example
 ")
 (translator-property-description 'centralCPosition number? "Place of the central C. Usually determined by looking at clefPosition and clefGlyph.")
-(translator-property-description 'chordInversion 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
-    inversions.")
+(translator-property-description 'changeMoment moment-pair? "duration that voices are examined for differences, when part-combining.  Usually unset or zero when combining threads into one voice, and 1 (or the duration of one measure) when combining voices into one staff.")
+(translator-property-description 'chordChanges boolean? "Only show changes in chords scheme?")
 (translator-property-description 'clefGlyph string? "Name of the symbol within the music font")
 (translator-property-description 'clefOctavation integer? "Add
 this much extra octavation. Values of 7 and -7 are common.")
-(translator-property-description 'clefPitches list? "an alist mapping GLYPHNAME to the position of the central C for that symbol")
 (translator-property-description 'clefPosition number? "Where should the center of the symbol go?")
 (translator-property-description 'combineParts boolean? "try to combine parts?")
 (translator-property-description 'connectArpeggios boolean? " If
@@ -115,17 +131,55 @@ set, connect all arpeggios that are found.  In this way, you can make
 arpeggios that cross staffs.
 ")
 (translator-property-description 'createKeyOnClefChange boolean? "Print a key signature whenever the clef is changed.")
+(translator-property-description 'crescendoText markup? "Text to print at start of non-hairpin crecscendo, ie: @samp{cresc.}")
+(translator-property-description 'crescendoSpanner symbol? "Type of spanner to be used for crescendi.  One of: @samp{hairpin}, @samp{line}, @samp{dashed-line}, @samp{dotted-line}.  If unset, hairpin type is used.")
+(translator-property-description 'decrescendoText markup? "Text to print at start of non-hairpin decrecscendo, ie: @samp{dim.}")
 (translator-property-description 'currentBarNumber integer? "Contains the current barnumber. This property is incremented at
 every barline.
 ")
 (translator-property-description 'currentCommandColumn ly-grob? "Grob that is X-parent to all current breakable (clef, key signature, etc.) items.")
 (translator-property-description 'currentMusicalColumn ly-grob? "Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).")
-(translator-property-description 'defaultBarType string? "Sets the default type of bar line.  Available bar types: [FIXME]
+(translator-property-description 'defaultBarType string? "Sets the default type of bar line.  Available bar types: [FIXME];
+
+This variable is typically read at Score level, so overriding
+Staff.defaultBarType will have no effect.
+
 ")
-(translator-property-description 'drarnChords boolean? "")
+(translator-property-description 'devNullThread symbol? "User control of Thread_devnull_engraver: one of
+@table @samp
+@item (), or unset
+Behave in normal way: remove one set of grobs when in unisolo.
+@item allways:
+Remove any grob that comes along.
+@item never:
+Do nothing.
+@end table
+")
+(translator-property-description 'devNullVoice symbol? "User control of Voice_devnull_engraver: one of
+@table @samp
+@item (), or unset
+Behave in normal way: remove spanners when in unisolo.
+@item allways:
+Remove any spanners that come along.
+@item never:
+Do nothing.
+@end table
+")
+(translator-property-description 'decrescendoSpanner symbol? "Type of spanner to be used for decrescendi.  One of: @samp{hairpin}, @samp{line}, @samp{dashed-line}, @samp{dotted-line}.  If unset, hairpin type is used.")
+
+(translator-property-description 'easyPlay boolean? "Copy note names into note head grob property")
+
 (translator-property-description 'explicitClefVisibility procedure? "visibility-lambda function for clef changes.")
-(translator-property-description 'explicitKeySignatureVisibility procedure? "visibility-lambda function for explicit Key changes.")
-(translator-property-description 'forceClef boolean? "Show clef symbol, even if it hasn't changed.")
+
+(translator-property-description 'explicitKeySignatureVisibility
+procedure? "visibility-lambda function for explicit Key changes;
+\override of #'visibility-lambda will set the visibility for normal
+(ie. at the start of the line) key signatures.")
+
+
+(translator-property-description 'followVoice boolean?
+                                "if set, note heads are tracked  across staff switches by a thin line")
+(translator-property-description 'forceClef boolean? "Show clef symbol, even if it hasn't changed. Only active for the first clef after the property is set, not for the full staff.")
 (translator-property-description 'forgetAccidentals boolean? "do
 not set localKeySignature when a note alterated differently from
 localKeySignature is found.
@@ -144,18 +198,17 @@ remembered for the duration of a measure.
     property is used to label subsequent lines.  If the
     @code{midiInstrument} property is not set, then @code{instrument}
     is used to determine the instrument for MIDI output.")
+
+(translator-property-description 'instrumentEqualizer procedure? "[DOCUMENT-ME]")
+                                
 (translator-property-description 'keyAccidentalOrder list? "
 Alist that defines in what order  alterations should be printed.
 The format is (NAME . ALTER), where NAME is from 0 .. 6 and ALTER from  -1, 1.
 ")
-(translator-property-description 'keyOctaviation boolean? "")
-(translator-property-description 'keySignature list? "The current key signature. This is an alist containing (NAME . ALTER) pairs, where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2 ")
+(translator-property-description 'keySignature list? "The current key signature. This is an alist containing (NAME . ALTER) or ((OCTAVE . NAME) . ALTER) pairs, where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2 ")
 
 (translator-property-description 'localKeySignature list? "the key
-signature at this point in the measure.  The format is an alist with
-entries of the form (NAME . ALTER) 
-or ((OCTAVE . NAME)  . ALTER), 
-where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2" 
+signature at this point in the measure.  The format is the same as for keySignature. "
 ) 
 
 (translator-property-description 'measureLength moment? "Length of one
@@ -168,11 +221,12 @@ the start of the music.
 (translator-property-description 'melismaBusy boolean? "Signifies
 whether a melisma is active. This can be used to signal melismas on
 top of those automatically detected. ")
-(translator-property-description 'melismaEngraverBusy boolean? "See @ref{melismaBusy}. This is set automatically.")
+(translator-property-description 'melismaEngraverBusy boolean? "See @ref{(lilypond)melismaBusy}. This is set automatically.")
 (translator-property-description 'midiInstrument string? "Name of the
 MIDI instrument to use ")
 (translator-property-description 'noAutoBeaming boolean? "If set to true then beams are not generated automatically.
 ")
+(translator-property-description 'noDirection boolean? "Don't set directions by a2-engraver when part-combining.")
 (translator-property-description 'noResetKey boolean? "Do not
 reset local key to the value of keySignature at the start of a measure,
 as determined by measurePosition.
@@ -185,21 +239,16 @@ measures later.
 (translator-property-description 'pedalSustainStrings list? "List of   string to print for sustain-pedal. Format is
  (UP UPDOWN DOWN), where each of the three is the string to print when
 this is done with the pedal.")
-(translator-property-description 'pedalUnaChordaStrings string? "see pedalSustainStrings.")
+(translator-property-description 'pedalUnaCordaStrings string? "see pedalSustainStrings.")
 (translator-property-description 'pedalSostenutoStrings string? "see pedalSustainStrings.")
 
 (translator-property-description 'phrasingPunctuation string? "")
 (translator-property-description 'rehearsalMark number-or-string? "")
 (translator-property-description 'repeatCommands list? "This property is read to find any command of the form (volta . X), where X is a string or #f")
-(translator-property-description 'repeatCommands list? "")
 (translator-property-description 'scriptDefinitions list? "
 Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See @file{scm/script.scm} for more information
 ")
 
-(translator-property-description 'scriptHorizontal boolean? "  Put
-scripts left or right of note heads.  Support for this is limited.
-Accidentals will collide with scripts.
-")
 (translator-property-description 'scriptHorizontal boolean? "  Put
 scripts left or right of note heads.  Support for this is limited.
 Accidentals will collide with scripts.
@@ -221,18 +270,24 @@ r1 r1*3 R1*3  \\\\property Score.skipBars= ##t r1*3 R1*3
 @end example
 
 ")
+(translator-property-description 'skipTypesetting boolean?
+                                "When true, all no typesetting is done at
+this moment, causing  the interpretation phase to go a lot faster. This can
+help with debugging large scores.")
+
 (translator-property-description 'slurBeginAttachment symbol?
 "translates to the car of grob-property 'attachment of NoteColumn. See
-@ref{Grob Slur}.")
-
-(translator-property-description 'slurEndAttachment symbol? "translates to the cdr of grob-property 'attachment of NoteColumn. See @ref{Grob Slur}.")
-(translator-property-description 'slurMelismaBusy boolean? "Signal a slur if automaticMelismata is set")
-(translator-property-description 'solo boolean? "set if solo is detected by the part combiner")
-(translator-property-description 'soloADue boolean? "set Solo/A due texts in the part combiner?")
-(translator-property-description 'soloIIText string? "text for begin of solo for voice ``two'' when part-combining")
-(translator-property-description 'soloText string? "text for begin of solo when part-combining")
+@ref{Slur}.")
+
+(translator-property-description 'slurEndAttachment symbol? "translates to the cdr of grob-property 'attachment of NoteColumn. See @ref{Slur}.")
+(translator-property-description 'slurMelismaBusy boolean? "Signal a slur if automaticMelismata is set.")
+(translator-property-description 'solo boolean? "set if solo is detected by the part combiner.")
+(translator-property-description 'soloADue boolean? "set Solo/A due texts in the part combiner?.")
+(translator-property-description 'soloIIText string? "text for begin of solo for voice ``two'' when part-combining.")
+(translator-property-description 'soloText string? "text for begin of solo when part-combining.")
 (translator-property-description 'sparseTies boolean? "only create one tie per chord.")
-(translator-property-description 'split-interval number-pair? "always split into two voices for contained intervals when part-combining")
+(translator-property-description 'splitInterval number-pair? "part-combiner will separate its two voices (or threads) when interval between the two voices is contained in this range.")
+(translator-property-description 'split-interval boolean? "set if part-combiner separated voices based on splitInterval.")
 (translator-property-description 'squashedPosition integer? " Vertical position of
 squashing for Pitch_squash_engraver.")
 (translator-property-description 'staffsFound list? "list of all staff-symbols found.")
@@ -243,20 +298,24 @@ squashing for Pitch_squash_engraver.")
 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.
-")
-(translator-property-description 'stemRightBeamCount integer? "idem, for the right side")
+.")
+(translator-property-description 'stemRightBeamCount integer? "idem, for the right side.")
 (translator-property-description 'stz string? "Abbreviated form for a stanza, see also Stanza property.")
 (translator-property-description 'textNonEmpty boolean? " If set
 to true then text placed above or below the staff is not assumed to
 have zero width.  @code{\fatText} and @code{\emptyText} are predefined
 settings.
-")
-(translator-property-description 'tieMelismaBusy boolean? "Signal ties when automaticMelismata is set")
+.")
+(translator-property-description 'tieMelismaBusy boolean? "Signal ties when automaticMelismata is set.")
 (translator-property-description 'timeSignatureFraction number-pair? "
 pair of numbers,  signifying the time signature. For example #'(4 . 4) is a 4/4time signature.")
 (translator-property-description 'timing boolean? " Keep administration of measure length, position, bar number, etc?
 Switch off for cadenzas.")
+(translator-property-description 'transposing integer? "Transpose the MIDI output.  Set this property to the number of half-steps to transpose by.")
 (translator-property-description 'tremoloFlags integer? "Number of tremolo flags to add if none is specified.")
+(translator-property-description 'tupletNumberFormatFunction procedure?
+                                "Function taking a music as input, producing a string. This function is called to determine the text to print on a tuplet bracket.")
+
 (translator-property-description 'tupletInvisible boolean? "
     If set to true, tuplet bracket creation is switched off
 entirely. This has the same effect as setting both
@@ -276,14 +335,14 @@ context Voice     imes 2/3 @{
 @}
 @@end lilypond
 @end example
-")
+.")
 (translator-property-description 'unirhythm boolean? "set if unirhythm is detected by the part combiner.")
 (translator-property-description 'unisilence boolean? "set if unisilence is detected by the part combiner.")
-(translator-property-description 'unison boolean? "set if unisono is detected  by the part combiner. ")
+(translator-property-description 'unison boolean? "set if unisono is detected  by the part combiner. .")
 (translator-property-description 'verticalAlignmentChildCallback
 procedure? "what callback to add to children of a vertical alignment.
 It determines what alignment procedure is used on the alignment
-itself.  ")
+itself.  .")
 (translator-property-description 'voltaSpannerDuration moment? "maximum duration of the volta bracket.
 
     Set to a duration to control the size of the brackets printed by
@@ -292,8 +351,8 @@ to use for the brackets.  This can be used to shrink the length of
 brackets in the situation where one alternative is very large.  It may
 have odd effects if the specified duration is longer than the music
 given in an @code{\\alternative}.
-")
-(translator-property-description 'weAreGraceContext boolean? "")
+.")
+(translator-property-description 'weAreGraceContext boolean? ".")
 (translator-property-description 'whichBar string?
                                 "This property is read to determine what type of barline to create.
 
@@ -308,7 +367,7 @@ If not set explicitly (by property or @code{\bar}), this is set
 according to values of @code{defaultBarType}, @code{barAlways},
 @code{barNonAuto} and @code{measurePosition}.
 
-Legal values are described in @ref{(lilypond-internals)bar-line-interface}.
+Valid values are described in @ref{(lilypond-internals)bar-line-interface}.
 
-")
+.")