]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/user/programming-interface.itely
1ea8480214e0340bfbc5627238502b8998dbccf8
[lilypond.git] / Documentation / es / user / programming-interface.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2 @c This file is part of lilypond.tely
3 @ignore
4     Translation of GIT committish: 4a527608c5ff2ce31e596495d00dce181dc1b9ea
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  See TRANSLATION for details.
8 @end ignore
9
10 @c \version "2.11.61"
11
12 @node Interfaces for programmers
13 @chapter Interfaces for programmers
14
15 Se pueden realizar trucos avanzados mediante el uso de Scheme.  Si no
16 está familizarizado con Scheme, le conviene leer nuestro tutorial de
17 Scheme, @rlearning{Scheme tutorial}.
18
19 @menu
20 * Music functions::
21 * Programmer interfaces::
22 * Building complicated functions::
23 * Markup programmer interface::
24 * Contexts for programmers::
25 * Scheme procedures as properties::
26 * Using Scheme code instead of \tweak::
27 * Difficult tweaks::
28 @end menu
29
30
31 @node Music functions
32 @section Music functions
33
34 Esta sección trata sobre cómo crear funciones musicales dentro de
35 LilyPond.
36
37 @menu
38 * Overview of music functions::
39 * Simple substitution functions::
40 * Paired substitution functions::
41 * Mathematics in functions::
42 * Void functions::
43 * Functions without arguments::
44 * Overview of available music functions::
45 @end menu
46
47 @node Overview of music functions
48 @subsection Overview of music functions
49
50 Es fácil hacer una función que sustituya a una variable en código de
51 LilyPond.  La forma general de estas funciones es:
52
53 @example
54 funcion =
55 #(define-music-function (analizador posicion @var{var1} @var{var2}... )
56                         (@var{var1-type?} @var{var2-type?}...)
57   #@{
58     @emph{...música...}
59   #@})
60 @end example
61
62 @noindent
63 donde
64
65 @multitable @columnfractions .33 .66
66 @item @var{argi}         @tab @var{i}-ésima variable
67 @item @var{argi-type?}   @tab tipo de variable
68 @item @var{...música...}  @tab entrada normal de LilyPond, usando las variables como @code{#$var1}.
69 @end multitable
70
71 Los siguientes tipos de entrada se pueden usar como variables en una
72 función musical.  Esta lista no es exhaustiva; consulte otros lugares
73 de la documentación específica de Scheme para ver otros tipos de
74 variables.
75
76 @multitable @columnfractions .33 .66
77 @headitem Tipo de entrada       @tab notación de @var{argi-type?}
78 @item Entero                    @tab @code{integer?}
79 @item Flotante (número decimal) @tab @code{number?}
80 @item Cadena de texto           @tab @code{string?}
81 @item Marcado                   @tab @code{markup?}
82 @item Expresión musical         @tab @code{ly:music?}
83 @item Pareja de variables          @tab @code{pair?}
84 @end multitable
85
86 Los argumentos @code{analizador} y @code{posicion} son obligatorios, y
87 se usan en ciertas situaciones avanzadas.  El argumento
88 @code{analizador} se usa para acceder al valor de otra variable de
89 LilyPond.  El argumento @code{posicion} se usa para establecer el
90 @q{origen} de la expresión musical que construye la función musical,
91 de forma que en caso de producirse un error de sintaxis LilyPond pueda
92 informar al usuario de un lugar adecuado donde buscar en el archivo de
93 entrada.
94
95
96 @node Simple substitution functions
97 @subsection Simple substitution functions
98
99 @untranslated
100
101
102 @node Paired substitution functions
103 @subsection Paired substitution functions
104
105 @untranslated
106
107
108 @node Mathematics in functions
109 @subsection Mathematics in functions
110
111 @untranslated
112
113
114 @node Void functions
115 @subsection Void functions
116
117 @untranslated
118
119
120 @node Functions without arguments
121 @subsection Functions without arguments
122
123 @untranslated
124
125
126 @node Overview of available music functions
127 @subsection Overview of available music functions
128
129 @untranslated
130
131
132 @include identifiers.tely
133 @node Programmer interfaces
134 @section Programmer interfaces
135
136 @untranslated
137
138
139 @menu
140 * Input variables and Scheme::
141 * Internal music representation::
142 @end menu
143
144 @node Input variables and Scheme
145 @subsection Input variables and Scheme
146
147 @untranslated
148
149
150 @node Internal music representation
151 @subsection Internal music representation
152
153 @untranslated
154
155
156 @node Building complicated functions
157 @section Building complicated functions
158
159 @untranslated
160
161
162 @menu
163 * Displaying music expressions::
164 * Music properties::
165 * Doubling a note with slurs (example)::
166 * Adding articulation to notes (example)::
167 @end menu
168
169 @node Displaying music expressions
170 @subsection Displaying music expressions
171
172 @untranslated
173
174
175 @node Music properties
176 @subsection Music properties
177
178 @untranslated
179
180
181 @node Doubling a note with slurs (example)
182 @subsection Doubling a note with slurs (example)
183
184 @untranslated
185
186
187 @node Adding articulation to notes (example)
188 @subsection Adding articulation to notes (example)
189
190 @untranslated
191
192
193 @node Markup programmer interface
194 @section Markup programmer interface
195
196 @untranslated
197
198
199 @menu
200 * Markup construction in Scheme::
201 * How markups work internally::
202 * New markup command definition::
203 * New markup list command definition::
204 @end menu
205
206 @node Markup construction in Scheme
207 @subsection Markup construction in Scheme
208
209 @untranslated
210
211
212 @node How markups work internally
213 @subsection How markups work internally
214
215 @untranslated
216
217
218 @node New markup command definition
219 @subsection New markup command definition
220
221 @untranslated
222
223
224 @node New markup list command definition
225 @subsection New markup list command definition
226
227 @untranslated
228
229
230 @node Contexts for programmers
231 @section Contexts for programmers
232
233 @untranslated
234
235
236 @menu
237 * Context evaluation::
238 * Running a function on all layout objects::
239 @end menu
240
241 @node Context evaluation
242 @subsection Context evaluation
243
244 @untranslated
245
246
247 @node Running a function on all layout objects
248 @subsection Running a function on all layout objects
249
250 @untranslated
251
252
253 @node Scheme procedures as properties
254 @section Scheme procedures as properties
255
256 @untranslated
257
258
259
260 @node Using Scheme code instead of \tweak
261 @section Using Scheme code instead of @code{\tweak}
262
263 @untranslated
264
265
266 @node Difficult tweaks
267 @section Difficult tweaks
268
269 @untranslated