[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Controlling stem lengths in a global way
From: |
Knute Snortum |
Subject: |
Re: Controlling stem lengths in a global way |
Date: |
Mon, 15 Aug 2022 16:15:07 -0700 |
On Mon, Aug 15, 2022 at 4:00 PM Aaron Hill <lilypond@hillvisions.com> wrote:
>
> On 2022-08-15 3:11 pm, Knute Snortum wrote:
> > I am engraving a piece where there are many groups of 16th notes where
> > the first note is normal size and the rest should look like grace
> > notes. I'm using \scaledDurations, \magnifyMusic and \normalsize to
> > do this, but I'm running into a systemic problem: the stems of the
> > normal size notes are mostly too short (they'd be fine if they were
> > grace notes). To get around this I'm using beam position overrides
> > and tweaks, but this gets tedious quickly. Is there a) a systemic way
> > to tweak the stem lengths, and/or b) better way for me to do this?
> >
> > %%%
> > \version "2.22.2"
> > \language "english"
> >
> > ns = \once \normalsize
> >
> > % Short stems on the normalsize notes
> > \relative d'' {
> > \magnifyMusic #2/3 {
> > \scaleDurations 2/3 {
> > \ns d16 f, g c, f g \ns c e, g c, e g
> > \ns c d, g c, d g \ns c e, g c, e g |
> > }
> > }
> > }
> >
> > beamPositionA = \tweak Beam.positions #'(4 . 2) \etc
> > beamPositionB = \override Beam.positions = #'(3 . 1)
> >
> > % Need to tweak or override many, many notes
> > \relative d'' {
> > \magnifyMusic #2/3 {
> > \scaleDurations 2/3 {
> > \ns \beamPositionA d16 f, g c, f g \ns \beamPositionB c e, g c,
> > e g
> > \ns c d, g c, d g \ns c e, g c, e g \revert Beam.positions |
> > }
> > }
> > }
> > %%%
> >
> > --
> > Knute Snortum
>
> Would \offsetting positions make more sense? For instance, you could do
> this:
>
> %%%%
> ns = \once {
> \normalsize
> % Stem needs a little bit more length
> % to counteract magnifyMusic...
> \offset positions #'(1 . 0) Beam
> }
>
> \relative d'' {
> \magnifyMusic #2/3 {
> \scaleDurations 2/3 {
> \ns d16 f, g c, f g
> \ns c e, g c, e g
> \ns c d, g c, d g
> \ns c e, g c, e g |
> }
> }
> }
> %%%%
>
> This does assume that the amount of lengthening required is uniform.
>
>
> -- Aaron Hill
Works like a charm. Now I can have a couple of variables instead of
dozens. Thanks!
--
Knute Snortum