Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: Manuela am Dienstag, 17. Mai 2016, 22:38
-
Zugegebenermaßen, ich weiß nicht ganz genau, was ich da tue ;)
Aber es funktioniert
#(define (make-a-list-all-chords-from-music music)
"Return a list of all Chords from @var{music}."
(reverse!
(let loop ((music music) (pitches '()))
(let ((p (music-name music)))
(if (eq? p 'EventChord)
(cons music pitches)
(let ((elt (ly:music-property music 'element)))
(fold loop
(if (ly:music? elt)
(loop elt pitches)
pitches)
(music-elts music))))))))
Allerdings habe ich zufällig bemerkt, dass z.B. markups nicht entfernt werden. Wie könnte ich das ändern?
-
Das lässt sich nicht kompilieren, music-name ist unbekannt, von „es funktioniert“ kann also keine Rede sein. Bitte immer ein kompilierbares Minimalbeispiel mit Versionsangabe! Müsstest du doch inzwischen wissen ;) Und im Falle von Funktionen mit beispielhafter Verwendung.
Und wenn du nicht weißt, was du tust, wärs nett, wenigstens zu sagen, was du tun willst.
-
Sry, ich habe übersehen, dass da eine Menge Definitionen fehlen. :-[