Guide, node Updating translation committishes..
@end ignore
-@c \version "2.19.21"
+@c \version "2.19.24"
@c Translators: Till Paala
Fortgeschrittene Anpassungen können mithilfe der Programmiersprache
Scheme vorgenommen werden. Wenn Sie Scheme nicht kennen, gibt
es eine grundlegende Einleitung in LilyPonds
-@ref{Scheme-Übung}.
+@ref{Scheme-Tutorium}.
@menu
* LilyPond-Codeabschnitte::
Codeabschnitte in LilyPond sehen etwa so aus:
@example
- #@{ @var{Lilypond code} #@}
+ #@{ @var{LilyPond code} #@}
@end example
Sie können überall eingesetzt werden, wo man Scheme-Code schreiben
@example
function =
#(define-scheme-function
- (parser location @var{Arg1} @var{Arg2} @dots{})
+ (@var{Arg1} @var{Arg2} @dots{})
(@var{Typ1?} @var{Typ2?} @dots{})
@var{body})
@end example
und nicht nur eine Funktion für die allgemeine Verwendung schreibt.
Eine Liste der möglichen vordefinierten Typenprädikte findet sich in
-@ruser{Vordefinierte Typenprädikate}.
+@ruser{Vordefinierte Typprädikate}.
@seealso
Notationsreferenz
-@ruser{Vordefinierte Typenprädikate}.
+@ruser{Vordefinierte Typprädikate}.
Installierte Dateien:
@file{lily/music-scheme.cc},
@example
noPointAndClick =
#(define-void-function
- (parser location)
+ ()
()
(ly:set-option 'point-and-click #f))
...
@example
function =
#(define-music-function
- (parser location @var{Arg1} @var{Arg2} @dots{})
+ (@var{Arg1} @var{Arg2} @dots{})
(@var{Typ1?} @var{Typ2?} @dots{})
@var{body})
@end example
@ref{LilyPond-Codeabschnitte}.
Eine Liste der möglichen Typenprädikate findet sich in
-@ruser{Vordefinierte Typenprädikate}.
+@ruser{Vordefinierte Typprädikate}.
@seealso
Notationsreferenz:
-@ruser{Vordefinierte Typenprädikate}.
+@ruser{Vordefinierte Typprädikate}.
Installierte Dateien:
@file{lily/music-scheme.cc},
@example
manualBeam =
#(define-music-function
- (parser location beg-end)
+ (beg-end)
(pair?)
#@{
\once \override Beam.positions = #beg-end
@lilypond[quote,verbatim,ragged-right]
manualBeam =
#(define-music-function
- (parser location beg end)
+ (beg end)
(number? number?)
#{
\once \override Beam.positions = #(cons beg end)
@lilypond[quote,verbatim,ragged-right]
AltOn =
#(define-music-function
- (parser location mag)
+ (mag)
(number?)
#{
\override Stem.length = #(* 7.0 mag)
@lilypond[quote,verbatim,ragged-right]
withAlt =
#(define-music-function
- (parser location mag music)
+ (mag music)
(number? ly:music?)
#{
\override Stem.length = #(* 7.0 mag)
@example
displayBarNum =
#(define-music-function
- (parser location)
+ ()
()
(if (eq? #t (ly:get-option 'display-bar-numbers))
#@{ \once \override Score.BarNumber.break-visibility = ##f #@}
Dynamikbefehle zu schreiben:
@lilypond[quote,verbatim,ragged-right]
-dyn=#(define-event-function (parser location arg) (markup?)
+dyn=#(define-event-function (arg) (markup?)
(make-dynamic-script arg))
\relative { c'\dyn pfsss }
@end lilypond
(set! (ly:grob-property grob 'transparent) #t)))
\relative {
- a'4 e8 <<\applyOutput #'Voice #blanker a c d>> b2
+ a'4 e8 <<\applyOutput Voice #blanker a c d>> b2
}
@end lilypond
Eigenschaften können auch auf eine Scheme-Prozedur gesetzt werden:
-@lilypond[fragment,verbatim,quote,relative=2]
+@lilypond[fragment,verbatim,quote]
\override Stem.thickness = #(lambda (grob)
(if (= UP (ly:grob-property grob 'direction))
2.0
7.0))
-c b a g b a g b
+\relative { c'' b a g b a g b }
@end lilypond
@noindent
(eq? (car (last-pair siblings)) grob))
(ly:grob-set-property! grob 'extra-offset '(-2 . 5)))))
-\relative c'' {
+\relative {
\override Tie.after-line-breaking =
#my-callback
- c1 ~ \break c2 ~ 2
+ c''1 ~ \break c2 ~ 2
}
@end lilypond