[Top][All Lists]

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

Request for comments: Redesign of TimeSignature

From: Han-Wen
Subject: Request for comments: Redesign of TimeSignature
Date: Mon, 20 May 2002 23:17:11 +0200

address@hidden writes:
> From a mensural point of view, lily's handling of meter is currently
> totally broken (both, program logic and fonts).  Therefore, I am

Unfortunately, Lily's main focus is not mensural notation, which makes
this point a little moot. I have one big problem with your proposal,
which is, that I think it is over-engineered.

\time 2/2 nowadays simply is a shortcut for

         \property Staff.timeSignatureFraction = #'(2 . 2)

I don't see how your neat syntax would actually be implemented,
especially wrt Music_iterators: from what I gather from your proposal
is that you want to make the duration relations between different
notes variable. I think that this will lead to a lot of unnecessary
complications (except for mensural stuff, music notation durations are
base 2).  For mensural notation, iterators will have to be made that
read properties for prolatio, maximodus, modus, etc, and change the
timing of events to get the durations correct (Remember that lily
should also do something sensible with polyphonic mensural notation,
even when that is an anachronism). To me, this seems like an
unnecessarily complicated idea.

Why not simply make a scheme function that multiplies the durations
(e.g. like c4*2/3) based on some arguments? Unless you have music that
changes time signature during a piece (do those exist in mensural
notation?), the Scheme route is simpler, more robust, much less
intrusive, and makes a far better chance of getting through the
careful QA of The Benign Dictatorship of Yours Truly.

To give you an idea of syntax,

   \apply #(lambda (m) (mensural-preprocess '((maximodus . 3)
                                              (notation-shift . 1)

As an aside,  I do like your syntax

   \time 4[2:2:...]/4

but for other purposes, eg.

    \time 7[2:2:3]/8
    \time 7[2:3:2]/8


Han-Wen Nienhuys   |   address@hidden   | 

reply via email to

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