Re: help to manually fix conversion errors for beatLength from ~2.10 to 2.22.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
Re: help to manually fix conversion errors for beatLength from ~2.10 to 2.22.0
Thank you Jean! Now I have more detail to explore and understand. Ken On Sun, Aug 15, 2021 at 11:27 AM Jean Abou Samra wrote: > > 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
Cadenza -- I'm missing something
Hi. I don't understand why I am seeing the behaviour I have with the snippet below. I would expect to see the section marked "G Phrygian" to have the aes bes and ees marked, but they are not (obviously you are meant to read them from the earlier bar). How can I force them to show? TIA .. mark. %-- \version "2.22" tune = \relative c'' { \mark "C Dorian" \cadenzaOn c,1 d1 ees1 f1 g1 a1 bes1 c1 \bar "||" \break \cadenzaOff \mark "A-flat Lydian" \cadenzaOn aes1 bes1 c1 d1 ees1 f1 g1 aes1 \bar "||" \break \cadenzaOff \mark "G Phrygian" \cadenzaOn g,1 aes1 bes1 c1 d1 ees1 f1 g1 \bar "||" \break \cadenzaOff } \score { << \new Staff \tune >> } %--