Carl Sorensen <c_soren...@byu.edu> writes:

> On 4/25/15 6:37 AM, "Urs Liska" <u...@openlilylib.org> wrote:
>
>>>
>>> In that context I'd like to raise the question if baseMoment really is
>>> the appropriate property for configuring beamSubdivision or if it
>>> shouldn't have a dedicated property. Changing baseMoment might have
>>> side-effects on other aspects of the engraving that may or may not be
>>> intended.
>>>
>>
>>What would you think of the following interface:
>>
>>\set beamSubdivision = ##t behaves as currently (fetch value from
>>baseMoment)
>>\set beamSubdivision = #(ly:make-moment 1 16) sets the division
>>frequency to an explicit value.
>>
>>That way we
>>- don't need a new property
>>- decouple subdivision frequency from baseMoment
>>- don't break existing code
>
> I actually think that baseMoment is intended precisely for subdivision.
>
> baseMoment sets the subdivision interval.
>
> beatGrouping combines the baseMoment together to get beaming groups.
>
> My first fix will not include a new property, and then we'll see where we
> go from that.

The autobeamer takes a Scheme list in beamExceptions that looks like

\void \displayScheme \beamExceptions \repeat unfold 2 { 8[ 8 8 8] }
(list (list (quote end) (list 1/8 4 4)))

I think it would be conceivable to fudge around with multiple brackets
for subdivisions, like

\beamExceptions \repeat unfold 4 { 16[[ 16] 16[ 16]] }

which currently does not really do anything useful.  Of course, this
needs to have \beamExceptions recognize this, create some useful
list-based rendition of it, and have the autobeamer interpret that
list-based rendition.

The first versions would likely not mess at all with \beamExceptions but
rather create the lists for the overrides manually.  But \beamExceptions
could become a nice interface for creating such lists eventually.

-- 
David Kastrup

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to