Ah, thanks, now I understand! But then, in the manual in Sect. 12.1.2
(Simple substitution functions), in the
custosNote = #(define-music-function (parser location note)
(ly:music?)
example, "note" should better be renamed into "event" or something similar
to avoid misunderstandings, right?
By the way, do we have a generic substitution function that you can pass
an event type and some replacement expression to? Maybe something like
(replace-for-all-matches
#(define-matching-expression (any-music-event-of-type 'NoteEvent))
Music
#(define-replacement-expression
(original-match) (... <an expression in terms of original-match that
is used as replacement for original-match> ...))),
where, in this example, the specified replace function is executed exactly
once for each 'NoteEvent (i.e. the matching expression) in Music (with
the note event passed as "original-match" argument to the replacement
expression) in order to replace the original match by the result of the
replacement expression?
(By the way, please note that I do not explicitly specify here the type of
the matching expression, i.e. the return type of the
any-msuic-event-of-type function. In the most general case, it could be
an attributed music expression subgraph in order to implement a graph
rewriting system. For now, I would be happy, if it would be just
a music event type such as 'NoteEvent, in order to match all events of a
given specific type.)
I guess, such a function would save lots of duplicated code used for
navigating through music expressions, right? Or do we already have such a
function?
Thanks & Greetings,
Juergen
On Fri, 13 Oct 2006, Nicolas Sceaux wrote:
Juergen Reuter <[EMAIL PROTECTED]> writes:
Hi, all!
I would expect the following lily file:
\version "2.9.22"
dottedQuarter =
#(define-music-function (parser location note) (ly:music?)
(make-music
'NoteEvent
'duration (ly:make-duration 2 1)
'pitch (ly:music-property note 'pitch)))
\new Voice \transpose c c' {
f4 f \dottedQuarter f f f
}
to produce the notes:
f4 f4 f4. f4 f4
However, it produces:
f4 f4 c4. f4 f4
That is, the pitch changes from "f" to "c", although I am trying to
copy it from the original note. Is this a bug or am I doing something
wrong?
Are you sure that the note argument as a pitch property? Try:
\displayMusic f4
nicolas
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel