X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fuser%2Fprogramming-interface.itely;h=0a673932c15c6f4fc1c82676a98cf1c82e8a6732;hb=b1715a6813527390232dccf7b62358d95974704c;hp=0f1c4280e03c35a731abc68791c65120def58481;hpb=224be1cbf4f035b2cf20bd9b080b0da321c1d395;p=lilypond.git diff --git a/Documentation/user/programming-interface.itely b/Documentation/user/programming-interface.itely index 0f1c4280e0..0a673932c1 100644 --- a/Documentation/user/programming-interface.itely +++ b/Documentation/user/programming-interface.itely @@ -83,7 +83,7 @@ of defining @code{\twice}, the example above could also have been written as @example @dots{} -@{ #(ly:export (make-sequential-music newLa)) @} +@{ #(ly:export (make-sequential-music (list newLa))) @} @end example @refbugs @@ -148,9 +148,11 @@ property of @internalsref{RepeatedMusic}, and the alternatives in @node Extending music syntax @subsection Extending music syntax -The syntax of composite music expressions, like -@code{\repeat}, @code{\transpose}, and @code{\context} -follows the general form of +@c TODO: rewrite example. +@c The use of FUNC as example argument is rather confusing. + +The syntax of composite music expressions, like @code{\repeat}, +@code{\transpose}, and @code{\context} follows the general form of @example \@code{keyword} @var{non-music-arguments} @var{music-arguments} @@ -194,7 +196,7 @@ The above Scheme code only defines the functionality. The tag @example applymusic = #(ly:make-music-function (list procedure? ly:music?) - (lambda (location func music) + (lambda (parser location func music) (func music))) @end example @@ -203,7 +205,7 @@ A @code{def-music-function} macro is introduced on top of functions: @example -applymusic = #(def-music-function (location func music) +applymusic = #(def-music-function (parser location func music) (procedure? ly:music?) (func music)) @end example @@ -296,7 +298,7 @@ Other applications of @code{\applymusic} are writing out repeats automatically (@inputfileref{input/@/test,unfold@/-all@/-repeats@/.ly}), saving keystrokes (@inputfileref{input/@/test,music@/-box@/.ly}) and exporting LilyPond input to other formats -(@inputfileref{input/@/test,to@/-xml@/.ly}) +(@inputfileref{input/@/no@/-notation,to@/-xml@/.ly}). @cindex internal storage @cindex @code{\displayMusic} @@ -396,7 +398,7 @@ This function may also be defined as a music function: @lilypond[quote,verbatim,raggedright] withPadding = - #(def-music-function (location padding music) (number? ly:music?) + #(def-music-function (parser location padding music) (number? ly:music?) #{ \override TextScript #'padding = #$padding $music \revert TextScript #'padding #}) @@ -412,11 +414,12 @@ withPadding = @node Markup programmer interface @section Markup programmer interface -@c Please rewrite the second sentence; I don't unѕerstand its meaning. AS -Markups are implemented as special Scheme functions. When applied with as -arguments an output definition (@code{\layout} or @code{\paper}), -and a list of properties and other arguments, produce a Stencil -object. +@c Please rewrite the second sentence; I don't understand its meaning. AS + +Markups are implemented as special Scheme functions. When applied +with as arguments an output definition (@code{\layout} or +@code{\paper}), and a list of properties and other arguments, produce +a Stencil object. @menu * Markup construction in Scheme:: @@ -498,13 +501,9 @@ In a markup like function. The markup expression is stored as @example -(list raise-markup 0.5 (list simple-markup 'latin1 "foo")) +(list raise-markup 0.5 (list simple-markup "foo")) @end example -@noindent -In this case, @code{latin1} is the input encoding, which is set with -the @code{\encoding} command. - When the markup is converted to printable objects (Stencils), the @code{raise-markup} function is called as @@ -516,10 +515,10 @@ When the markup is converted to printable objects (Stencils), the @var{the "foo" markup}) @end example -The @code{raise-markup} first creates the stencil for the @code{foo} -string, and then it raises that Stencil by 0.5 staff space. This is a -rather simple example; more complex examples are in the rest of this -section, and in @file{scm/@/define@/-markup@/-commands@/.scm}. +The @code{raise-markup} function first creates the stencil for the +@code{foo} string, and then it raises that Stencil by 0.5 staff space. +This is a rather simple example; more complex examples are in the rest +of this section, and in @file{scm/@/define@/-markup@/-commands@/.scm}. @node Markup command definition @subsection Markup command definition