2 (define all-translation-properties '())
4 (define (translator-property-description symbol type? description)
5 (set-object-property! symbol 'translation-type? type?)
6 (set-object-property! symbol 'translation-doc description)
7 (set! all-translation-properties (cons symbol all-translation-properties))
10 (translator-property-description 'tremoloFlags integer? "")
11 (translator-property-description 'stemLeftBeamCount integer? "
12 Specify the number of beams to draw on the left side of the next note.
13 Overrides automatic beaming. The value is only used once, and then it
16 (translator-property-description 'stemRightBeamCount integer? "idem, for the right side")
17 (translator-property-description
18 'CONTEXTNAMEVerticalExtent number-pair? "hard coded vertical extent.
19 The format is a pair of dimensions, for example, this sets the sizes
20 of a staff to 10 (5+5) staffspaces high.
23 \property Staff.StaffVerticalExtent = #(-5.0 . 5.0)
27 (translator-property-description 'CONTEXTNAMEMinimumVerticalExtent number-pair?
28 "minimum vertical extent, same format as CONTEXTNAMEVerticalExtent [fixme, naming]")
29 (translator-property-description 'CONTEXTNAMExtraVerticalExtent number-pair?
30 "extra vertical extent, same format
31 CONTEXTNAMEMinimumVerticalExtent [fixme, naming]")
32 (translator-property-description 'localKeySignature list? "the key signature at this point in the measure")
33 (translator-property-description 'forgetAccidentals boolean? "do
34 not set localKeySignature when a note alterated differently from
35 localKeySignature is found.
37 Causes accidentals to be printed at every note instead of
38 remembered for the duration of a measure.
40 (translator-property-description 'noResetKey boolean? "Do not
41 reset local key to the value of keySignature at the start of a measure,
42 as determined by measurePosition.
44 Do not reset the key at the start of a measure. Accidentals will be
45 printed only once and are in effect until overridden, possibly many
48 (translator-property-description 'repeatCommands list?
49 "This property is read to find any command of the form (volta . X), where X is a string or #f")
50 (translator-property-description 'voltaSpannerDuration moment?
51 "maximum duration of the volta bracket.
53 Set to a duration to control the size of the brackets printed by
54 @code{\alternative}. It specifies the number of whole notes duration
55 to use for the brackets. This can be used to shrink the length of
56 brackets in the situation where one alternative is very large. It may
57 have odd effects if the specified duration is longer than the music
58 given in an @code{\alternative}.
60 (translator-property-description 'clefPosition number? "Where should the center of the symbol go?")
61 (translator-property-description 'clefGlyph string? "Name of the symbol within the music font")
62 (translator-property-description 'centralCPosition number? "Place of the central C. Usually determined by looking at clefPosition and clefGlyph.")
63 (translator-property-description 'clefOctavation integer? "Add
64 this much extra octavation. Values of 7 and -7 are common.")
65 (translator-property-description 'explicitClefVisibility procedure? "visibility-lambda function for clef changes.")
66 (translator-property-description 'clefPitches list? "an alist mapping GLYPHNAME to the position of the central C for that symbol")
67 (translator-property-description 'combineParts boolean? "try to combine parts?")
68 (translator-property-description 'soloADue boolean? "set Solo/A due texts?")
69 (translator-property-description 'soloText string? "text for begin of solo")
70 (translator-property-description 'soloIIText string? "text for begin of solo for voice ``two''")
71 (translator-property-description 'aDueText string? "text for begin of a due")
72 (translator-property-description 'split-interval number-pair? "always split into two voices for contained intervals")
73 (translator-property-description 'unison boolean? "set if unisono is detected ")
74 (translator-property-description 'solo boolean? "set if solo is detected")
75 (translator-property-description 'unisilence boolean? "set if unisilence is detected")
76 (translator-property-description 'unirhythm boolean? "set if unirhythm is detected")
77 (translator-property-description 'graceAlignPosition dir? "put the grace note before or after the main note?")
78 (translator-property-description 'graceAccidentalSpace number? "amount space to alot for an accidental")
79 (translator-property-description 'noAutoBeaming boolean? " If set to true then beams are not generated automatically.
81 (translator-property-description 'autoBeamSettings list? "
82 Specifies when automatically generated beams should begin and end. The elements have the format:
86 function shortest-duration-in-beam time-signature
90 function = begin or end
91 shortest-duration-in-beam = numerator denominator; eg: 1 16
92 time-signature = numerator denominator, eg: 4 4
94 unspecified or wildcard entries for duration or time-signature
97 The user can override beam begin or end time by pushing a wildcard entries
98 '(begin * * * *) or '(end * * * *) resp., eg:
100 \property Voice.autoBeamSettings \push #'(end * * * *) = #(make-moment 1 4)
102 The head of the list:
104 ((end * * 3 2) . ,(make-moment 1 2))
105 ((end 1 16 3 2) . ,(make-moment 1 4))
106 ((end 1 32 3 2) . ,(make-moment 1 8))
111 (translator-property-description 'whichBar string? "This property is read to determine what type of barline to create.
114 \\property Staff.whichBar = \"|:\"
116 will create a start-repeat bar in this staff only
118 (translator-property-description 'staffsFound list? "list of all staff-symbols found.")
119 (translator-property-description 'currentBarNumber integer? "this is read to determine
120 the number to put on the bar ")
121 (translator-property-description 'beamMelismaBusy boolean? "Signal if a beam is set when automaticMelismata is set")
122 (translator-property-description 'breakAlignOrder list?
123 "Defines the order in which
124 prefatory matter (clefs, key signatures) appears, eg. this puts the
125 key signatures after the bar lines:
128 \\property Score.breakAlignOrder = #'(
137 ") (translator-property-description 'chordInversion boolean? " Determines whether LilyPond should look for chord inversions when
138 translating from notes to chord names. Set to 1 to find
139 inversions. The default is 0 which does not look for
141 (translator-property-description 'drarnChords boolean? "")
142 (translator-property-description 'instrument string? " If @code{Instrument_name_engraver}
143 @cindex Instrument_name_engraver
145 added to the Staff translator, then the @code{instrument} property
146 is used to label the first line of the staff and the @code{instr}
147 property is used to label subsequent lines. If the
148 @code{midiInstrument} property is not set, then @code{instrument}
149 is used to determine the instrument for MIDI output.")
150 (translator-property-description 'instr string? "see @code{instrument}")
151 (translator-property-description 'keySignature list? "")
152 (translator-property-description 'keyOctaviation boolean? "")
153 (translator-property-description 'explicitKeySignatureVisibility procedure? "")
154 (translator-property-description 'createKeyOnClefChange boolean? "")
155 (translator-property-description 'keyAccidentalOrder list? "")
156 (translator-property-description 'keySignature list? "")
157 (translator-property-description 'automaticPhrasing boolean? "")
159 (translator-property-description 'weAreGraceContext boolean? "")
161 (translator-property-description 'melismaEngraverBusy boolean? "")
163 (translator-property-description 'associatedVoice string? "")
165 (translator-property-description 'phrasingPunctuation string? "")
167 (translator-property-description 'rehearsalMark number-or-string? "")
168 (translator-property-description 'staffsFound list? "")
169 (translator-property-description 'melismaBusy boolean? "")
170 (translator-property-description 'slurMelismaBusy boolean? "")
171 (translator-property-description 'tieMelismaBusy boolean? "")
172 (translator-property-description 'beamMelismaBusy boolean? "")
174 (translator-property-description 'startSustain string? "")
175 (translator-property-description 'stopSustain string? "")
176 (translator-property-description 'stopStartSustain string? "")
177 (translator-property-description 'startUnaChorda string? "")
178 (translator-property-description 'stopUnaChorda string? "")
179 (translator-property-description 'squashedPosition integer? " Vertical position of
181 (translator-property-description 'Generic_property_list list? "description of the conversion.
183 Defines names and types for generic properties. These are properties
184 than can be plugged into the backend directly. See the init file
185 @file{generic-property.scm} for details. For internal use only,
188 (translator-property-description 'repeatCommands list? "")
189 (translator-property-description 'whichBar string? "")
190 (translator-property-description 'scriptDefinitions list? "
191 Description of scripts to use. (fixme)
194 (translator-property-description 'scriptHorizontal boolean? " Put scripts left or right of note heads. Support for this is
195 limited. Accidentals will collide with scripts.
198 (translator-property-description 'currentMusicalColumn ly-grob? "")
199 (translator-property-description 'currentCommandColumn ly-grob? "")
200 (translator-property-description 'slurBeginAttachment symbol? "translates to the car of Slur.element-property 'attachment.")
201 (translator-property-description 'slurEndAttachment symbol? "translates to the cdr of Slur.element-property 'attachment.")
202 (translator-property-description 'slurMelismaBusy boolean? "Signal a slur if automaticMelismata is set")
203 (translator-property-description 'connectArpeggios boolean? " If
204 set, connect all arpeggios that are found. In this way, you can make
205 arpeggios that cross staffs.
207 (translator-property-description 'stz string? "")
208 (translator-property-description 'stanza string? "Stanza `number' to print at start of a verse")
209 (translator-property-description 'scriptHorizontal boolean? " Put scripts left or right of note heads. Support for this is
210 limited. Accidentals will collide with scripts.
213 (translator-property-description 'textNonEmpty boolean? " If set
214 to true then text placed above or below the staff is not assumed to
215 have zero width. @code{fatText} and @code{emptyText} are predefined
218 (translator-property-description 'sparseTies boolean? "only create one tie per chord.")
219 (translator-property-description 'tieMelismaBusy boolean? "Signal ties when automaticMelismata is set")
220 (translator-property-description 'timeSignatureFraction number-pair? "
221 pair of numbers, signifying the time signature. For example #'(4 . 4) is a 4/4time signature.")
222 (translator-property-description 'barCheckNoSynchronize boolean?
223 "If set, don't reset measurePosition when finding a bbarcheck. This
224 makes bar-checks for polyphonic music easier.")
226 (translator-property-description 'barNonAuto boolean? " If set to true then bar lines will not be printed
227 automatically; they must be explicitly created with @code{\bar}
228 keywords. Unlike with the @code{\cadenza} keyword, measures are
229 still counted. Bar generation will resume according to that
230 count if this property is set to zero.
232 (translator-property-description 'whichBar string? "if not set
233 explicitly (by \property or \bar), this is set according to values of
234 defaultBarType, barAlways, barNonAuto and measurePosition.
237 (translator-property-description 'barAlways boolean? " If set to true a bar line is drawn after each note.
239 (translator-property-description 'defaultBarType string? "Sets the default type of bar line. Available bar types: [FIXME]
241 (translator-property-description 'skipBars boolean? " Set to true to skip the empty bars that are produced by
242 multimeasure notes and rests. These bars will not appear on the
243 printed output. If not set (the default) multimeasure
244 notes and rests expand into their full length, printing the appropriate
245 number of empty bars so that synchronization with other voices is
248 @c my @vebatim patch would help...
250 @@lilypond[fragment,verbatim,center]
251 r1 r1*3 R1*3\property Score.skipBars=1 r1*3 R1*3
257 (translator-property-description 'timing boolean? " Keep administration of measure length, position, bar number, etc?
258 Switch off for cadenzas.")
259 (translator-property-description 'oneBeat moment? " How long does one beat in the current time signature last?")
260 (translator-property-description 'measureLength moment? " How long does one measure in the current time signature last?")
261 (translator-property-description 'measurePosition moment? "
262 How much of the current measure (measured in whole notes) have we had?
264 (translator-property-description 'currentBarNumber integer? "Contains the current barnumber. This property is incremented at
267 (translator-property-description 'tupletSpannerDuration moment? "
268 Normally a tuplet bracket is as wide as the
269 @code{\times} expression that gave rise to it. By setting this
270 property, you can make brackets last shorter. Example
273 @@lilypond[verbatim,fragment]
274 \context Voice \times 2/3 @{
275 \property Voice.tupletSpannerDuration = #(make-moment 1 4)
281 (translator-property-description 'tupletInvisible boolean? "
282 If set to true, tuplet bracket creation is switched off
283 entirely. This has the same effect as setting both
284 @code{tupletNumberVisibility} and @code{tupletBracketVisibility} to
285 @code{#f}, but as this does not even create elements, this setting
286 uses less memory and time.")