Ok, interesting challenge
So let start with this one :
viewtopic.php?p=622#p622
Here you go:

- mjcubeSlursRavel.png (51.77 KiB) Viewed 14930 times
The code:
Code: Select all
\version "2.19"
#(set-global-staff-size 16)
%\include "myTools.ily"
\pointAndClickOff
%% This has to be available:
%\include "../compound-slurs.ily"
#(define (suppress message x)
(let loop ((c x))
(if (> c 0)
(begin
(ly:expect-warning message)
(loop (1- c))))))
#(suppress "already have slur" 2)
\layout {
\context {
\Staff
\omit TimeSignature
}
}
muset-slur =
#(define-event-function (ann? end-x end-y)((boolean?) number? number?)
#{
^\compoundSlur \with {
annotate = #ann?
show-grid = #ann?
start-ratio = #-.1
end-point = #`(,end-x . ,end-y)
end-ratio = #-.2
inflection =
#'((X-ratio . .02)
(Y-offset . -8.5)
(angle . 15)
)
inflection =
#'((X-ratio . .085)
(Y-offset . -7.7)
(angle . 40)
(label . "A")
)
inflection =
#'((X-ratio . .105)
(Y-offset . 11)
(angle . -35)
)
inflection =
#'((X-ratio . .235)
(Y-offset . 11)
(angle . -45)
(label . "B")
)
inflection =
#'((X-ratio . .27)
(Y-offset . -7.5)
(angle . 45)
)
inflection =
#'((X-ratio . .36)
(Y-offset . -7.5)
(angle . 40)
(label . "C")
)
inflection =
#'((X-ratio . .39)
(Y-offset . 11)
(angle . -35)
)
inflection =
#'((X-ratio . .53)
(Y-offset . 11)
(angle . -45)
(label . "D")
)
inflection =
#'((X-ratio . .56)
(Y-offset . -7.5)
(angle . 40)
)
inflection =
#'((X-ratio . .652)
(Y-offset . -7.5)
(angle . 40)
(label . "E")
)
inflection =
#'((X-ratio . .68)
(Y-offset . 11)
(angle . -35)
)
inflection =
#'((X-ratio . .81)
(Y-offset . 11)
(angle . -45)
(label . "F")
)
inflection =
#'((X-ratio . .84)
(Y-offset . -8.5)
(angle . 40)
)
inflection =
#'((X-ratio . .935)
(Y-offset . -10)
(angle . 40)
(label . "G")
)
inflection =
#'((X-ratio . .97)
(Y-offset . 7.8)
(angle . -50)
)
}
#})
RH = \fixed c' {
\time 3/4
\key d\minor
| % mes.1
r4 d''( d')
| % mes.2
<g, bes, d g>2 <f, a, c f>4
| % mes.3
r4 d''( d')
| % mes.4
<a, c e a>4 <bes, d f bes> <d, f, a, d>
| % mes.5
r4 d''( d')
| % mes.6
<a, c e a>2 <g, bes, d g>4
| % mes.7
r4 d''( d')
| % mes.8
<d, f, a, d>2.
\bar "||"
}
%% Left hand clef positions:
cleF = { \once\override Staff.Clef.space-alist = #'((staff-bar extra-space . 0.2)) \clef F }
cleG = { \once\override Staff.Clef.space-alist = #'((staff-bar extra-space . 1.5)) \clef G }
LH = \fixed c' {
\time 3/4
\key d\minor
| % mes.1
\tag #'coord { <bes, f d bes>2_\muset-slur ##t 91.6 12 }
\tag #'clean { <bes, f d bes>2_\muset-slur ##f 91.6 12 }
<a, c e a>4
| % mes.2
\cleF g,,4_( \once\stemUp d,2)
| % mes.3
\cleG <bes, d f bes>2 <d f a \parenthesize d'>4
| % mes.4
\cleF g,,4_( \once\stemUp d,2)
| % mes.5
\cleG <a, c e a>2 <bes, d f bes>4
| % mes.6
\cleF g,,4_( \once\stemUp d,2)
| % mes.7
\cleG <f, a, c f>4 <g, bes, d g> <c, e, g, c>
| % mes.8
\cleF g,,4^( d, d)
\bar "||"
}
\paper {
indent = 0
ragged-right = ##f
}
\header {
title = "Le tombeau de Couperin"
composer = \markup { "Maurice" \caps "Ravel" }
piece = \markup\left-column { "Musette (extract)" \vspace #1 }
}
\markup\vspace #1
\score { \new PianoStaff << \new Staff \RH \new Staff { \keepWithTag #'clean \LH } >> }
\markup\vspace #5
\score { \new PianoStaff << \new Staff \RH \new Staff { \keepWithTag #'coord \LH } >> }
PDF also enclosed for better view.
Cheers
