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 < address@hidden>
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 < address@hidden>
a écrit :
"
\override Slur.positions = #'(0 . -3)" should be
removed, not needed.
Le ven. 1 nov. 2019
à 00:38, Pierre Perol-Schneider < address@hidden>
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 < address@hidden>
a écrit :
PS. You can remove "\omit
SystemStartBar", no need here.
Le jeu. 31
oct. 2019 à 23:55, Pierre Perol-Schneider < address@hidden>
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
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.
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
< address@hidden>
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
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?
|