[prev in list] [next in list] [prev in thread] [next in thread]
List: lilypond-user
Subject: Re: Smoothing out RepeatTie irregularities between chords?
From: Trevor Bača <trevorbaca () gmail ! com>
Date: 2015-04-30 18:30:30
Message-ID: CACTvJ4X1+nvv0mta6f+zVu2=QTuBtWKqOchxW8C4qu2rz=n1Ww () mail ! gmail ! com
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
Hi David and Pierre,
Ok, it looks like both solutions will work for me, so thank you very much.
And I guess this means it's not necessary to file a bug report, either.
Thanks!
Trevor.
On Fri, Apr 17, 2015 at 6:31 AM, David Nalesnik <david.nalesnik@gmail.com>
wrote:
> Hi,
>
>
> > 2015-04-16 3:36 GMT+02:00 Trevor Bača <trevorbaca@gmail.com>:
> >
> > > Hi,
> > >
> > > Using the \shape command to length repeat ties works great between
> > > notes. But weird behavior seems to arise with lengthened repeat ties
> > > between chords:
> > >
> > >
> > > ### BEGIN ###
> > >
> > > \version "2.19.17"
> > > \language "english"
> > >
> > >
> > > \new Staff \with {
> > > \shape #'((-2 . 0) (-1 . 0) (-0.5 . 0) (0 . 0)) RepeatTie
> > >
> > > \override RepeatTie.X-extent = ##f
> > > } {
> > > <c' g'>1
> > > <c' g'>1 \repeatTie
> > > <c' g'>1 \repeatTie
> > > <c' g'>1 \repeatTie
> > > }
> > >
> > > ### END ###
> > >
> > >
> > > (Image attached.)
> > >
> > > Would anyone have any clues as to how to make the repeat ties all have
> > > the same length?
> > >
> > >
> In order to use a shape-like command with repeat ties in a chord, we have
> to get at the individual ties organized by the RepeatTieColumn.
>
> Here's a variant of \shapeTieColumn (at
> https://github.com/openlilylib/openlilylib/tree/master/notation-snippets/shaping-bezier-curves/shape-tie-column)
> which achieves that. Each tie within the chord is represented with its own
> list of offsets.
>
> %%%%
> \version "2.19.17"
> \language "english"
>
>
> shapeRepeatTieColumn =
> #(define-music-function (parser location all-offsets) (list?)
> #{
> \override RepeatTieColumn #'before-line-breaking =
> #(lambda (grob)
> (let ((ties (ly:grob-array->list (ly:grob-object grob 'ties))))
> (for-each
> (lambda (tie offsets-for-tie)
> (if (number-pair-list? offsets-for-tie)
> (set! (ly:grob-property tie 'control-points)
> (map
> (lambda (x y) (coord-translate x y))
> (ly:semi-tie::calc-control-points tie)
> offsets-for-tie))))
> ties all-offsets)))
> #})
>
> \new Staff \with {
> \shapeRepeatTieColumn #'(
> ((-2 . 0) (-1 . 0) (-0.5 . 0) (0 . 0))
> ((-2 . 0) (-1 . 0) (-0.5 . 0) (0 . 0))
> )
> \override RepeatTie.X-extent = ##f
> } {
> <c' g'>1
> <c' g'>1 \repeatTie
> <c' g'>1 \repeatTie
> <c' g'>1 \repeatTie
> }
>
> %%%%%
>
> HTH,
> David
>
> _______________________________________________
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
--
Trevor Bača
trevorbaca@gmail.com
[Attachment #5 (text/html)]
<div dir="ltr">Hi David and Pierre,<div><br></div><div>Ok, it looks like both \
solutions will work for me, so thank you very much.</div><div><br></div><div>And I \
guess this means it's not necessary to file a bug report, \
either.</div><div><br></div><div>Thanks!</div><div><br></div><div>Trevor.</div></div><div \
class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 17, 2015 at 6:31 AM, \
David Nalesnik <span dir="ltr"><<a href="mailto:david.nalesnik@gmail.com" \
target="_blank">david.nalesnik@gmail.com</a>></span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="ltr">Hi,<div><br><div class="gmail_extra"><div \
class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0px \
0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div \
class="gmail_extra"><br><div class="gmail_quote"><div><div>2015-04-16 3:36 GMT+02:00 \
Trevor Bača <span dir="ltr"><<a href="mailto:trevorbaca@gmail.com" \
target="_blank">trevorbaca@gmail.com</a>></span>:<br></div></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div><div \
dir="ltr">Hi,<div><br></div><div>Using the \shape command to length repeat ties works \
great between notes. But weird behavior seems to arise with lengthened repeat ties \
between chords:</div><div><br></div><div><br></div><div>### BEGIN \
###</div><div><br></div><div><div>\version "2.19.17"</div><div>\language \
"english"</div><div><br></div><div><br></div><div>\new Staff \with \
{</div><div> \shape #'((-2 . 0) (-1 . 0) (-0.5 . 0) (0 . 0)) RepeatTie \
</div><div> \override RepeatTie.X-extent = ##f</div><div>} {</div><div> \
<c' g'>1</div><div> <c' g'>1 \repeatTie</div><div> \
<c' g'>1 \repeatTie</div><div> <c' g'>1 \
\repeatTie</div><div>}</div><div><br></div><div>### END \
###</div><div><br></div><div><br></div><div>(Image \
attached.)</div><div><br></div><div>Would anyone have any clues as to how to make the \
repeat ties all have the same length?</div><span><font \
color="#888888"><div><br></div></font></span></div></div></div></div></blockquote></div></div></blockquote><div><br></div></span><div>In \
order to use a shape-like command with repeat ties in a chord, we have to get at the \
individual ties organized by the RepeatTieColumn.</div><div><br></div><div>Here's \
a variant of \shapeTieColumn (at <a \
href="https://github.com/openlilylib/openlilylib/tree/master/notation-snippets/shaping-bezier-curves/shape-tie-column" \
target="_blank">https://github.com/openlilylib/openlilylib/tree/master/notation-snippets/shaping-bezier-curves/shape-tie-column</a>) \
which achieves that. Each tie within the chord is represented with its own list of \
offsets.</div><div><br></div><div>%%%%</div></div><div class="gmail_extra">\version \
"2.19.17"</div><div class="gmail_extra">\language \
"english"</div><div class="gmail_extra"><br></div><div \
class="gmail_extra"><br></div><div class="gmail_extra">shapeRepeatTieColumn \
=</div><div class="gmail_extra">#(define-music-function (parser location all-offsets) \
(list?)</div><div class="gmail_extra"> #{</div><div class="gmail_extra"> \
\override RepeatTieColumn #'before-line-breaking =</div><div class="gmail_extra"> \
#(lambda (grob)</div><div class="gmail_extra"> (let ((ties \
(ly:grob-array->list (ly:grob-object grob 'ties))))</div><div \
class="gmail_extra"> (for-each</div><div class="gmail_extra"> \
(lambda (tie offsets-for-tie)</div><div class="gmail_extra"> (if \
(number-pair-list? offsets-for-tie)</div><div class="gmail_extra"> \
(set! (ly:grob-property tie 'control-points)</div><div class="gmail_extra"> \
(map</div><div class="gmail_extra"> (lambda (x y) \
(coord-translate x y))</div><div class="gmail_extra"> \
(ly:semi-tie::calc-control-points tie) offsets-for-tie))))</div><div \
class="gmail_extra"> ties all-offsets)))</div><div \
class="gmail_extra"> #})</div><div class="gmail_extra"><br></div><div \
class="gmail_extra">\new Staff \with {</div><div class="gmail_extra"> \
\shapeRepeatTieColumn #'(</div><span class=""><div class="gmail_extra"> \
((-2 . 0) (-1 . 0) (-0.5 . 0) (0 . 0))</div><div class="gmail_extra"> \
((-2 . 0) (-1 . 0) (-0.5 . 0) (0 . 0))</div></span><span class=""><div \
class="gmail_extra"> ) \
</div><div class="gmail_extra"> \override RepeatTie.X-extent = ##f</div><div \
class="gmail_extra">} {</div><div class="gmail_extra"> <c' \
g'>1</div><div class="gmail_extra"> <c' g'>1 \
\repeatTie</div><div class="gmail_extra"> <c' g'>1 \
\repeatTie</div><div class="gmail_extra"> <c' g'>1 \
\repeatTie</div><div \
class="gmail_extra">}</div><div><br></div></span><div>%%%%%</div><div><br></div><div>HTH,</div><div>David</div></div></div></div>
<br>_______________________________________________<br>
lilypond-user mailing list<br>
<a href="mailto:lilypond-user@gnu.org">lilypond-user@gnu.org</a><br>
<a href="https://lists.gnu.org/mailman/listinfo/lilypond-user" \
target="_blank">https://lists.gnu.org/mailman/listinfo/lilypond-user</a><br> \
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div \
class="gmail_signature">Trevor Bača<br><a href="mailto:trevorbaca@gmail.com" \
target="_blank">trevorbaca@gmail.com</a></div> </div>
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic