\version "2.20" \language "deutsch" \include "oll-core/package.ily" \loadModule bezier.shapeII otherDynamic = #(define-event-function (parser location text) (markup?) (if (string? text) (let* ((underscores-replaced (string-map (lambda (x) (if (eq? x #\_) #\space x)) text)) (split-text (string-split underscores-replaced #\space)) (formatted (map (lambda (word) (if (string-match "^[mrzfps]*$" word) (markup #:dynamic word) (markup #:normal-text #:italic word))) split-text))) #{ #(make-dynamic-script (make-line-markup formatted)) #}) ;; user provided a full-blown markup, so we don't mess with it: #{ #(make-dynamic-script (markup #:normal-text text)) #})) \layout { \context { \Voice \accepts "Notes" %\accepts "Container" } \context { \name "Notes" \type "Engraver_group" } \context { \Staff \accepts "Container" } \context { \Dynamics \accepts "Container" } \context { \name "Container" \type "Engraver_group" \accepts "Notes" \accepts "Voice" } } \layout { \context { \Voice \consists "Melody_engraver" \override Stem #'neutral-direction = #'() tupletSpannerDuration = #(ly:make-moment 1 4) } \context { \Staff \consists "Span_arpeggio_engraver" } } tQ = \set tupletSpannerDuration = #(ly:make-moment 1 2) global = { \numericTimeSignature \key es \major \time 4/4 \tempo "Molto lento e ritenuto" } toDyn = #(define-music-function (music1 music2) (ly:music? ly:music?) #{ << #music1 \new Container \new Notes { \change Container="dynamix" #music2 } >> #}) pedon = #(define-music-function (music) (ly:music?) #{ << #music \new Container \new Notes { \change Container="pedal" s\sustainOn } >> #}) pedoff = #(define-music-function (music) (ly:music?) #{ << #music \new Container \new Notes { \change Container="pedal" s\sustainOff } >> #}) right = \relative c' { \global \toDyn r4 s4-\tweak extra-offset #'(0 . -1.5) -\pp b c2 | r4 b( c es~ | es8) b^( c es g2) | \voiceOne g8( as g f f es f g) | \oneVoice 2. 4( | 2.) 4 | << { \voiceOne 2( es')~ | es4( b g4. f8) | es2.( b4) | \oneVoice } \new Voice \relative f' { \voiceTwo g4. f8 es4 c | es2 b | b1 } >> \toDyn r4 s4\otherDynamic "sempre pp e Ped. ad lib" b( c2)~ | c4 b( c es)~ | es8 b( c es g c, es g | b2.) 4( | 2 4) | } left = { << \global \relative c' { \voiceOne r2 r4 ~ | 2 ~ | 4 \shape #'((0.4 . -4.5) (1.5 . -3) (-2 . -7) (-0.6 . -2.3)) Slur g( b \change Staff="upper" \voiceTwo es | 2) | \change Staff="lower" } \new Voice \relative c, { \voiceTwo b4\sustainOn r4 r2 | b4\sustainOn r4 r2 | } \new Voice \relative f { \voiceFour s1 \once \override Rest.staff-position = #-2 r4 f es2~ | es4 d c b | s1_\markup\italic "senza pedale" } >> << \new Voice \relative c { \voiceOne 2. 4 | 2. 4 | g'1 | g~ | g | \arpeggio \arpeggio g4(\arpeggio b2 c4) | } \new Voice \relative f,, { \voiceTwo \times 2/3 { \once\omit TupletBracket \temporary\override Slur.height-limit = #3.5 r8 \pedon f( b f' b f' } \pedoff b4) s4 |\times 2/3 { \once\omit TupletBracket r8 \pedon f,,( b f' b f' } \pedoff b4) s4 |\revert Slur.height-limit as,2( a) | b2.( c4~ | c b g f) | \set Staff.connectArpeggios = ##t b,2.(\arpeggio f'4) b,2.(\arpeggio f'4) | 1\arpeggio | } >> \relative c'{ 2( ) | \times 2/3 { f,,,8( b f' b f' b) } 2 | } } voce = \relative c' { \global \dynamicUp \autoBeamOff R1*10 r2 r4 b4\pp^\markup\italic"tranquillo" c es g2(\< ~ | g8[\> as])\! g[( f)] f[( es]) f g | b2 g4 r4 | } lyr = \lyricmode { Ich bin der Welt __ ab -- han -- den ge -- kom -- men, } lyren = \lyricmode { \override LyricText.font-shape = #'italic O gar -- ish world, __ long since thou hast lost me, } \score { << \new Staff \with { \RemoveAllEmptyStaves instrumentName = "Bariton." } \voce \addlyrics \lyr \addlyrics \lyren \new PianoStaff \with { instrumentName = "PIANO." } << \new Staff="upper" { \accidentalStyle PianoStaff.piano \right } \new Dynamics \with { \override VerticalAxisGroup.staff-affinity = #CENTER } \new Container="dynamix" { #(skip-of-length right) } \new Staff="lower" { \clef "bass" \accidentalStyle PianoStaff.piano \left } \new Dynamics \with { \override VerticalAxisGroup.staff-affinity = #UP } \new Container="pedal" { #(skip-of-length left) } >> >> \layout { } }