On Mon, Nov 28, 2016 at 2:46 PM, tisimst <[email protected]> wrote:

>
>
> On Mon, Nov 28, 2016 at 12:32 PM, Benjamin Strecker [via Lilypond] <[hidden
> email] <http:///user/SendEmail.jtp?type=node&node=197190&i=0>> wrote:
>
>> Abraham,
>>
>>
>> > On Tue, Nov 22, 2016 at 1:25 PM, Abraham Lee <[hidden email]> wrote:
>> >>
>> >>
>> >> Here's how you can use the same functionality as the markup macro
>> >> "bracket" to do the job:
>> >>
>> >> %%%%%%%%%%%%%%%
>> >>
>> >> \version "2.19.36"
>> >>
>> >> bracketAcc = {
>> >>   \once \override AccidentalCautionary.parenthesized = ##f
>> >>   \once \override AccidentalCautionary.stencil =
>> >>   #(lambda (grob)
>> >>      (let ((stil (ly:accidental-interface::print grob))
>> >>            (th 0.1))
>> >>        (bracketify-stencil stil Y th (* 2.5 th) th)))
>> >> }
>> >>
>> >> \score {
>> >>   \new Staff {
>> >>     c''4 c''? \bracketAcc c''? c''
>> >>   }
>> >> }
>> >>
>> >> %%%%%%%%%%%%%%%
>> >>
>> >> An unfortunate side-effect of this is that each accidental's brackets
>> will
>> >> look different because it draws brackets that span the accidental's
>> exact
>> >> vertical extent (e.g., compare a flat vs. a natural). So, here's
>> another
>> >> variant that I cobbled together based on the same macro and the
>> underlying
>> >> "bracketify-stencil" command. It works better because it makes the
>> brackets
>> >> *act like the normal parentheses* so you get a more consistent look
>> for any
>> >> accidental:
>> >>
>> >> %%%%%%%%%%%%%%%
>> >>
>> >> \version "2.19.36"
>> >>
>> >> bracketAcc = {
>> >>   \once \override AccidentalCautionary.parenthesized = ##f
>> >>   \once \override AccidentalCautionary.stencil =
>> >>   #(lambda (grob)
>> >>      (let* ((paren-stil
>> >>               (grob-interpret-markup grob
>> >>                 (markup #:musicglyph "accidentals.leftparen")))
>> >>             (axis Y)
>> >>             (other-axis (lambda (a) (remainder (+ a 1) 2)))
>> >>             (ext (ly:stencil-extent paren-stil axis))
>> >>             (stil (ly:accidental-interface::print grob))
>> >>             (thick
>> >>               (ly:output-def-lookup (ly:grob-layout grob)
>> 'line-thickness
>> >> 0.1))
>> >>             (padding thick)
>> >>             (protrusion (* 2.5 thick))
>> >>             (lb (ly:bracket axis ext thick protrusion))
>> >>             (rb (ly:bracket axis ext thick (- protrusion))))
>> >>        (set! stil
>> >>              (ly:stencil-combine-at-edge stil (other-axis axis) 1 rb
>> >> padding))
>> >>        (set! stil
>> >>              (ly:stencil-combine-at-edge stil (other-axis axis) -1 lb
>> >> padding))
>> >>        stil))
>> >> }
>> >>
>> >> \score {
>> >>   \new Staff {
>> >>     c''4 c''? \bracketAcc c''? c''
>> >>   }
>> >> }
>> >>
>> >> %%%%%%%%%%%%%%%
>> >>
>> >> HTH,
>> >> Abraham
>> That's pretty helpful.  The second one in particular looks quite good on
>> the accidentals.  I'm trying to apply a similar approach for producing a
>> bracketed trill marking, but I'm not having much luck.  Here's what I
>> currently have:
>>
>> \version "2.19.50"
>>
>> brack = {
>>   \once\override ParenthesesItem.stencil =
>>   #(lambda (grob)
>>      (let ((stil (ly:script-interface::print grob))
>>           (th 0.1))
>>        (bracketify-stencil stil Y th (* 2.5 th) th)))
>> }
>>
>> \score {
>>   \new Staff {
>>     \brack
>>     c''-\parenthesize \trill
>>   }
>> }
>>
>> But this fails for me with the following error:
>>
>> /home/gub/NewGub/gub/target/darwin-x86/src/lilypond-git.sv.
>> gnu.org--lilypond.git-release-unstable/lily/script-interface.cc:36:
>> failed assertion `scm_is_pair (s)'
>>
>> From my (incomplete) understanding of the internal workings, I would have
>> thought this would produce something in the neighborhood of what I want.
>> Any advice to point me in the correct direction?
>>
>
> I get the same error, but I'm not sure it's the right approach anyway. Try
> this:
>
> brack = {
>   \once \override Script.stencil =
>   #(lambda (grob)
>      (let* ((stil (ly:script-interface::print grob))
>             (th 0.1))
>        (bracketify-stencil stil Y th (* 2.5 th) th)))
> }
>
> HTH,
> Abraham
>
> ------------------------------
> View this message in context: Re: Cautionary Accidental Stencil
> <http://lilypond.1069038.n5.nabble.com/Cautionary-Accidental-Stencil-tp197011p197190.html>
> Sent from the User mailing list archive
> <http://lilypond.1069038.n5.nabble.com/User-f3.html> at Nabble.com.
>
> _______________________________________________
> lilypond-user mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
That's just what I was looking for!  Thanks!
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to