|
From: | Olivier Biot |
Subject: | Re: Expanding bowed arpeggios |
Date: | Sun, 27 Jan 2013 13:34:55 +0100 |
Try something like (planning to commit this macro soonish)
#(defmacro-public make-relative (pitches last-pitch music) [code snipped](make-relative (p1 p2 p3 p4) p1
arpeggiate =
#(define-music-function (parser location d p1 p2 p3 p4)
(ly:duration? ly:pitch? ly:pitch? ly:pitch? ly:pitch?)
"Arpeggiate each of the 4 notes note with a duration of d."
#{#}))
$p1 $d ( $p2 $d $p3 $d $p4 $d )
$p4 $d ( $p3 $d $p2 $d $p1 $d )
This is based on the assumption that you want the next relative pitch be
based on the _first_ note of the arpeggio. If you want it based on the
last instead, write
(make-relative (p1 p2 p3 p4) p4
in the respective line.
> So far I didn't find a way to make my arpeggio expansion work withSorry for taking so long. Designing a "user interface" and actually
> notes in *relative pitch*. My bet is that I need to do some magic on
> "ly:pitch?" to get it to work, but I am clueless since I don't know
> what I should type as search keywords to get that information. Is
> there for example a relative-pitch-to-absolute-pitch checker routine
> that I could use?
coding this was not exactly trivial. Note that arpeggiate will work
fine _both_ when using \relative and when not using it.
[Prev in Thread] | Current Thread | [Next in Thread] |