[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: All but last note
From: |
David Kastrup |
Subject: |
Re: All but last note |
Date: |
Fri, 29 Jan 2016 12:36:10 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) |
Pierre Perol-Schneider <address@hidden> writes:
> Hi List,
>
> I'd like to add glissandi to a group of notes except the last one.
> Here's the function:
>
> glissandi =
> #(define-music-function (parser location music) (ly:music?)
> "Add a glissando to all but last note"
> (let ((all-but-last-note (drop-right (ly:music-property music
> 'elements))))
> (set!
> (ly:music-property all-but-last-note 'articulations)
> (cons (make-music 'GlissandoEvent)
> (ly:music-property all-but-last-note 'articulations)))
> music))
>
> \relative c' {
> \glissandi { c d e f }
> c
> }
>
> It seems that 'drop-right' is not the right procedure. What else should I
> use?
drop-right is fine but you forgot the second argument.
-- Scheme Procedure: drop-right lst i
-- Scheme Procedure: drop-right! lst i
Return the a list containing all but the I last elements of LST.
`drop-right' always returns a new list, even when I is zero.
`drop-right!' may modify the structure of the argument list LST in
order to produce the result.
--
David Kastrup