On 11/1/2019 6:00 AM, Pierre Perol-Schneider wrote:
Simplified:

\version "2.19.83"

#(define-markup-command (ric-mkp layout props note)(ly:music?)
  (interpret-markup layout props
   #{
     \markup {
        \override #'(baseline-skip . 1.5)
        \left-column
        {
          \line { \hspace #2 \teeny\bold "ric." }
          \score {
            \fixed b' {
              \shape #'(((-1 . -.5) (0 . -.5) (0 . -.5) (1 . -.5))) Slur
              \cadenzaOn #note r1
            }
            \layout {
              \context {
                \Score
                proportionalNotationDuration = #(ly:make-moment 1/7)
              }
              \context {
                \Staff
                \omit Clef
                \omit TimeSignature
                \omit Stem
                \omit Flag
                \omit Beam
                \omit Rest
                \override Rest.X-extent = #'(0 . .5)
                \override StaffSymbol.line-positions = #'(0)
                \override StaffSymbol.stencil = ##f
                \override NoteHead.stencil = #(lambda (grob)
                  (grob-interpret-markup grob #{ \markup\musicglyph #"dots.dot" #}))
              }
            }
          }
        }
      } #}))

ric = ^\markup \ric-mkp \etc

% Test:
{
  d''4 \ric ##{ b16( 16 8 16 16 8 16 16 16) #}
  s2.
  d''4 \ric ##{ b16( 16 16 16 16 16 16 16) #}
  s2.
  d''4 \ric ##{ b8( 8 8 8 8 8 4 16 16 16) #}
  s1..
  d''4 \ric ##{ b128( 128) #} % <= bad output...
  s2.
  d''4 \ric ##{ b4( 4 16) #}
}

Cheers,
Pierre

Hi Pierre,

Thank you so much for working on this code. Could you explain a bit of your last simplified snippet? I don't understand how the values and parameters work and how you arrive at them, sorry!




Le ven. 1 nov. 2019 à 00:54, Pierre Perol-Schneider <[email protected] <mailto:[email protected]>> a écrit :

    Some tests:

    #(define-markup-command (ric layout props note)(ly:music?)
      (interpret-markup layout props
       #{
         \markup {
            \override #'(baseline-skip . 1.5)
            \left-column {
              \line { \hspace #2 \teeny\bold "ric." }
              \score {
                \fixed b' {
                  \shape #'(((-1 . -.5) (0 . -.5) (0 . -.5) (1 .
    -.5))) Slur
                  \cadenzaOn
                  #note
                  r1
                }
                \layout {
                  \context {
                    \Score
                    proportionalNotationDuration = #(ly:make-moment 1/7)
                  }
                  \context {
                    \Staff
                    \omit Clef
                    \omit TimeSignature
                    \omit Stem
                    \omit Flag
                    \omit Beam
                    \omit Rest
                    \override Rest.X-extent = #'(0 . .5)
                    \override StaffSymbol.line-positions = #'(0)
                    \override StaffSymbol.stencil = ##f
                    \override NoteHead.stencil = #(lambda (grob)
                      (grob-interpret-markup grob #{
    \markup\musicglyph #"dots.dot" #}))
                  }
                }
              }
            }
          } #}))

    % Tests:
    {
      d''4 ^\markup \ric ##{ b16( 16 8 16 16 8 16 16 16) #} s2.
      d''4 ^\markup \ric ##{ b16( 16 16 16 16 16 16 16) #} s2.
      d''4 ^\markup \ric ##{ b8( 8 8 8 8 8 8 8 8 8 16) #} s1 s
      d''4 ^\markup \ric ##{ b4( 4 16) #}
    }

    Le ven. 1 nov. 2019 à 00:44, Pierre Perol-Schneider
    <[email protected]
    <mailto:[email protected]>> a écrit :

        " \override Slur.positions = #'(0 . -3)" should be removed,
        not needed.

        Le ven. 1 nov. 2019 à 00:38, Pierre Perol-Schneider
        <[email protected]
        <mailto:[email protected]>> a écrit :

            This should work:
            #(define-markup-command (ric layout props note)(ly:music?)
              (interpret-markup layout props
               #{
                 \markup {
                    \override #'(baseline-skip . 1)
                    \left-column {
                      \line { \hspace #2 \teeny\bold "ric." }
                      \score {
                        \fixed b' {
                          \shape #'(((-1 . -.5) (0 . -.5) (0 . -.5) (1
            . -.5))) Slur
                          #note
                          r1
                        }
                        \layout {
                          \context {
                            \Score
                            proportionalNotationDuration =
            #(ly:make-moment 1/10)
                          }
                          \context {
                            \Staff
                            \omit Clef
                            \omit TimeSignature
                            \omit Stem
                            \omit Flag
                            \omit Beam
                            \omit BarLine
                            \omit Rest
                            \override Rest.X-extent = #'(0 . .5)
                            \override StaffSymbol.line-positions = #'(0)
                            \override StaffSymbol.stencil = ##f
                            \override Slur.positions = #'(0 . -3)
                            \override NoteHead.stencil = #(lambda (grob)
                              (grob-interpret-markup grob #{
            \markup\musicglyph #"dots.dot" #}))
                          }
                        }
                      }
                    }
                  } #}))

            % Test:
            { d'' ^\markup \ric ##{ b16( 16 8 16 16 8 16 16 16) #} }

            Le jeu. 31 oct. 2019 à 23:58, Pierre Perol-Schneider
            <[email protected]
            <mailto:[email protected]>> a écrit :

                PS. You can remove "\omit SystemStartBar", no need here.

                Le jeu. 31 oct. 2019 à 23:55, Pierre Perol-Schneider
                <[email protected]
                <mailto:[email protected]>> a écrit :

                    I was thinking of something just before going to bed:

                    {
                      d''4^\markup {
                            \override #'(baseline-skip . 1)
                            \left-column {
                              \line { \hspace #2 \teeny\bold "ric." }
                              \score {
                                \fixed b' {
                                  \shape #'(((-1 . -.5) (0 . -.5) (0 .
                    -.5) (1 . -.5))) Slur
                                  { b16( 16 8 16 16 8 16 16 8 16 16 8)
                    } % <= input the rhythm needed
                                  r1
                                }
                                \layout {
                                  \context {
                                    \Score
                    proportionalNotationDuration = #(ly:make-moment 1/10)
                                    \omit SystemStartBar
                                  }
                                  \context {
                                    \Staff
                                    \omit Clef
                                    \omit TimeSignature
                                    \omit Stem
                                    \omit Flag
                                    \omit Beam
                                    \omit BarLine
                                    \omit Rest
                                    \override Rest.X-extent = #'(0 . .5)
                                    \override
                    StaffSymbol.line-positions = #'(0)
                                    \override StaffSymbol.stencil = ##f
                                    \override Slur.positions = #'(0 . -3)
                                    \override NoteHead.stencil =
                    #(lambda (grob)
                                      (grob-interpret-markup grob #{
                    \markup\musicglyph #"dots.dot" #}))
                                  }
                                }
                              }
                            }
                          }
                    }

                    Now, for some reason, I did not succeed any markup
                    function; this does not work:

                    #(define-markup-command (ric layout props
                    note)(ly:music?)
                      (interpret-markup layout props
                       #{
                         \markup {
                            \override #'(baseline-skip . 1)
                            \left-column {
                              \line { \hspace #2 \teeny\bold "ric." }
                              \score {
                                \fixed b' {
                                  \shape #'(((-1 . -.5) (0 . -.5) (0 .
                    -.5) (1 . -.5))) Slur
                                  { #note }
                                  r1
                                }
                                \layout {
                                  \context {
                                    \Score
                    proportionalNotationDuration = #(ly:make-moment 1/10)
                                    \omit SystemStartBar
                                  }
                                  \context {
                                    \Staff
                                    \omit Clef
                                    \omit TimeSignature
                                    \omit Stem
                                    \omit Flag
                                    \omit Beam
                                    \omit BarLine
                                    \omit Rest
                                    \override Rest.X-extent = #'(0 . .5)
                                    \override
                    StaffSymbol.line-positions = #'(0)
                                    \override StaffSymbol.stencil = ##f
                                    \override Slur.positions = #'(0 . -3)
                                    \override NoteHead.stencil =
                    #(lambda (grob)
                                      (grob-interpret-markup grob #{
                    \markup\musicglyph #"dots.dot" #}))
                                  }
                                }
                              }
                            }
                          } #}))

                    { d'' ^\markup  { \ric b16 16 8 } }

                    Good night to you, cheers,
                    Pierre


                    Le jeu. 31 oct. 2019 à 20:26, Ben
                    <[email protected]
                    <mailto:[email protected]>> a écrit :

                        On 10/31/2019 3:07 PM, Pierre Perol-Schneider
                        wrote:
                        Manually you could do:

                        {
                          d''^\markup
                               \override #'(baseline-skip . 1.5)
                               \left-column {
                                 \line { \hspace #2 \teeny\bold "ric." }
                                 \line {
                                    " "
                                    \overtie\concat {
                                      " " \pattern #3 #X #1
                        \musicglyph #"dots.dot"
                                      \hspace #10
                                      \concat {
                                        " " \pattern #3 #X #1
                        \musicglyph #"dots.dot"
                                        " "
                                      }
                                    }
                                 }
                               }
                        }

                        Automagically, no time enough tonight, sorry...
                        Cheers,
                        Pierre

                        Many thanks for your help and time, Pierre :)
                        Have a good night.


                        Le jeu. 31 oct. 2019 à 20:05, Ben
                        <[email protected]
                        <mailto:[email protected]>> a écrit :

                            On 10/31/2019 2:50 PM, Pierre
                            Perol-Schneider wrote:
                            Oops, I miss something, here it goes:

                            \version "2.19.83"

                            #(define-markup-command (ricochet layout
                            props nb spce) (integer? number?)
                              (interpret-markup layout props
                                #{ \markup
                                   \override #'(baseline-skip . 1.5)
                                   \left-column {
                                     \line { \hspace #2 \teeny\bold
                            "ric." }
                                     \line {
                                        " "
                            \overtie\concat {
                                          " " \pattern #nb #X #spce
                            \musicglyph #"dots.dot"
                                          " "
                                        }
                                     }
                                   } #}))

                            {
                              d''^\markup\ricochet #7 #1 s s s
                              d''^\markup\ricochet #3 #3
                            }

                            Cheers,
                            Pierre

                            Le jeu. 31 oct. 2019 à 19:45, Pierre
                            Perol-Schneider
                            <[email protected]
                            <mailto:[email protected]>>
                            a écrit :

                                Hi Ben,
                                How about:

                                \version "2.19.83"

                                #(define-markup-command (ricochet
                                layout props nb spce) (integer? number?)
                                  (interpret-markup layout props
                                    #{ \markup {
                                          " "
                                \overtie\concat {
                                            " " \pattern #nb #X
                                #spce \musicglyph #"dots.dot"
                                            " "
                                          }
                                        } #}))

                                {
                                  d''^\markup\ricochet #7 #1 s s s
                                  d''^\markup\ricochet #3 #3
                                }

                                HTH, cheers,
                                Pierre

                                Le jeu. 31 oct. 2019 à 15:45, Ben
                                <[email protected]
                                <mailto:[email protected]>>
                                a écrit :

                                    Good morning!

                                    How would it be possible to
                                    create the attached ricochet
                                    articulation in LilyPond?

                                    Also, I'm looking for a way to
                                    be able to modify the dots in
                                    two ways, for example:
                                    add/remove the number of dots
                                    (3-6) per articulation instance,
                                    and add some space in between
                                    several of the dots to suggest a
                                    certain 'rhythm' to the ricochet.

                                    Any suggestions would be
                                    appreciated. :)

                                    Thanks!


                            Maybe something like this, where you can
                            group dots and then add space?

                            c''2^\markup\ricochet #2  #1 #4 s2 |

                            (   group 2 dots    <1 space>    group 4
                            dots |   )

                            Is this doable?


Reply via email to