Hallo zusammen,
ich habe vor, ein Stück, was sehr viele Takte mit dem identischen rhythmischen pattern, aber unterschiedlichen Noten hat, zu setzten und dabei eine Funktion zu verwenden.
Also Pseudo-Code sozusagen:
\pattern{c d}
erzeugt als Noten dann:
c4 d8.
Folgende Funktion würde ich gerne erweitern:
\version "2.20.0"
pattern_one = #(define-music-function
(parser location note)
(ly:pitch?)
(make-relative (note) note
#{
$note 4
#}))
\pattern_one c
Aktuell gebe ich die Note c in die Funktion und bekomme das c als viertel Note zurück. Wie kann ich nun diese Funktion um weitere Variablen erweitern und damit ein komplexeres Muster erzeugen?
Ich vermute, das die alten Hasen das hier in einer Sekunde lösen können, wofür ich einen Tag bräuchte und wäre um Hilfe dankbar.
Viele Grüße
Multimax
https://lsr.di.unimi.it/LSR/Item?id=465
bzw
https://lsr.di.unimi.it/LSR/Item?id=654
mag helfen.
HTH,
Harm
Ich bin schon weitergekommen:
Zitat\version "2.20.0"
pattern_one = #(define-music-function (notea noteb) (ly:pitch? ly:pitch?)
#{
$notea 4 $noteb 8
#})
\pattern_one c d
liefert ein Ergebnis. Allerdings kann ich danach keine Note mehr schreiben:
\pattern_one c d e funktioniert nicht,
\pattern_one {c d} eführt auch zu einem Fehler.
In einer Staffumgebung scheint es zu funktionieren.
\version "2.20.0"
pattern_one = #(define-music-function (notea noteb) (ly:pitch? ly:pitch?)
#{
$notea 4 $noteb 8
#})
\new Staff \relative c'
{
\pattern_one c d e
}
Danke auch Harm, falls ich selbs nicht weiterkomme, guck ich mir die Snippets noch an.