X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fde%2Fextending%2Fprogramming-interface.itely;h=ba9c3c348db88f7f6295111f88c342e229725f99;hb=77267b700c377fd170abcbf4863728937038eb5e;hp=bf9e8812bac1409ab6b916bf12aaca96694a02ce;hpb=ed435f9fff7977c51be74091036e78674af31d12;p=lilypond.git diff --git a/Documentation/de/extending/programming-interface.itely b/Documentation/de/extending/programming-interface.itely index bf9e8812ba..ba9c3c348d 100644 --- a/Documentation/de/extending/programming-interface.itely +++ b/Documentation/de/extending/programming-interface.itely @@ -1,14 +1,14 @@ -@c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*- @ignore - Translation of GIT committish: 32b9cd030a1917570346e9b9ea267fe409156b2f + Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' Guide, node Updating translation committishes.. @end ignore -@c \version "2.15.18" +@c \version "2.19.24" @c Translators: Till Paala @@ -19,7 +19,7 @@ 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:: @@ -41,7 +41,7 @@ es eine grundlegende Einleitung in LilyPonds 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 @@ -95,7 +95,7 @@ Die übliche Form zur Definition von Scheme-Funktionen ist: @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 @@ -183,12 +183,12 @@ vermeiden sollte, wenn man eine bestimmmte Verwendung beabsichtigt 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}, @@ -261,7 +261,7 @@ Prädikat @code{void?} erfüllt) wiedergegeben wird. @example noPointAndClick = #(define-void-function - (parser location) + () () (ly:set-option 'point-and-click #f)) ... @@ -311,7 +311,7 @@ Die allgemeine Form zur Definition musikalischer Funktionen ist: @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 @@ -322,12 +322,12 @@ In der Mehrzahl der Fälle ist @var{body} ein LilyPond-Codeabschnitt (siehe @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}, @@ -403,10 +403,10 @@ mit der Variable @code{pair?} weitergeleitet werden: @example manualBeam = #(define-music-function - (parser location beg-end) + (beg-end) (pair?) #@{ - \once \override Beam #'positions = #beg-end + \once \override Beam.positions = #beg-end #@}) \relative c' @{ @@ -422,10 +422,10 @@ augenommen werden: @lilypond[quote,verbatim,ragged-right] manualBeam = #(define-music-function - (parser location beg end) + (beg end) (number? number?) #{ - \once \override Beam #'positions = #(cons beg end) + \once \override Beam.positions = #(cons beg end) #}) \relative c' { @@ -444,21 +444,21 @@ auch Scheme-Programmcode enthalten: @lilypond[quote,verbatim,ragged-right] AltOn = #(define-music-function - (parser location mag) + (mag) (number?) #{ - \override Stem #'length = #(* 7.0 mag) - \override NoteHead #'font-size = + \override Stem.length = #(* 7.0 mag) + \override NoteHead.font-size = #(inexact->exact (* (/ 6.0 (log 2.0)) (log mag))) #}) AltOff = { - \revert Stem #'length - \revert NoteHead #'font-size + \revert Stem.length + \revert NoteHead.font-size } -\relative c' { - c2 \AltOn #0.5 c4 c +\relative { + c'2 \AltOn #0.5 c4 c \AltOn #1.5 c c \AltOff c2 } @end lilypond @@ -470,19 +470,19 @@ zu integrieren: @lilypond[quote,verbatim,ragged-right] withAlt = #(define-music-function - (parser location mag music) + (mag music) (number? ly:music?) #{ - \override Stem #'length = #(* 7.0 mag) - \override NoteHead #'font-size = + \override Stem.length = #(* 7.0 mag) + \override NoteHead.font-size = #(inexact->exact (* (/ 6.0 (log 2.0)) (log mag))) - $music - \revert Stem #'length - \revert NoteHead #'font-size + #music + \revert Stem.length + \revert NoteHead.font-size #}) -\relative c' { - c2 \withAlt #0.5 { c4 c } +\relative { + c'2 \withAlt #0.5 { c4 c } \withAlt #1.5 { c c } c2 } @end lilypond @@ -505,10 +505,10 @@ musikalische Funktion ohne Argumente zu erstellen: @example displayBarNum = #(define-music-function - (parser location) + () () (if (eq? #t (ly:get-option 'display-bar-numbers)) - #@{ \once \override Score.BarNumber #'break-visibility = ##f #@} + #@{ \once \override Score.BarNumber.break-visibility = ##f #@} #@{#@})) @end example @@ -552,9 +552,9 @@ angehängt, wie @code{c'\pp}. Das Folgende ist eine Möglichkeit, beliebige 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' { c\dyn pfsss } +\relative { c'\dyn pfsss } @end lilypond Man kann das Gleiche auch mit einer musikalischen Funktion erreichen, aber dann @@ -848,7 +848,7 @@ ein Argument annimmt (den Text). Er zeichnet zwei Kästen mit genügend Abstand "Draw a double box around text." (interpret-markup layout props #@{\markup \override #'(box-padding . 0.4) \box - \override #'(box-padding . 0.6) \box @{ $text @}#@})) + \override #'(box-padding . 0.6) \box @{ #text @}#@})) @end lisp oder äquivalent @@ -896,7 +896,7 @@ so definiert: (interpret-markup layout props #@{\markup \override #`(box-padding . ,inter-box-padding) \box \override #`(box-padding . ,box-padding) \box - @{ $text @} #@})) + @{ #text @} #@})) @end lisp Wiederum wäre die entsprechende Version mit dem @code{markup}-Makro @@ -933,7 +933,7 @@ der Kästen kann angepasst werden: (interpret-markup layout props #{\markup \override #`(box-padding . ,inter-box-padding) \box \override #`(box-padding . ,box-padding) \box - { $text } #})) + { #text } #})) \markup \double-box A \markup \override #'(inter-box-padding . 0.8) \double-box A @@ -1050,7 +1050,7 @@ denen die erste Zeile eingerückt ist. Der Einzug wird aus dem #(define-markup-list-command (paragraph layout props args) (markup-list?) #:properties ((par-indent 2)) (interpret-markup-list layout props - #@{\markuplist \justified-lines @{ \hspace #par-indent $args @} #@})) + #@{\markuplist \justified-lines @{ \hspace #par-indent #args @} #@})) @end example Die Version nur in Scheme ist etwas komplexer: @@ -1187,8 +1187,8 @@ werden kann; sie macht Notenköpfe auf und neben der Mittellinie unsichtbar: (< (abs (ly:grob-property grob 'staff-position)) 2)) (set! (ly:grob-property grob 'transparent) #t))) -\relative c' { - a'4 e8 <<\applyOutput #'Voice #blanker a c d>> b2 +\relative { + a'4 e8 <<\applyOutput Voice #blanker a c d>> b2 } @end lilypond @@ -1201,17 +1201,17 @@ Eigenschaften (wie Dicke (@code{thickness}), Richtung (@code{direction}) usw.) können mit @code{\override} auf feste Werte gesetzt werden, etwa: @example -\override Stem #'thickness = #2.0 +\override Stem.thickness = #2.0 @end example Eigenschaften können auch auf eine Scheme-Prozedur gesetzt werden: -@lilypond[fragment,verbatim,quote,relative=2] -\override Stem #'thickness = #(lambda (grob) +@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 @@ -1286,7 +1286,7 @@ mein-callback = #(lambda (grob) TODO: das Beispiel für diesen Abschnitt ist nicht gut gewähtl: @example -F = -\tweak #'font-size #-3 -\flageolet +F = -\tweak font-size #-3 -\flageolet @end example (beachte @samp{-}, was ein Nachereignis anzeigt) funktioniert für den geschilderten Zweck sehr gut. Aber bis der Abschnitt @@ -1298,10 +1298,10 @@ syntaktische Inflexibilität. Folgender Code beispielsweise ergibt einen Syntaxfehler: @example -F = \tweak #'font-size #-3 -\flageolet +F = \tweak font-size #-3 -\flageolet -\relative c'' @{ - c4^\F c4_\F +\relative @{ + c''4^\F c4_\F @} @end example @@ -1319,8 +1319,8 @@ F = #(let ((m (make-music 'ArticulationEvent (ly:music-property m 'tweaks))) m) -\relative c'' @{ - c4^\F c4_\F +\relative @{ + c''4^\F c4_\F @} @end example @@ -1396,10 +1396,10 @@ neu ausgerichtet wird. (eq? (car (last-pair siblings)) grob)) (ly:grob-set-property! grob 'extra-offset '(-2 . 5))))) -\relative c'' { - \override Tie #'after-line-breaking = +\relative { + \override Tie.after-line-breaking = #my-callback - c1 ~ \break c2 ~ c + c''1 ~ \break c2 ~ 2 } @end lilypond @@ -1420,7 +1420,7 @@ und @code{PaperColumn}. Sie können mit der @example \overrideProperty -#"Score.NonMusicalPaperColumn" % Grob-Bezeichnung +Score.NonMusicalPaperColumn % Grob-Bezeichnung #'line-break-system-details % Eigenschaftsbezeichnung #'((next-padding . 20)) % Wert @end example