lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] coloratio, black mensural notation


From: Benkő Pál
Subject: Re: [PATCH] coloratio, black mensural notation
Date: Tue, 9 Nov 2010 13:28:31 +0100

hi Valentin,

>> the attached patch adds noteheads needed for black mensural notation (BMN)
>> and coloratio in white mensural notation (WMN).
>>
>> note that it's just the noteheads: in both BMN and coloratio sections
>> in WMN a fourth note looks like a flagged half note.
>
> Werner, do you want me to upload this patch on Rietveld (or possibly
> to the bug tracker)?
>
>> I could reach this look by the following functions:
>>
>> #(define (nota-colorata music)
>>  (let (
>>    (es (ly:music-property music 'elements))
>>    (name (ly:music-property music 'name))
>>  )
>>   (if (equal? name 'EventChord)
>>    (let* ((note (first es))
>>           (dur (ly:music-property note 'duration))
>>           (dl (ly:duration-log dur))
>>         )
>>     (if (> dl 1)
>>      (set! music (shift-duration-log
>>                   (ly:music-compress music (ly:make-moment 2 1))
>>                   1 0)))))
>>   music))
>>
>> notaColorata =
>> #(define-music-function (parser location mus) (ly:music?)
>>  (music-map nota-colorata mus))
>>
>> I hope there is a better solution.
>
> I'm not sure exactly what you're trying to achieve (I know nothing
> about mensural notation), but is changing the rhythm a desired
> side-effect? Whenever I want a black note head, I use something much
> simpler (but arguably hackish):
>
> #(define (nota-colorata music)
>  (let ((es (ly:music-property music 'elements))
>   (name (ly:music-property music 'name)) )
>  (if (equal? name 'EventChord)
>   (let* ((note (first es)))
>      (set! (ly:music-property note 'tweaks)
>            (acons 'duration-log 4
>                   (ly:music-property note 'tweaks)))))
>  music))

as in CPP notes shorter than a quarter are created by
attaching flags to a quarter note, in BMN notes shorter
than a half are created by attaching flags to a half note;
look at the table in
http://en.wikipedia.org/wiki/Mensural_notation#Note_values

so a fourth and a half note are not distinguished by note head
look, but by flag count (and all flagged note values have
one more flag than common, i.e. an eighth note has two).
I looked for a method for tweaking
- how many flags are on the stem
- what is the note head (strictly speaking there's no need
  for a separate quarter note head in BMN),
but I didn't found any.
so the purpose of my function is to have a note that lasts
as long as dictated by duration, but looks as if it were just
the half, i.e. turns 4 into 8*2, 8 into 16*2, etc (but leaves
2, 1, \breve etc. intact);
this way alignment of parts and midi output are correct.

thanks,
p



reply via email to

[Prev in Thread] Current Thread [Next in Thread]