Hi Federico,
How about:

\version "2.20.0"
% after Harm:
puntitosmarkup =
#(define-music-function (dots) (integer?)
  #{
    \tweak stencil
      #(lambda (grob)
        (let ((stil (ly:script-interface::print grob)))
          (let loop ((count (1- dots)) (new-stil stil))
            (if (> count 0)
                (loop (1- count)
                      (ly:stencil-combine-at-edge new-stil X RIGHT stil
0.6))
                (ly:stencil-aligned-to new-stil X CENTER)))))
     \staccato
  #})

\relative c' {
  c2:8-\puntitosmarkup #4
}

HTH, cheers,
Pierre

Le dim. 17 mai 2020 à 18:48, Federico Sarudiansky <[email protected]> a
écrit :

> Hello,
>
> besides de LSR solution given by other user (
> http://lsr.di.unimi.it/LSR/Item?id=772) I wrote this:
>
> #(define-markup-command (puntitosmarkup layout props cant) (number?)
>    (interpret-markup layout props
>           #{ \markup  {
>               \halign #(+ (* 2.5 cant) -6)
>               $@(map (lambda (x) #{
>                \markup { \hspace #0
>                  \musicglyph "scripts.staccato" }
>               #}) (iota cant)) } #}
>           ))
>
> \relative c' { c2:8 _\markup \puntitosmarkup #4  }
>
> I did it because I want to add a little slur below (or above) to indicate,
> for string players, that those notes should be played in the same bow.
>
> My approximation to that is
>
> #(define-markup-command (puntitosligadosmarkup layout props cant dir)
> (number? number? )
>    (interpret-markup layout props
>           #{ \markup  {
>               \override #(cons "direction" dir)
>               \tie
>               \raise #0.2
>               \puntitosmarkup #cant } #}
>           ))
>
> \relative c' { c2:8 _\markup \puntitosligadosmarkup #4 #-1 c'2:8^\markup
> \puntitosligadosmarkup #4 #1 }
>
> which seems to work in version 2.20.0.
>
> I'd really want to improve this, converting it to a script stencil in the
> way the solution in LSR works, but I didn't fint at least for now.
>
> Regards!
>
> F.
>
>
>
>
>

Reply via email to