lilypond-devel
[Top][All Lists]
Advanced

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

Re: Proposed context property renaming


From: Trevor Bača
Subject: Re: Proposed context property renaming
Date: Wed, 11 Dec 2024 13:04:08 -0600

On Tue, Dec 10, 2024 at 7:13 PM Dan Eble <dan@lyric.works> wrote:

>      Current Name                    Proposed New Name
>      ------------------------------  ---------------------------
>      measureLength                   measureLength (no change)
>      minimumPageTurnLength           pageTurnMinimumRestLength
>      minimumRepeatLengthForPageTurn  pageTurnMinimumRepeatLength
>      proportionalNotationDuration    (not sure yet)
>      tupletSpannerDuration           tupletBracketMusicalLength
>      voltaSpannerDuration            voltaBracketMusicalLength
>
> The motivation for moving away from "duration" is that there is an
> internal type called duration and that is not what these use.
>
> There is inconsistency between "length" and "musical length" because it
> sounds unnecessary to specify that "length" is used in the musical sense
> for measure, rest, or repeat, but it seems helpful to specify it for a
> horizontal bracket.
>

Hi,

Perhaps I'm the only one who feels this way, but I wish we would more
carefully distinguish between "duration" as a measure of *time* and
"length" as a measure of *space*. LilyPond deals in a crucial way with both
of these things. Musical events have a duration; they can be measured in
seconds (or fractions of a whole note). The physical dimensions of paper
(and distances between objects on the page) have a length; they can be
measured in centimeters, inches, points and the like.

Thinking this way, proportionalNotationDuration is named correctly, because
what's being set here is a unit of time.

Settings to proportionalNotationDuration used to look like this ...

  \set Score.proportionalNotationDuration = #(ly:make-moment 1/12)

... but were then changed by a convert-ly rule to ...

  \set Score.proportionalNotationDuration = \musicLength 1 * 1/12

... which introduced a discoradancy between "duration" ( on the left-hand
side) and "length" (on the right-hand side). But I think the mismatch here
is \musicLength, rather than proportionalNotationDuration.

Aren't all of the context properties discussed here measuring units of time?

So maybe:

     Current Name                    Proposed New Name
     ------------------------------  ---------------------------
     measureLength                   measureDuration
     minimumPageTurnLength           pageTurnMinimumRestDuration
     minimumRepeatLengthForPageTurn  pageTurnMinimumRepeatDuration
     proportionalNotationDuration    (no change)
     tupletSpannerDuration           (no change)
     voltaSpannerDuration            (no change)
     \musicLength                    \musicDuration or just \duration

Regardless of the names of Lily's underlying (and therefore
user-invisible?) types, these user-facing context properties all measure
time, and not space. I think there might be a real gain in clarity in the
public-facing API if we move to labeling time-based properties with
"duration" and reserve "length" for properties that measure things in
centimeters, inches, staff spaces and the like.

Trevor.

-- 
Trevor Bača
www.trevorbaca.com
soundcloud.com/trevorbaca


reply via email to

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