]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/es/user/programming-interface.itely
Doc-es: Overview of music functions.
[lilypond.git] / Documentation / es / user / programming-interface.itely
index 1e79c98ba75f29c5dc2c805ddac90b0f7e12b7e2..1ea8480214e0340bfbc5627238502b8998dbccf8 100644 (file)
@@ -1,20 +1,20 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 6bcad9cdc487270910758b1ee39cf3c8aee1015e
+    Translation of GIT committish: 4a527608c5ff2ce31e596495d00dce181dc1b9ea
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+@c \version "2.11.61"
 
 @node Interfaces for programmers
 @chapter Interfaces for programmers
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
-
+Se pueden realizar trucos avanzados mediante el uso de Scheme.  Si no
+está familizarizado con Scheme, le conviene leer nuestro tutorial de
+Scheme, @rlearning{Scheme tutorial}.
 
 @menu
 * Music functions::
@@ -23,16 +23,16 @@ UNTRANSLATED NODE: IGNORE ME
 * Markup programmer interface::
 * Contexts for programmers::
 * Scheme procedures as properties::
-* TODO moved into scheme::
+* Using Scheme code instead of \tweak::
+* Difficult tweaks::
 @end menu
 
+
 @node Music functions
 @section Music functions
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
-
+Esta sección trata sobre cómo crear funciones musicales dentro de
+LilyPond.
 
 @menu
 * Overview of music functions::
@@ -47,66 +47,93 @@ UNTRANSLATED NODE: IGNORE ME
 @node Overview of music functions
 @subsection Overview of music functions
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+Es fácil hacer una función que sustituya a una variable en código de
+LilyPond.  La forma general de estas funciones es:
+
+@example
+funcion =
+#(define-music-function (analizador posicion @var{var1} @var{var2}... )
+                        (@var{var1-type?} @var{var2-type?}...)
+  #@{
+    @emph{...música...}
+  #@})
+@end example
+
+@noindent
+donde
+
+@multitable @columnfractions .33 .66
+@item @var{argi}         @tab @var{i}-ésima variable
+@item @var{argi-type?}   @tab tipo de variable
+@item @var{...música...}  @tab entrada normal de LilyPond, usando las variables como @code{#$var1}.
+@end multitable
+
+Los siguientes tipos de entrada se pueden usar como variables en una
+función musical.  Esta lista no es exhaustiva; consulte otros lugares
+de la documentación específica de Scheme para ver otros tipos de
+variables.
+
+@multitable @columnfractions .33 .66
+@headitem Tipo de entrada       @tab notación de @var{argi-type?}
+@item Entero                    @tab @code{integer?}
+@item Flotante (número decimal) @tab @code{number?}
+@item Cadena de texto           @tab @code{string?}
+@item Marcado                   @tab @code{markup?}
+@item Expresión musical         @tab @code{ly:music?}
+@item Pareja de variables          @tab @code{pair?}
+@end multitable
+
+Los argumentos @code{analizador} y @code{posicion} son obligatorios, y
+se usan en ciertas situaciones avanzadas.  El argumento
+@code{analizador} se usa para acceder al valor de otra variable de
+LilyPond.  El argumento @code{posicion} se usa para establecer el
+@q{origen} de la expresión musical que construye la función musical,
+de forma que en caso de producirse un error de sintaxis LilyPond pueda
+informar al usuario de un lugar adecuado donde buscar en el archivo de
+entrada.
 
 
 @node Simple substitution functions
 @subsection Simple substitution functions
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Paired substitution functions
 @subsection Paired substitution functions
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Mathematics in functions
 @subsection Mathematics in functions
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Void functions
 @subsection Void functions
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Functions without arguments
 @subsection Functions without arguments
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Overview of available music functions
 @subsection Overview of available music functions
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @include identifiers.tely
 @node Programmer interfaces
 @section Programmer interfaces
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @menu
@@ -117,25 +144,19 @@ UNTRANSLATED NODE: IGNORE ME
 @node Input variables and Scheme
 @subsection Input variables and Scheme
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Internal music representation
 @subsection Internal music representation
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Building complicated functions
 @section Building complicated functions
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @menu
@@ -148,41 +169,31 @@ UNTRANSLATED NODE: IGNORE ME
 @node Displaying music expressions
 @subsection Displaying music expressions
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Music properties
 @subsection Music properties
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Doubling a note with slurs (example)
 @subsection Doubling a note with slurs (example)
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Adding articulation to notes (example)
 @subsection Adding articulation to notes (example)
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Markup programmer interface
 @section Markup programmer interface
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @menu
@@ -195,41 +206,31 @@ UNTRANSLATED NODE: IGNORE ME
 @node Markup construction in Scheme
 @subsection Markup construction in Scheme
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node How markups work internally
 @subsection How markups work internally
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node New markup command definition
 @subsection New markup command definition
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node New markup list command definition
 @subsection New markup list command definition
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Contexts for programmers
 @section Contexts for programmers
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @menu
@@ -240,55 +241,29 @@ UNTRANSLATED NODE: IGNORE ME
 @node Context evaluation
 @subsection Context evaluation
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Running a function on all layout objects
 @subsection Running a function on all layout objects
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Scheme procedures as properties
 @section Scheme procedures as properties
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
-
+@untranslated
 
-@node TODO moved into scheme
-@section TODO moved into scheme
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
-
-
-@menu
-* Using Scheme code instead of \tweak::
-* Difficult tweaks::
-@end menu
 
 @node Using Scheme code instead of \tweak
-@subsection Using Scheme code instead of @code{\tweak}
+@section Using Scheme code instead of @code{\tweak}
 
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
+@untranslated
 
 
 @node Difficult tweaks
-@subsection Difficult tweaks
-
-@ifhtml
-UNTRANSLATED NODE: IGNORE ME
-@end ifhtml
-
-
+@section Difficult tweaks
 
-@c -- SKELETON FILE --
+@untranslated