[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Unterminated tie
From: |
David Sumbler |
Subject: |
Re: Unterminated tie |
Date: |
Sun, 13 Sep 2015 14:32:08 +0100 |
On Sun, 2015-09-13 at 00:46 +0200, Thomas Morley wrote:
> 2015-09-13 0:11 GMT+02:00 David Sumbler <address@hidden>:
> > I have yet another problem related to repeats. The piece I am setting
> > has one instrument which is tied from the last note in the
> > first-time-bar to the note at the start of the repeat. (Moving the
> > repeats does not help, because there are a lot of overlapping ties.)
> >
> > I tried to produce an unterminated tie in the last bar of the first
> > alternative by having a second, invisible voice with two tied notes in
> > the bar:
> >
> > \version "2.19.24"
> >
> > { g'1 ~|
> > \repeat volta 2 { g'1 | d'1 | }
> > \alternative {
> > {
> > << { g'1 } \\ { \override Dots.stencil = ##f
> > \override Stem.stencil = ##f
> > \override Flag.stencil = ##f
> > g'2... ~ g'16
> > \revert Flag.stencil
> > \revert Stem.stencil
> > \revert Dots.stencil
> > } >> |
> > } {
> > a'1 |
> > } }
> > g'1 |
> > }
> >
> > So far, so good, but the note heads in the bar are still there of
> > course. But when I add "\override NoteHead.stencil = ##f" the compiler
> > gives up with the message:
> >
> > Drawing systems...lilypond:
> > /home/gub/NewGub/gub/target/linux-64/src/lilypond-git.sv.gnu.org--lilypond.git-release-unstable/lily/skyline.cc:119:
> > void Building::precompute(Real, Real, Real, Real): Assertion `!isinf
> > (slope_) && !isnan (slope_)' failed.
> >
> > Why does this happen? And is there perhaps a simpler way of producing
> > my unterminated tie?
>
> If you set NoteHead.stencil #f, then the Tie has nothing to attach to.
> Use point-stencil instead.
> Scaling durations will save much code:
>
> \version "2.19.24"
>
> {
> g'1 ~|
> \repeat volta 2 { g'1 | d'1 | }
> \alternative {
> {
> g'1*15/16~
> \once \override Stem.stencil = #point-stencil
> \once \override Flag.stencil = #point-stencil
> \once \override NoteHead.stencil = #point-stencil
> \once \override Tie.minimum-length = 10
> g'16
> }
> { a'1 | }
> }
> g'1 |
> }
>
>
> Other possibility would be to use \repeatTie and use \shape on it.
> I doubt it would be the better one ...
>
> Cheers,
> Harm
That's brilliant - thank you so much.
I wasn't aware of point-stencil (or had forgotten about it).
The scaling of durations is a neat trick too - I hadn't thought of it.
I find that the override of the tie-length is unnecessary.
David