|
From: | 98123981293 1293812397123 |
Subject: | Re: can bendAfter be made to skip over notes? |
Date: | Tue, 27 Oct 2020 12:21:01 -0400 |
Unsupported SCM value for format: (rmoveto 2.777338 1/2 rcurveto 1.81180552352106 0 5.43541657056318 -1 5.43541657056318 -3/2)
Converting to `document.pdf'...
warning: `(gs -q -dNODISPLAY -dNOSAFER -dNOPAUSE -dBATCH -dAutoRotatePages=/None -dPrinted=false ./tmp--tmp-1982250)' failed (1)
I appreciate the attempt though. Will keep this in the back of my mind for future learning; for now will probably just use regular glissando.
-Kyle
Send lilypond-user mailing list submissions to
lilypond-user@gnu.org
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.gnu.org/mailman/listinfo/lilypond-user
or, via email, send a message with subject or body 'help' to
lilypond-user-request@gnu.org
You can reach the person managing the list at
lilypond-user-owner@gnu.org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of lilypond-user digest..."
Today's Topics:
1. Re: can bendAfter be made to skip over notes? (Aaron Hill)
2. Re: can bendAfter be made to skip over notes? (Aaron Hill)
3. Re: can bendAfter be made to skip over notes? (Aaron Hill)
4. Problems with Barré (sir.teddy.the.first@gmail.com)
---------- Forwarded message ----------
From: Aaron Hill <lilypond@hillvisions.com>
To: lilypond-user@gnu.org
Cc:
Bcc:
Date: Mon, 26 Oct 2020 22:54:31 -0700
Subject: Re: can bendAfter be made to skip over notes?
On 2020-10-26 7:37 pm, 98123981293 1293812397123 wrote:
> Hi list,
>
> I usually use the following snippet to handle glissandi across hidden
> noteheads:
>
> glissandoSkipOn = {
> \override NoteColumn.glissando-skip = ##t
> \hide NoteHead
> \override Accidental.transparent = ##t
> \override NoteHead.no-ledgers = ##t
> }
>
> is it possible to implement something similar for bendAfter? A quick
> check
> of the archives did not reveal anything relevant but please link me if
> this
> has already been covered. Pic attached with the line as I want it to
> look
> in green.
>
> Thank you,
> Kyle
The Glissando_engraver knows to look for glissando-skip, however no such
logic exists for Bend_engraver. It would be possible to re-write the
engraver and introduce a new bend-skip context property, however a
perhaps simpler option is to change the stencil for a glissando to look
like a bend:
%%%%
\version "2.20.0"
bend-glissando-print =
#(lambda (grob)
(let* ((lnh (ly:spanner-bound grob LEFT))
(rnh (ly:spanner-bound grob RIGHT))
(lsp (ly:grob-staff-position lnh))
(rsp (ly:grob-staff-position rnh))
(dy (/ (- rsp lsp) 2))
(dot (ly:grob-object lnh 'dot))
(acc (ly:grob-object rnh 'accidental-grob))
(th (* (ly:grob-property grob 'thickness 1)
(ly:output-def-lookup (ly:grob-layout grob)
'line-thickness)))
(pad (ly:grob-property grob 'padding 0.5))
(cmx (ly:grob-common-refpoint
(ly:grob-common-refpoint grob lnh X) rnh X))
(cmy (ly:grob-common-refpoint grob lnh Y))
(lx (+ pad (max (interval-end (ly:generic-bound-extent lnh
cmx))
(if dot
(interval-end
(ly:grob-robust-relative-extent dot cmx
X))
(- INFINITY-INT)))))
(rx (- (min (interval-start (ly:generic-bound-extent rnh cmx))
(if acc
(interval-start
(ly:grob-robust-relative-extent acc cmx X))
INFINITY-INT))
pad))
(dx (- rx lx))
(sx (ly:grob-relative-coordinate grob cmx X)))
(ly:make-stencil
(list 'path th
`(quote
(rmoveto ,(- lx sx) 0.5
rcurveto ,(/ dx 3) 0 ,dx ,(* dy 2/3) ,dx ,dy)))
(cons (- lx sx) (- rx sx))
(cons (+ 0.5 (min 0 dy)) (+ 0.5 (max 0 dy))))))
bendGlissando =
\tweak thickness #2
\tweak stencil #bend-glissando-print
\glissando
{ c''2. \bendGlissando
\once \override NoteColumn.glissando-skip = ##t
e'4 gis'1 }
%%%%
-- Aaron Hill
---------- Forwarded message ----------
From: Aaron Hill <lilypond@hillvisions.com>
To: lilypond-user@gnu.org
Cc:
Bcc:
Date: Mon, 26 Oct 2020 22:56:41 -0700
Subject: Re: can bendAfter be made to skip over notes?
On 2020-10-26 10:54 pm, Aaron Hill wrote:
> On 2020-10-26 7:37 pm, 98123981293 1293812397123 wrote:
>> Hi list,
>>
>> I usually use the following snippet to handle glissandi across hidden
>> noteheads:
>>
>> glissandoSkipOn = {
>> \override NoteColumn.glissando-skip = ##t
>> \hide NoteHead
>> \override Accidental.transparent = ##t
>> \override NoteHead.no-ledgers = ##t
>> }
>>
>> is it possible to implement something similar for bendAfter? A quick
>> check
>> of the archives did not reveal anything relevant but please link me if
>> this
>> has already been covered. Pic attached with the line as I want it to
>> look
>> in green.
>>
>> Thank you,
>> Kyle
>
> The Glissando_engraver knows to look for glissando-skip, however no
> such logic exists for Bend_engraver. It would be possible to re-write
> the engraver and introduce a new bend-skip context property, however a
> perhaps simpler option is to change the stencil for a glissando to
> look like a bend:
>
> [...]
Sorry, I pasted an old version of the code that did not handle the
vertical alignment properly:
%%%%
\version "2.20.0"
bend-glissando-print =
#(lambda (grob)
(let* ((lnh (ly:spanner-bound grob LEFT))
(rnh (ly:spanner-bound grob RIGHT))
(lsp (ly:grob-staff-position lnh))
(rsp (ly:grob-staff-position rnh))
(dy (/ (- rsp lsp) 2))
(dot (ly:grob-object lnh 'dot))
(acc (ly:grob-object rnh 'accidental-grob))
(th (* (ly:grob-property grob 'thickness 1)
(ly:output-def-lookup (ly:grob-layout grob)
'line-thickness)))
(pad (ly:grob-property grob 'padding 0.5))
(cmx (ly:grob-common-refpoint
(ly:grob-common-refpoint grob lnh X) rnh X))
(cmy (ly:grob-common-refpoint grob lnh Y))
(lx (+ pad (max (interval-end (ly:generic-bound-extent lnh
cmx))
(if dot
(interval-end
(ly:grob-robust-relative-extent dot cmx
X))
(- INFINITY-INT)))))
(rx (- (min (interval-start (ly:generic-bound-extent rnh cmx))
(if acc
(interval-start
(ly:grob-robust-relative-extent acc cmx X))
INFINITY-INT))
pad))
(dx (- rx lx))
(sx (ly:grob-relative-coordinate grob cmx X)))
(ly:make-stencil
(list 'path th
`(quote
(rmoveto ,(- lx sx) ,(/ lsp 2)
rcurveto ,(/ dx 3) 0 ,dx ,(* dy 2/3) ,dx ,dy)))
(cons (- lx sx) (- rx sx))
(cons (+ (/ lsp 2) (min 0 dy)) (+ 0.5 (max 0 dy))))))
bendGlissando =
\tweak thickness #2
\tweak stencil #bend-glissando-print
\glissando
{ c''2. \bendGlissando
\once \override NoteColumn.glissando-skip = ##t
e'4 gis'1 }
%%%%
-- Aaron Hill
---------- Forwarded message ----------
From: Aaron Hill <lilypond@hillvisions.com>
To: lilypond-user@gnu.org
Cc:
Bcc:
Date: Mon, 26 Oct 2020 23:01:20 -0700
Subject: Re: can bendAfter be made to skip over notes?
On 2020-10-26 10:56 pm, Aaron Hill wrote:
> On 2020-10-26 10:54 pm, Aaron Hill wrote:
>> On 2020-10-26 7:37 pm, 98123981293 1293812397123 wrote:
>>> Hi list,
>>>
>>> I usually use the following snippet to handle glissandi across hidden
>>> noteheads:
>>>
>>> glissandoSkipOn = {
>>> \override NoteColumn.glissando-skip = ##t
>>> \hide NoteHead
>>> \override Accidental.transparent = ##t
>>> \override NoteHead.no-ledgers = ##t
>>> }
>>>
>>> is it possible to implement something similar for bendAfter? A quick
>>> check
>>> of the archives did not reveal anything relevant but please link me
>>> if this
>>> has already been covered. Pic attached with the line as I want it to
>>> look
>>> in green.
>>>
>>> Thank you,
>>> Kyle
>>
>> The Glissando_engraver knows to look for glissando-skip, however no
>> such logic exists for Bend_engraver. It would be possible to re-write
>> the engraver and introduce a new bend-skip context property, however a
>> perhaps simpler option is to change the stencil for a glissando to
>> look like a bend:
>>
>> [...]
>
> Sorry, I pasted an old version of the code that did not handle the
> vertical alignment properly:
>
> [...]
Grr. I must be getting really tired. One more attempt and then I give
up:
%%%%
\version "2.20.0"
bend-glissando-print =
#(lambda (grob)
(let* ((lnh (ly:spanner-bound grob LEFT))
(rnh (ly:spanner-bound grob RIGHT))
(lsp (ly:grob-staff-position lnh))
(rsp (ly:grob-staff-position rnh))
(dy (/ (- rsp lsp) 2))
(dot (ly:grob-object lnh 'dot))
(acc (ly:grob-object rnh 'accidental-grob))
(th (* (ly:grob-property grob 'thickness 1)
(ly:output-def-lookup (ly:grob-layout grob)
'line-thickness)))
(pad (ly:grob-property grob 'padding 0.5))
(cmx (ly:grob-common-refpoint
(ly:grob-common-refpoint grob lnh X) rnh X))
(cmy (ly:grob-common-refpoint grob lnh Y))
(lx (+ pad (max (interval-end (ly:generic-bound-extent lnh
cmx))
(if dot
(interval-end
(ly:grob-robust-relative-extent dot cmx
X))
(- INFINITY-INT)))))
(rx (- (min (interval-start (ly:generic-bound-extent rnh cmx))
(if acc
(interval-start
(ly:grob-robust-relative-extent acc cmx X))
INFINITY-INT))
pad))
(dx (- rx lx))
(sx (ly:grob-relative-coordinate grob cmx X)))
(ly:make-stencil
(list 'path th
`(quote
(rmoveto ,(- lx sx) ,(/ lsp 2)
rcurveto ,(/ dx 3) 0 ,dx ,(* dy 2/3) ,dx ,dy)))
(cons (- lx sx) (- rx sx))
(cons (+ (/ lsp 2) (min 0 dy)) (+ (/ lsp 2) (max 0 dy))))))
bendGlissando =
\tweak thickness #2
\tweak stencil #bend-glissando-print
\glissando
{ c''2. \bendGlissando
\once \override NoteColumn.glissando-skip = ##t
e'4 gis'1 }
%%%%
-- Aaron Hill
---------- Forwarded message ----------
From: <sir.teddy.the.first@gmail.com>
To: <lilypond-user@gnu.org>
Cc:
Bcc:
Date: Tue, 27 Oct 2020 09:58:43 +0100
Subject: Problems with Barré_______________________________________________Hi all,
I’m using this barré-function from the LSR and I’m trying to make it work when the first note (or the last one) is a rest.
Here’s the code:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.20.0"
guitbarre =
#(define-music-function (barre location str music) (string? ly:music?)
(let ((elts (extract-named-music music '(NoteEvent EventChord))))
(if (pair? elts)
(let ((first-element (first elts))
(last-element (last elts)))
(set! (ly:music-property first-element 'articulations)
(cons (make-music 'TextSpanEvent 'span-direction -1)
(ly:music-property first-element 'articulations)))
(set! (ly:music-property last-element 'articulations)
(cons (make-music 'TextSpanEvent 'span-direction 1)
(ly:music-property last-element 'articulations))))))
#{
\once \override TextSpanner.font-shape = #'upright
\once \override TextSpanner.staff-padding = #3
\once \override TextSpanner.style = #'line
\once \override TextSpanner.to-barline = ##f
\once \override TextSpanner.bound-details =
#`((left
(text . ,#{ \markup { \raise #-.5 \concat { \bold { #str " " }}} #})
(Y . 0)
(padding . .25)
(attach-dir . -2))
(right
(text . ,#{ \markup { \draw-line #'( 0 . -1) } #})
(Y . 0)
(padding . 0.25)
(attach-dir . 2)))
$music
#})
\relative c' {
%1 <-- This one works
\guitbarre #"VI" { g4 g4 g4 g4 }
%2 <-- This one does not
<<
\new Voice \guitbarre #"I" {\voiceOne r4 <f' a c>4 4 4}
\new Voice {\voiceTwo f,1}
>>
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
What do I have to change or is there some other trick to make it work?
Thanks In Advance
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
[Prev in Thread] | Current Thread | [Next in Thread] |