Thanks for that hint! I will keep that in mind for future development. I actually use 2.14 for my allday work and create my extensions according to that syntax, because I want to be able to produce sheets day by day without stumbling over suprisingly upcoming changes. I know, I should have a devel (2.15 ... 2.17 ...) on my machine to be prepared for the next release. Paolo's excercise would be solved differently by me: I would use a ly:music? argument and copy and augment that. And I hope, ly:music? arguments will not be broken in future releases ;-)
Cheers, Jan-Peter Am 11.12.2011 um 09:45 schrieb David Kastrup: > Jan-Peter Voigt <jp.vo...@gmx.de> writes: > >> Hi Paolo, >> >> this compiles in 2.14.2 on my machine: >> --snip-- >> \version "2.14.2" >> >> myFunction = #(define-music-function (parser location foobar) (ly:duration?) >> (make-music 'SequentialMusic 'elements (list >> (make-music 'EventChord 'elements (list >> (make-music 'NoteEvent 'duration foobar 'pitch (ly:make-pitch 1 0 0)) >> )) >> )) >> ) >> >> { >> \myFunction #(ly:make-duration 2 0 1 1) r4 >> } > > Yes, it would. Unfortunately, it would not compile with the current > version since the current version does not allow duration arguments to > be specified in anything but duration syntax (along with pitches, they > are one of two currently remaining special-cased argument types). > > I really don't think that it is worth investing work into creating 2.14 > sources if you want to have music functions meddling with durations and > other stuff in easily maintainable ways. > > -- > David Kastrup > > > _______________________________________________ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user