lilypond-user
[Top][All Lists]
Advanced

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

Re: Attachment of beam to stems


From: Urs Liska
Subject: Re: Attachment of beam to stems
Date: Sun, 13 May 2018 11:37:44 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0

Hi Torsten,

thank you for the suggestion.

It was not *quite* was I need because I realized (only after sending the question) that - since this is from engraving with types - the beams are always printed at an absolute position.

But your approach of overlaying brought me on the right track, and I could use Beam.positions instead. The attached file wraps this in a function that properly handles different durations and slopes (by determining the relation of the pitches).

What I'll want to still do is change the interface to accept *music* instead of pitches:

  \centerBeam gis'16 [ e' ]

but I have to leave the computer for now.

Best
Urs

Am 12.05.2018 um 12:04 schrieb Torsten Hämmerle:
Hi Urs,

This turned out to be a bit tricky, because stems and beams are strictly
coupled together in a way that the outer beams will always start/end at the
end of stems. And vice versa: Changes to beam positioning will always bring
along stem length changes.
Beam positioning with all the quanting issues (sit/straddle/hang...) doesn't
make it easier, either.

Therefore, the only solution I could come up with is to use parallel
contexts: one for the "ordinary" stems and another for the somewhat
squeezed-in-between knee-gap beam.
But, after all, you get away without having to define your own stencil :)

(1) ignore note collisions
(2) set auto-knee-gap to 0
(3) empty all the Stem details
(4) use crotchets for the "regular" stems, but scaled to semiquavers for the
right timing/spacing
(5) initiate a new new Voice for the parallel knee-gap-music to prevent
stems from being mixed up.

%%%%
{
   \override NoteColumn.ignore-collision = ##t
   \once\override Staff.Beam.auto-knee-gap = #0
   \once\override Staff.Stem.details = #'()
   << { gis'4*1/4 e'' } \new Voice { gis'16[ e''] } >>
   \revert NoteColumn.ignore-collision
}
%%%%

<http://lilypond.1069038.n5.nabble.com/file/t3887/beam-attachment.png>

Final adjustments to the beam could be made by using extra-offset.

HTH,
Torsten



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user

Attachment: samples.png
Description: PNG image

Attachment: center-beam.ily
Description: Text document

Attachment: center-beam.pdf
Description: Adobe PDF document


reply via email to

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