> I could not find a way of representing this construction in Haskore.
> Has anyone devised such a way?
First you have to define what you mean by the "last note" of a Music
value. Is it the last note that starts, or the last note that ends? In
your example it's just the last note of a single-line melody. If that's
all you need, then just write a function lastNote (say) that computes
the start time (relative to the whole phrase) of that note. Then just
do:
let t = lastNote crescendoPhrase
in crescendoPhrase :=: (Rest t :+: slurPhrase)
Note that in Haskore, the literal interpretation of the following two
phrases is the same:
m1 :+: m2
m1 :=: (Rest (dur m1) :+: m2)
-Paul