[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: timing (the 1.7 approach)
From: |
Juergen Reuter |
Subject: |
Re: timing (the 1.7 approach) |
Date: |
Fri, 24 May 2002 14:09:01 +0200 (CEST) |
On Fri, 24 May 2002, Rune Zedeler wrote:
> ...
> The mensural stuff would be solved by allowing this syntax because one
> could simply enter the "real" duration of a note and then let the
> engraver about to decide how to typeset it.
I.e., if I understand correctly, you are in favour of "back-transcribing"
to mensural notation rather than "forward-transcribing" from mensural to
contemporary music. Mmh, I am not sure if that is what users actually
want, since for entering a mensural piece of music, you then would have to
transcribe it in mind, enter the transcribed version, and finally let lily
transcribe it back. Still, I have to admit that my implementation of
mensural ligatures follows exactly this back-transcribing approach for the
sake of consistency with existing syntax in lilypond; that way, I was
able to implement mensural ligatures without any change in mudela.
So, I am a little bit shaky about the whole idea, although I also like
your idea of having syntax like "c12", since it looks mathematically clean
and elegant (though users might have a problem to get adopted to this way
of thinking). By the way, the difference between e.g. c4*1/3 and c3*1/4
for c12 is exactly what time signatures were originally invented for;
they were *not* invented to specify were bar lines should go. In other
words, c12 should suffice in the sense that it contextfreely specifies the
duration of the note; all of the rest such as the grouping in 3 or 4 notes
(similar as engraving beams) should (by default) be derived from the time
signature.
As for mensural music, I also intend to define macros maybe like (here for
a pure binary system [2:2:2:2]):
Mx = \duration #(make-duration -3 0) % Maxima
L = \duration #(make-duration -2 0) % Longa
B = \duration #(make-duration -1 0) % Brevis
S = \duration #(make-duration 0 0) % Semibrevis
M = \duration #(make-duration 1 0) % Minima
Sm = \duration #(make-duration 2 0) % Semiminima
F = \duration #(make-duration 3 0) % Fusa
Sf = \duration #(make-duration 4 0) % Semifusa
(as in ly/declarations-init.ly).
Maybe, as a workaround, the user could define these settings depending on
the actual time signature (I have to think more deeply about this).
Greetings,
Juergen