Example: The example coding:
Code: Select all
\version "2.22.0"
#(set-global-staff-size 18)
\pointAndClickOff
globalVyssotskyElegy = {
\clef "G_8"
\key g\major
\time 6/8
}
voixUnVyssotskyElegy = {
\repeat volta 2 {
| % mes.1
b'4.~8 e'' b'
| % mes.2
ais'4. 4.
| % mes.3
a'!4.~8 b'\arpeggio fis'
| % mes.4
a'4. g'
| % mes.5
g'4.~8 <e' c''> g'
| % mes.6
fis'4. 4.
| % mes.7
fis'4. 8 <a dis' g'>\arpeggio dis'
| % mes.8
fis'4. e'
}
\repeat volta 2 {
| % mes.9
d''4.~ 8 c''b'
| % mes.10
b'4. a'
| % mes.11
c''4.~8 b' a'
| % mes.12
a'4. g'
| % mes.13
b'4.~ 8 a' g'
| % mes.14
g'4. fis'
}
\alternative {
{
| % mes.15a
fis'4.~ 8 8\arpeggio e'
| % mes.16a
\once\override Score.BarNumber.stencil =
#(lambda (grob)
(grob-interpret-markup grob #{ \markup\italic "16a" #}))
e'4. dis'
}
{
| % mes.15b
\set Score.currentBarNumber = 15
fis'4. a'8\rest b'\fermata dis'
}
}
\mark\markup\musicglyph #"scripts.segno"
\bar "||"
| % mes.16b
fis'4. e'
\repeat volta 2 {
| % mes.17
fis'4.~ 8 g' a'
| % mes.18
a'4. g'
| % mes.19
gis'4.~ 8 a' b'
| % mes.20
b'4. a'
}
\alternative {
{
| % mes.21a
e''4.~ 8 d'' c''
| % mes.22a
c''4. b'
| % mes.23a
\once\override Score.BarNumber.stencil =
#(lambda (grob)
(grob-interpret-markup grob #{ \markup\italic "23a" #}))
g'4.~ 8 <e' fis'>\arpeggio\fermata e'
| % mes.24a
e'4. dis'
}
{
| % mes.21b
\set Score.currentBarNumber = 21
e''4.~ 8 fis'' e''
}
}
| % mes.22b
b'4.~ 8 c'' b'
| % mes.23b
\once\override Score.BarNumber.stencil =
#(lambda (grob)
(grob-interpret-markup grob #{ \markup\italic "23b" #}))
g'4. 8 <dis' g'>\arpeggio dis'
| % mes.24b
fis'4. e'
\tweak self-alignment-X #RIGHT
\tweak direction #DOWN
\tweak extra-offset #'(2 . 1)
\mark\markup\fontsize #-2 \vcenter {
\italic "D.C. al" \musicglyph #"scripts.segno"
\italic"e poi la Coda" \hspace #-3
}
\bar "||"
\set Timing.measureLength = #(ly:make-moment 1/4)
\stopStaff s4 \startStaff
\set Timing.measureLength = #(ly:make-moment 6/8)
\once\override Staff.Clef.break-visibility = #all-visible
\once\override Staff.Clef.X-extent = #'(-.7 . 2)
\once\override Staff.ClefModifier.X-offset = #.7
\bar "" \clef "G_8" \key g\major
\mark\markup\vcenter { \larger\musicglyph #"scripts.coda" "Coda" }
| % mes.25
fis'4. e'8 g' b'
| % mes.26
<e e' e''>4.\arpeggio <g b e'>\arpeggio
\bar "|."
}
voixDeuxVyssotskyElegy = {
\repeat volta 2 {
| % mes.1
e,4.\tweak X-offset #-4.2 \mf a,4\rest a,8\rest
| % mes.2
cis4. fis
| % mes.3
dis4. fis
| % mes.4
e,2.
| % mes.5
c4. e,
| % mes.6
cis2.
| % mes.7
c!4. b,
| % mes.8
e,2.
}
\repeat volta 2 {
| % mes.9
e,2.
| % mes.10
a,2.
| % mes.11
a4. d
| % mes.12
g4. a,4\rest a,8\rest
| % mes.13
e,2.
| % mes.14
a,4. a,4\rest a,8\rest
}
\alternative {
{
| % mes.15a
cis4. c
| % mes.16a
b,2.
}
{
| % mes.15b
cis4. dis\fermata
}
}
\bar "||"
| % mes.16b
e,2.
\repeat volta 2 {
| % mes.17
a,4. e,
| % mes.18
g4. a,4\rest a,8\rest
| % mes.19
e,4. e
| % mes.20
a,4. a,4\rest a,8\rest
}
\alternative {
{
| % mes.21a
a,4. a,4\rest a,8\rest
| % mes.22a
e,2.
| % mes.23a
c4. cis\fermata
| % mes.24a
b,2.
}
{
| % mes.21b
a,4. a,4\rest a,8\rest
}
}
| % mes.22b
e,2.
| % mes.23b
cis4. b,
| % mes.24b
e,2.
\bar "||"
\stopStaff s4 \startStaff
| % mes.25
e,2.
| % mes.26
e,4.\arpeggio e,\arpeggio
\bar "|."
}
voixTroiVyssotskyElegy = {
\repeat volta 2 {
| % mes.1
b8\rest g b e' e'' b'
| % mes.2
b8\rest cis' e' c'\rest cis' e'
| % mes.3
b8\rest c'! fis' c'\rest <a d'>\arpeggio fis'
| % mes.4
b8\rest b e' b\rest b e'
| % mes.5
b8\rest c' e' b4\rest b8\rest
| % mes.6
b8\rest ais e' a\rest ais e'
| % mes.7
a8\rest a! dis' a4.\rest
| % mes.8
g8\rest g b g\rest g b
}
\bar ":|.|:"
\repeat volta 2 {
| % mes.9
b8\rest b f' gis' c'' b'
| % mes.10
b8\rest c' e' b\rest c' e'
| % mes.11
e'8\rest ees' fis'? b4\rest b8\rest
| % mes.12
d'8\rest c' fis' b\rest b d'
| % mes.13
b8\rest g b e' a' g'
| % mes.14
b8\rest c' e' a\rest c' e'
}
\alternative {
{
| % mes.15a
b8\rest ais e' b\rest <a e'>\arpeggio e'
| % mes.16a
a8\rest fis a g\rest fis a
}
{
| % mes.15b
a8\rest ais e' b\rest a_\fermata dis'
}
}
\bar "||"
| % mes.16b
g8\rest g b g\rest g b
\repeat volta 2 {
| % mes.17
g8\rest c' d' a4\rest b8\rest
| % mes.18
d'8\rest c' fis' b\rest b d'
| % mes.19
b8\rest d' e' b4\rest b8\rest
| % mes.20
b8\rest c' e' b\rest c' e'
}
\alternative {
{
| % mes.21a
b8\rest c' e' a' d'' c''
| % mes.22a
b8\rest e' g' b\rest e' g'
| % mes.23a
b8\rest ais e' b\rest ais\arpeggio_\fermata e'
| % mes.24a
g8\rest fis a! g\rest fis a
}
{
| % mes.21b
b8\rest c' e' a' fis'' e''
}
}
| % mes.22b
b8\rest g b e' c''b'
| % mes.23b
b8\rest ais e' b\rest a\arpeggio dis'
| % mes.24b
g8\rest g b g\rest g b
\bar "||"
\stopStaff s4 \startStaff
| % mes.25
g8\rest g b e' g' b'
| % mes.26
s2.
\bar "|."
}
\paper {
ragged-last-bottom = ##f
top-margin = 15
bottom-margin = 15
left-margin = 15
right-margin = 15
page-count = 1
}
\header {
title = \markup\fontsize #2 "Elegy"
subtitle = \markup\with-color #red \lower #2 {
\override #'(thickness . 3)
\override #'(box-padding . 0.5)
\box\normal-text\sans\fontsize #1 \with-dimensions-from "Lilioond v.2.22 " "LilyPond v.2.22"
}
composer = \markup\override #'(baseline-skip . 2.5)\center-column {
\vspace #-2 \italic "Attributed to" "Mikhail Vyssotsky"
\concat\smaller\italic { "(1791" \hspace #.2 "–" \hspace #.2 "1837)" }
\vspace #1
}
poet = \markup\override #'(baseline-skip . 2.5)\center-column {
\vspace #-2 \italic "Arranged for 6-string guitar by" "Matanya Ophee"
\concat\smaller\italic { "(1932" \hspace #.2 "–" \hspace #.2 "2017)" }
\vspace #1
}
copyright = \markup\override #'(baseline-skip . 2)\center-column\fontsize #-3 {
\vspace #1 \line {
"Copyright" \concat { "©" \hspace #.1 "1997" }
"Editions Orphée, Inc., Columbus, OH, 43235"
}
"International Copyright Secured. Made in U.S.A. All Rights Reserved."
\vspace #-.5
}
tagline = ""
}
\score {
\new Staff <<
\new Voice { \voiceOne \globalVyssotskyElegy \voixUnVyssotskyElegy }
\new Voice { \voiceTwo \globalVyssotskyElegy \voixDeuxVyssotskyElegy }
\new Voice { \voiceThree \stemDown \globalVyssotskyElegy \voixTroiVyssotskyElegy }
>>
\layout {
indent = 10
system-count = 7
\context {
\Score
\override BarNumber.font-shape = #'italic
\override BarNumber.font-size = #-2
\override BarNumber.X-offset= #.3
\override BarNumber.Y-offset = #4
}
\context {
\Staff
\consists "Span_arpeggio_engraver"
connectArpeggios = ##t
}
}
}
Taking a look at the regression tests gives a nice idea of LilyPond's capabilities: http://lilypond.org/doc/v2.22/input/reg ... files.html
Cheers!
Pierre