double dot articulation

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

double dot articulation

fsarud
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 | Threaded
Open this post in threaded view
|

Re: double dot articulation

Schneidy
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 <[hidden email]> 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 | Threaded
Open this post in threaded view
|

Re: double dot articulation

fsarud
Hi Pierre, 

of course. I tried that. My problem (and the reason for writing "my" puntitosmarkup) was the need to use the \tie command to add the slur. 
I couldn't find the way to add it to the original tongue function. (I'm sure there will be a one-line-of-code solution for that, but inaccessible to me). So I re-wrote the idea using a markup function.
Besides that, as the symbol is not symmetrical, I needed the ability to specify the direction. Again, I know there is a better solution. 

Regards!

F. 

El dom., 17 may. 2020 a las 13:58, Pierre Perol-Schneider (<[hidden email]>) escribió:
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 <[hidden email]> 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 | Threaded
Open this post in threaded view
|

Re: double dot articulation

fsarud
(Besides: the solution in "puntitosmarkup" came from this post (https://lists.gnu.org/archive/html/lilypond-user/2019-09/msg00182.html) and was written by Aaron Hill.)

El dom., 17 may. 2020 a las 14:13, Federico Sarudiansky (<[hidden email]>) escribió:
Hi Pierre, 

of course. I tried that. My problem (and the reason for writing "my" puntitosmarkup) was the need to use the \tie command to add the slur. 
I couldn't find the way to add it to the original tongue function. (I'm sure there will be a one-line-of-code solution for that, but inaccessible to me). So I re-wrote the idea using a markup function.
Besides that, as the symbol is not symmetrical, I needed the ability to specify the direction. Again, I know there is a better solution. 

Regards!

F. 

El dom., 17 may. 2020 a las 13:58, Pierre Perol-Schneider (<[hidden email]>) escribió:
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 <[hidden email]> 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.