lilypond-auto
[Top][All Lists]
Advanced

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

[Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] #5397 Doc: NR


From: Auto mailings of changes to Lily Issues via Testlilyissues-auto
Subject: [Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] #5397 Doc: NR - Measure_grouping_engraver needs beatStructure and baseMoment set as well to work as expected
Date: Wed, 08 Aug 2018 07:33:18 -0000

From Harm:

Hi James,

If I understand correctly:

In general the time-signature says about a measure:
how many beats are present and how long are those beats.
P.e. in 3/8 there are 3 beats, each a 8th note long

In LilyPond we add a structure (beatStructure) to those beats (baseMoment),
reflecting the most common accents and determine the auto-beaming.
p.e. 9/8 is structered as three groups of three 8th-notes.
For beamings not according to beatStructure we set beamExceptions,
p.e. for 3/8

Now, MeasureGrouping may annotate groups of beats, if groups are defined by
beatStructure, see 9/8. Single beats will not cause any MeasureGrouping,
see 3/8.

Here some test-code:

displaySomeContextPoperties =
\context Timing
\applyContext
   #(lambda (ctx)
     (newline)
     (format #t
       "timeSignatureFraction: ~a\n\tbeatStructure: ~a\n\tbaseMoment: ~a
       \tbeamExceptions: ~a\n"
       (ly:context-property ctx 'timeSignatureFraction)
       (ly:context-property ctx 'beatStructure)
       (ly:context-property ctx 'baseMoment)
       (ly:context-property ctx 'beamExceptions)))

\new Staff \with { \consists "Measure_grouping_engraver" }
{
   \time 3/8 \displaySomeContextPoperties \repeat unfold 3 { a'8 }
   \time 4/8 \displaySomeContextPoperties \repeat unfold 4 { a'8 }
   \time 5/8 \displaySomeContextPoperties \repeat unfold 5 { a'8 }
   \time 6/8 \displaySomeContextPoperties \repeat unfold 6 { a'8 }
   \time 7/8 \displaySomeContextPoperties \repeat unfold 7 { a'8 }
   \time 8/8 \displaySomeContextPoperties \repeat unfold 8 { a'8 }
   \time 9/8 \displaySomeContextPoperties \repeat unfold 9 { a'8 }
   \time 1/4 \displaySomeContextPoperties \repeat unfold 2 { a'8 }
   \time 2/4 \displaySomeContextPoperties \repeat unfold 4 { a'8 }
   \time 3/4 \displaySomeContextPoperties \repeat unfold 6 { a'8 }
   \time 4/4 \displaySomeContextPoperties \repeat unfold 8 { a'8 }
}

Terminal-output:
timeSignatureFraction: (3 . 8)
     beatStructure: (1 1 1)
     baseMoment: #<Mom 1/8>
           beamExceptions: ((end (1/8 3)))

timeSignatureFraction: (4 . 8)
     beatStructure: (2 2)
     baseMoment: #<Mom 1/8>
           beamExceptions: ()

timeSignatureFraction: (5 . 8)
     beatStructure: (3 2)
     baseMoment: #<Mom 1/8>
           beamExceptions: ()

timeSignatureFraction: (6 . 8)
     beatStructure: (3 3)
     baseMoment: #<Mom 1/8>
           beamExceptions: ()

timeSignatureFraction: (7 . 8)
     beatStructure: (1 1 1 1 1 1 1)
     baseMoment: #<Mom 1/8>
           beamExceptions: ()

timeSignatureFraction: (8 . 8)
     beatStructure: (3 3 2)
     baseMoment: #<Mom 1/8>
           beamExceptions: ()

timeSignatureFraction: (9 . 8)
     beatStructure: (3 3 3)
     baseMoment: #<Mom 1/8>
           beamExceptions: ()

timeSignatureFraction: (1 . 4)
     beatStructure: (1)
     baseMoment: #<Mom 1/4>
           beamExceptions: ()
[
timeSignatureFraction: (2 . 4)
     beatStructure: (1 1)
     baseMoment: #<Mom 1/4>
           beamExceptions: ()

timeSignatureFraction: (3 . 4)
     beatStructure: (1 1 1)
     baseMoment: #<Mom 1/4>
           beamExceptions: ((end (1/8 6) (1/12 3 3 3)))

timeSignatureFraction: (4 . 4)
     beatStructure: (1 1 1 1)
     baseMoment: #<Mom 1/4>
           beamExceptions: ((end (1/8 4 4) (1/12 3 3 3 3)))

So, MeasureGrouping does not happen for time-signatures where the
beatStructure is a list of single beats, like 3/8 or 7/8 or 3/4 etc.
At least not per default. One can try playing with beatStructure and probably
baseMoment to get MeasureGrouping, though.

See:

\new Staff \with { \consists "Measure_grouping_engraver" }
{
   \time 3/8
   a'8 8 8
   \set Timing.beatStructure = #'(3)
   8 8 8
}

Changing beatStructure and probably baseMoment ofcourse affects
auto-beaming.
We explain this already elsewhere, but probably we'll should mention
it in the section for
MeasureGrouping as well.

HTH,
Harm


[issues:#5397] Doc: NR - Measure_grouping_engraver needs beatStructure and baseMoment set as well to work as expected

Status: New
Created: Sun Aug 05, 2018 07:37 AM UTC by pkx166h
Last Updated: Sun Aug 05, 2018 11:13 AM UTC
Owner: nobody

Hi,

while playing with the Measure_grouping_engraver
see:
http://lilypond.1069038.n5.nabble.com/changing-symbols-used-by-Measure-grouping-engraver-td215283.html
I noticed ....

I tried to get MeasureGrouping in default 4/4-time, but nothing happened.
One has to set beatStructure and baseMoment accordingly. The current
docs make it sound it should work out of the box, though.

\version "2.19.82"

\new Staff \with { \consists "Measure_grouping_engraver" }
  {
      %% to get MeasureGrouping, next two lines need to be uncommented
    %\set Timing.beatStructure = 4,4
    %\set Score.baseMoment = #(ly:make-moment 1/8)
    \repeat unfold 8 a'8
  }

Sent from sourceforge.net because address@hidden is subscribed to https://sourceforge.net/p/testlilyissues/issues/

To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/testlilyissues/admin/issues/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Testlilyissues-auto mailing list
address@hidden
https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto

reply via email to

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