]> git.donarmstrong.com Git - lilypond.git/blob - scm/translator-properties.scm
release: 1.3.109
[lilypond.git] / scm / translator-properties.scm
1
2 (define all-translation-properties '())
3
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))
8   )
9
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
14 is erased.
15 ")
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.
21
22 @example
23 \property Staff.StaffVerticalExtent = #(-5.0 . 5.0)
24 @end example
25
26  [fixme, naming]")
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.
36
37 Causes accidentals to be printed at every note instead of
38 remembered for the duration of a measure.
39 ")
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.
43
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
46 measures later.
47 ")
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.
52
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}.
59 ")
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.
80 ")
81 (translator-property-description 'autoBeamSettings list? "
82 Specifies when automatically generated beams should begin and end.  The elements have the format:
83
84 @example
85
86    function shortest-duration-in-beam time-signature
87
88 where
89
90     function = begin or end
91     shortest-duration-in-beam = numerator denominator; eg: 1 16
92     time-signature = numerator denominator, eg: 4 4
93
94 unspecified or wildcard entries for duration or time-signature
95 are given by * *
96
97 The user can override beam begin or end time by pushing a wildcard entries
98 '(begin * * * *) or '(end * * * *) resp., eg:
99
100     \property Voice.autoBeamSettings \push #'(end * * * *) = #(make-moment 1 4)
101
102 The head of the list:
103     '(
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))
107      ...
108     )
109
110 @end example")
111 (translator-property-description 'whichBar string? "This property is read to determine what type of barline to create.
112 Example:
113 @example
114 \\property Staff.whichBar = \"|:\"
115 @end example
116 will create a start-repeat bar in this staff only 
117 ")
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:
126
127 @example
128         \\property Score.breakAlignOrder = #'(
129           Span_bar
130           Breathing_sign
131           Clef_item
132           Staff_bar
133           Key_item
134           Time_signature
135         )
136 @end example
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
140     inversions.")
141 (translator-property-description 'drarnChords boolean? "")
142 (translator-property-description 'instrument string? " If @code{Instrument_name_engraver}
143 @cindex Instrument_name_engraver
144  is
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? "")
158         
159 (translator-property-description 'weAreGraceContext boolean? "")
160         
161 (translator-property-description 'melismaEngraverBusy boolean? "")
162         
163 (translator-property-description 'associatedVoice string? "")
164         
165 (translator-property-description 'phrasingPunctuation string? "")
166         
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? "")
173
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
180 squashing.")
181 (translator-property-description 'Generic_property_list list? "description of the conversion.
182
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,
186 deprecated.
187 ")
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) 
192 ")
193
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.
196     
197 ")
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.
206 ")
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.
211     
212 ")
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
216 settings.
217 ")
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.")
225
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.
231 ")
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.
235  ")
236       
237 (translator-property-description 'barAlways boolean? " If set to true a bar line is drawn after each note.
238 ")
239 (translator-property-description 'defaultBarType string? "Sets the default type of bar line.  Available bar types: [FIXME]
240 ")
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
246     preserved.
247
248 @c my @vebatim patch would help...
249 @example
250 @@lilypond[fragment,verbatim,center]
251 r1 r1*3 R1*3\property Score.skipBars=1 r1*3 R1*3
252
253 @@end lilypond
254 @end example
255
256 ")
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?
263 ")
264 (translator-property-description 'currentBarNumber integer? "Contains the current barnumber. This property is incremented at
265 every barline.
266 ")
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
271
272 @example
273 @@lilypond[verbatim,fragment]
274 \context Voice \times 2/3 @{
275   \property Voice.tupletSpannerDuration = #(make-moment 1 4)
276   [c8 c c] [c c c]
277 @}
278 @@end lilypond
279 @end example
280 ")
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.")
287
288
289