[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: help to manually fix conversion errors for beatLength from ~2.10 to
From: |
Jean Abou Samra |
Subject: |
Re: help to manually fix conversion errors for beatLength from ~2.10 to 2.22.0 |
Date: |
Sun, 15 Aug 2021 20:27:06 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
Le 15/08/2021 à 00:36, Kenneth Wolcott a écrit :
Hi;
I recently downloaded the Brahms Horn Trio from Mutopia.
When using Lilypond 2.22.0 convert-ly I encountered only two errors.
Not smart enough to convert beatLength.
Use baseMoment and beatStructure.
cat -n HornMvtIII.lyi | grep beatLength
75 \set Score.beatLength = #(ly:make-moment 3 16)
77 \set Score.beatLength = #(ly:make-moment 3 8)
I've looked in the Notation Reference.
I'm not at all sure how to manually perform the conversion.
Please advise.
Thanks,
Ken Wolcott
In older versions, the beaming inside a measure
was controlled by the beatLength property. Notes
would be beamed in groups of one beatLength each.
For example,
\relative c' {
\time 12/8
\set Score.beatLength = #(ly:make-moment 4 8)
c8 c c c c c c c c c c c
}
would group notes by groups of 4 quarters, just like
\relative c' {
\time 12/8
c8[ c c c] c[ c c c] c[ c c c]
}
whereas
\relative c' {
\time 12/8
\set Score.beatLength = #(ly:make-moment 6 8)
c8 c c c c c c c c c c c
}
was equivalent to
\relative c' {
\time 12/8
c8[ c c c c c] c[ c c c c c]
}
Then came version 2.13.29 and the interface changed.
Now, the groups in a measure need not necessarily have
the same length. The grouping is controlled by beatStructure,
which is a list of numbers indicating the length of
the successive groups in a measure expressed as multiples
of baseMoment. This is so you can do, for example,
\relative c' {
\time 4/4
\set Score.beatStructure = 3,3,2
\set Score.baseMoment = #(ly:make-moment 1/8)
\set Score.beamExceptions = #'()
c8 c c c c c c c
}
(the necessity for the \set Score.beamExceptions = #'() is
explained at
http://lilypond.org/doc/v2.22/Documentation/notation/beams#setting-automatic-beam-behavior
).
The situation you have is summarized by the following snippet:
\version "2.22.1"
\relative c' {
\key ees \major
\time 6/8
e'8[( b c])
%\set Score.beatLength = #(ly:make-moment 3/16)
des8.( c16) f aes |
%\set Score.beatLength = #(ly:make-moment 3/8)
}
The purpose of the \set was to obtain the beaming
of the last 16th notes in a separate group. You
can just do it with explicit beams (most convenient as
it's just one measure in the whole score).
\version "2.22.1"
\relative c' {
\key ees \major
\time 6/8
e'8[( b c])
des8.( c16)[ f aes] |
}
Alternatively, you could use baseMoment and beatStructure
like so:
\relative c' {
\key ees \major
\time 6/8
\set Score.baseMoment = #(ly:make-moment 3 16)
\set Score.beatStructure = 2,1,1
e'8( b c)
des8.( c16) f aes |
% Restore defaults
\set Score.baseMoment = #(ly:make-moment 1 8)
\set Score.beatStructure = 3,3
}
Best,
Jean