[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&#39;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">&lt;<a href="mailto:david.nalesnik@gmail.com" \
target="_blank">david.nalesnik@gmail.com</a>&gt;</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">&lt;<a href="mailto:trevorbaca@gmail.com" \
target="_blank">trevorbaca@gmail.com</a>&gt;</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 &quot;2.19.17&quot;</div><div>\language \
&quot;english&quot;</div><div><br></div><div><br></div><div>\new Staff \with \
{</div><div>      \shape #&#39;((-2 . 0) (-1 . 0) (-0.5 . 0) (0 . 0)) RepeatTie       \
</div><div>      \override RepeatTie.X-extent = ##f</div><div>} {</div><div>      \
&lt;c&#39; g&#39;&gt;1</div><div>      &lt;c&#39; g&#39;&gt;1 \repeatTie</div><div>   \
&lt;c&#39; g&#39;&gt;1 \repeatTie</div><div>      &lt;c&#39; g&#39;&gt;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&#39;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 \
&quot;2.19.17&quot;</div><div class="gmail_extra">\language \
&quot;english&quot;</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 #&#39;before-line-breaking =</div><div class="gmail_extra"> \
#(lambda (grob)</div><div class="gmail_extra">            (let ((ties \
(ly:grob-array-&gt;list (ly:grob-object grob &#39;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 &#39;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 #&#39;(</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">   &lt;c&#39; \
g&#39;&gt;1</div><div class="gmail_extra">   &lt;c&#39; g&#39;&gt;1 \
\repeatTie</div><div class="gmail_extra">   &lt;c&#39; g&#39;&gt;1 \
\repeatTie</div><div class="gmail_extra">   &lt;c&#39; g&#39;&gt;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