Custom upbow and downbow markings

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Custom upbow and downbow markings

Andrew Bernard
For my work, the default upbow and downbow markings are OK, and standard, yes I know, but we want something more along the gutsier style of Boosey & Hawkes, as for example in the Bartok String Quartet 3, image attached. The upbow is much more masculine, and italicized compared to the spindly thin lilypond.

What is the way to go about making my own substitutes? Do I use markup paths, similar to what Urs was asking some time ago here:


Or has this problem already been solved somewhere?

Andrew




_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Bartok SQ3.jpg (121K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Custom upbow and downbow markings

Andrew Bernard
More work on this. I have made a first approximation to this more boldened upbow using markup paths. I am happy with this, but there is something missing. We use a lot of extended stems (eccentric yes, but that's how the style is for this work). For my new upbow something goes wrong with the vertical alignment of the bowing mark and accents on the long stems. The normal way to do this of course looks fine. There's some concept here I am missing.

Andrew

%======
\version "2.19.82"

upbowNew =
#(define-event-function ()()
   #{
     ^\markup {
       %\with-dimensions #'(0 . 1) #'(1.3 . 0)
       \override #'(filled . #t)
       \path #0.01
       #'((moveto 0 1.3)
          (lineto 0.25 1.3)
          (lineto 0.57 0.46)
          (lineto 0.9 1.3)
          (lineto 1 1.3)
          (lineto 0.5 0)
          (lineto 0 1.3)
          (closepath))
     }
   #})

treble = {
  \time 2/4
  \override Stem.length = #18
  \override StringNumber.script-priority = #4000
  a''4^.\1\downbow
  a8^.^\upbowNew\2
  s8

  \override StringNumber.script-priority = #0
  a''4\1\downbow
  a8^.\upbow\2
  s8
  \bar "."
}

\score {
  \new Staff {
    \treble
  }

  \layout {}
}

%======


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Custom upbow and downbow markings

Andrew Bernard
Is my problem that this is a markup and not a proper articulation?


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Custom upbow and downbow markings

Andrew Bernard
Hello All,

Continuing my investigations here, with reference to the list archive:


I have tried making a custom articulation, rather than a text markup, and of course, all the alignment issues are solved. MWE below.

I will now transform my question. I have copied this code idea rather blindly with little understanding. Where is there any tutorial or reference information on extending lilypond to create new articulations?

Would a sampler like this be a good addition to LSR to help others out in the future?

Andrew

%=====
\version "2.19.82"

upbowMarkup =
\markup
\override #'(filled . #t)
\path #0.01
#'((moveto 0 1.3)
   (lineto 0.25 1.3)
   (lineto 0.57 0.46)
   (lineto 0.9 1.3)
   (lineto 1 1.3)
   (lineto 0.5 0)
   (lineto 0 1.3)
   (closepath))

% define new articulation
#(append! default-script-alist
   (list
    `("upbow-acb"
       . (
           (text . ,#{ \markup \upbowMarkup #})
           (stencil . ,ly:text-interface::print)
           ; any other properties
           (toward-stem-shift-in-column . 0.0)
           (padding . 0.30)
           (avoid-slur . around)
           ;(script-priority . 100)
           (direction . ,UP)
           ))))

upbowAcb = #(make-articulation "upbow-acb")

treble = {
  \time 2/4
  \override Stem.length = #18
  \override StringNumber.script-priority = #4000
  a''4^.\1\downbow
  a8^.^\upbowAcb\2
  s8

  \override StringNumber.script-priority = #0
  a''4\1\upbowAcb
  a8^.\2\upbowAcb
  s8
  \bar "."
}

\score {
  \new Staff { \treble }
  \layout {}
}

%=====



On Thu, 21 Feb 2019 at 14:32, Andrew Bernard <[hidden email]> wrote:
Is my problem that this is a markup and not a proper articulation?


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Custom upbow and downbow markings

Urs Liska-3

Hi Andrew,

Am 21.02.19 um 05:08 schrieb Andrew Bernard:
Hello All,

Continuing my investigations here, with reference to the list archive:


I have tried making a custom articulation, rather than a text markup, and of course, all the alignment issues are solved. MWE below.

I will now transform my question. I have copied this code idea rather blindly with little understanding. Where is there any tutorial or reference information on extending lilypond to create new articulations?


This is exactly what I was thinking yesterday after arriving at the point that my problem was solved. Adding custom articulations is a pretty obscure technique (I mean, you "hijack" one of LilyPond's built-in data structures) but I think a valid one that should be made available.

I didn't feel up to writing a tutorial yet because there are too many grey areas wrt my current level of knowledge. But we could commit to writing a tutorial post together, which would give the context and the opportunity to sort these things out.

What do you think?
Best
Urs



Would a sampler like this be a good addition to LSR to help others out in the future?

Andrew

%=====
\version "2.19.82"

upbowMarkup =
\markup
\override #'(filled . #t)
\path #0.01
#'((moveto 0 1.3)
   (lineto 0.25 1.3)
   (lineto 0.57 0.46)
   (lineto 0.9 1.3)
   (lineto 1 1.3)
   (lineto 0.5 0)
   (lineto 0 1.3)
   (closepath))

% define new articulation
#(append! default-script-alist
   (list
    `("upbow-acb"
       . (
           (text . ,#{ \markup \upbowMarkup #})
           (stencil . ,ly:text-interface::print)
           ; any other properties
           (toward-stem-shift-in-column . 0.0)
           (padding . 0.30)
           (avoid-slur . around)
           ;(script-priority . 100)
           (direction . ,UP)
           ))))

upbowAcb = #(make-articulation "upbow-acb")

treble = {
  \time 2/4
  \override Stem.length = #18
  \override StringNumber.script-priority = #4000
  a''4^.\1\downbow
  a8^.^\upbowAcb\2
  s8

  \override StringNumber.script-priority = #0
  a''4\1\upbowAcb
  a8^.\2\upbowAcb
  s8
  \bar "."
}

\score {
  \new Staff { \treble }
  \layout {}
}

%=====



On Thu, 21 Feb 2019 at 14:32, Andrew Bernard <[hidden email]> wrote:
Is my problem that this is a markup and not a proper articulation?


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Custom upbow and downbow markings

Valentin Villenave-3
In reply to this post by Andrew Bernard
On 2/20/19, Andrew Bernard <[hidden email]> wrote:
> Or has this problem already been solved somewhere?

Well, I’ve just cooked something that may be of some interest to you:
https://sourceforge.net/p/testlilyissues/issues/5483/
https://codereview.appspot.com/348120043/
(the regtest is directly lifted from your nice upbow, and I think it
may even find its way into the documentation at some point).

V.

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user