[Top][All Lists]
[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