From 1fb168abe48f985ed237d55684965b6a99e1fd9c Mon Sep 17 00:00:00 2001 From: Tucker Johnson Date: Wed, 17 Dec 2025 00:20:45 -0500 Subject: [PATCH] ossia work --- general/scripts.ly | 23 ++++++ manuscripts/II-clarinet.ly | 163 ++++++++++++++++++++++++------------- manuscripts/II-piano.ly | 2 +- 3 files changed, 130 insertions(+), 58 deletions(-) diff --git a/general/scripts.ly b/general/scripts.ly index b06de28..5ba736e 100644 --- a/general/scripts.ly +++ b/general/scripts.ly @@ -43,6 +43,29 @@ fractionalTime = \time #(to-internal-ts top partial bottom) #}) +#(define (wide-cluster-stencil orig width) + (let* ((ext (ly:stencil-extent orig X)) + (current-width (- (cdr ext) (car ext))) + (scale (/ width current-width)) + (scaled (ly:stencil-scale orig scale 1.0)) + (shift (* -0.5 (- width current-width)))) + (ly:stencil-translate scaled (cons shift 0)))) + +wideCluster = +#(define-music-function (width music) (number? ly:music?) + #{ + \once \override ClusterSpanner.stencil = + #(lambda (grob) + ;; obtain the original stencil correctly + (let* ((proc (ly:grob-property grob 'stencil #f)) + (orig (if (procedure? proc) + (proc grob) + proc))) + (wide-cluster-stencil orig width))) + \makeClusters { #music } + #}) + + pseudoIndents = % inline alternative to a new \score, also with right-indent #(define-music-function (name-tweaks left-indent right-indent) ((markup-list? '()) number? number?) diff --git a/manuscripts/II-clarinet.ly b/manuscripts/II-clarinet.ly index dbac8a7..e518e17 100644 --- a/manuscripts/II-clarinet.ly +++ b/manuscripts/II-clarinet.ly @@ -86,7 +86,7 @@ \override Staff.SectionLabel.font-size = #2.5 \transpose c bes, \relative { \clef "bass" - c'8 r8 g8 r8 r4 | %O-028 + \once \omit Staff.TimeSignature c'8 r8 g8 r8 r4 | %O-028 r4 r4 ees,4( | %O-029 b2. | %O-030 c4~ 8) d''8-. fis,8\laissezVibrer a8\laissezVibrer | %O-031 @@ -141,7 +141,7 @@ \tag #'part { \override Staff.SectionLabel.font-size = #2.5 \transpose c bes, \relative { - \clef "treble" r4 8-. r8 8-. r8 | %O-049 + \once \omit Staff.TimeSignature \clef "treble" r4 8-. r8 8-. r8 | %O-049 r4 \ottava #-1 e,( f,8-.) \ottava #0 c''''8~ | %O-050 c8 \ottava #-1 b,,,8-. \ottava #0 c'''8 d,4 g,8~ | %O-051 g8 cis'8-. g,4( fis'4~ | %O-052 @@ -200,27 +200,32 @@ \sectionLabel \markup { \huge \box \sans \bold 84 } \omit Score.BarNumber - \time 4/4 bes8-.\mf\< ces8( des ees)\f c8-.\p r8 r4 | \undo \omit Score.BarNumber \tag #'part { \break \pageTurn } %084 + \time 4/4 bes8-.\mf\< ces8( des ees)\f c8-.\p r8 r4 | \undo \omit Score.BarNumber \tag #'part { \pageTurn } %084 << { \tag #'part { \omit Staff.TextSpanner } c8-. c8(\< d8 e8)\mf r4 r8 e8-. | %085 \time 3/4 r8 e8-. f8( g8) g8( a~ | %086 a8) \slashedGrace e8^( b'8)--\mp \grace ees,8^( c8\f d8-.) r8 d8-.-> | %087 - r8 \slashedGrace ces'8^( des,8\p ees8-.) ees8-. \grace d8^( e4->)\f | \tag #'part { \break \noPageBreak } %088 + r8 \slashedGrace ces'8^( des,8\p ees8-.) ees8-. \grace d8^( e4->)\f | %088 + \tag #'part { \break \noPageBreak } \slashedGrace a8^( fis8)\p\< fis8-. fis( gis8) gis8( ais8~ | %089 ais4) r8 ais8(\f b8-.) r8 | %090 b8( cis8~ cis4)\> r8 des( | %091 ees8) ees8-.\mf \slashedGrace e,8^( f'4.)\ff f8-.\> | %092 - f8-. f8-. f8-. ges8--\mf\< ges8-. ges( | \tag #'part { \break \noPageBreak } %093 + \tag #'part { \break \noPageBreak } + f8-. f8-. f8-. ges8--\mf\< ges8-. ges( | %093 \time 3 3/8 aes8) \slashedGrace f8^( g8\ff a,8~ | %094 \time 3/4 \timeSpanner "poco accel." a8)\startTextSpan \slashedGrace aes'8^( bes,8~ bes4.) bes8-.\> | %095 bes8-. bes8-. bes8-. bes8-. bes8-.\mp \slashedGrace ees8^( c8\f | %096 d8-.) r8 d8-. d8-. d8( e8-.) | %097 - \slashedGrace bes8^( f8)\mf f'8-. f8( g8-.) g8-.\< g8( | \tag #'part { \break \noPageBreak } %098 + \tag #'part { \break \noPageBreak } + \tag #'part { \pseudoIndents 0 15 } + \slashedGrace bes8^( f8)\mf f'8-. f8( g8-.) g8-.\< g8( | %098 \time 3 3/8 a8-.) a8-. a8-.\stopTextSpan | %099 \tempo 4=174 - \time 3/4 \slashedGrace a,8^( ges'8\ff aes8-.) aes8-. aes8( bes-.) + \time 3/4 \slashedGrace a,8^( ges'8\ff aes8-.) + aes8-. aes8( bes-.) \tag #'part { \undo \omit Staff.TextSpanner } r8 \bar "||" %100 @@ -233,7 +238,7 @@ \tag #'part { \override Staff.SectionLabel.font-size = #2.5 \transpose c bes, \relative { - 8-. r8 8-. r8 r8 ges'8( aes8) aes( | %O-085 + \once \omit Staff.TimeSignature 8-. r8 8-. r8 r8 ges'8( aes8) aes( | %O-085 bes) r8 8-. 8-. r8 8-. | %O-086 r4 r8 bes8-. r8 f'8~ | %O-087 f2.\laissezVibrer | %O-088 @@ -253,20 +258,23 @@ << { \time 3/4 \grace s8 - \tuplet 3/2 { r8 ges,8 8 } \tuplet 3/2 { 8 8 } - 8-. + \tuplet 3/2 { r8 ges,8 8 } \tuplet 3/2 { \tweak font-size #-6 8 \tweak font-size #-6 8 } + \tweak font-size #-6 8-. } \new Voice { - \override ClusterSpanner.style = #'centered-stairs - \grace s8 s4 \tuplet 3/2 { s8 \makeClusters { 32 32 s32 } s8 } + \override ClusterSpanner.extra-offset = #'(0.5 . 0) + \grace s8 s4 \tuplet 3/2 { s8 \makeClusters { 8 } s8 } } \new Voice { - \override ClusterSpanner.style = #'centered-stairs - \grace s8 s4 \tuplet 3/2 { s8 s8 \makeClusters { 32 g32 32 s32 } } + \override ClusterSpanner.extra-offset = #'(0.5 . 0) + \grace s8 s4 \tuplet 3/2 { s8 s8 \makeClusters { 8 } } } \new Voice { - \override ClusterSpanner.style = #'centered-stairs - \grace s8 s4 \tuplet 3/2 { s8 s8 s } \makeClusters { 32 32 } + \override ClusterSpanner.extra-offset = #'(0.5 . 0) + \grace s8 s4 \tuplet 3/2 { s8 s8 s8 } + \makeClusters { + 8 + } } >> } @@ -277,48 +285,46 @@ \tweak self-alignment-X #CENTER \textEndMark \markup { \concat { \rhythm { \tuplet 3/2 { 8 } } " = " \rhythm { { 8 } } } } \omit Score.BarNumber \tempo \markup { \hspace #3.5 "Prestissimo" } 4=232 - \time 4/4 R1*6 | \undo \omit Score.BarNumber + \time 4/4 <>\tag #'part -\markup { \halign #-9.75 V.S. } R1*6 | + \tag #'part { \pageTurn } + \undo \omit Score.BarNumber << { - \voiceOne \rit \after 4. \startTextSpan R1 | - r2 r4 r8 - } - \tag #'part { - \new CueVoice \relative { - \cueClef "bass" r4 r8 \ottava #-1 8( ) 8-. 8-. 8 - 8 e8---> 8 aes,8---> 8-. g8---> 8 \ottava #0 - } - } - >> - \oneVoice \cueClefUnset - f,,,8~\niente\<\stopTextSpan | \tag #'part { \break \noPageBreak } %108 + \tag #'part { \omit Staff.TextSpanner } + \timeSpanner "rit." \after 4. \startTextSpan R1 | + r2 r4 r8 f,,,8~\niente\<\stopTextSpan | %108 - \sectionLabel \markup { \huge \box \sans \bold 109 } - \omit Score.BarNumber - \tempo 4=200 - \time 3/4 f2~ f8 - << - { + \tag #'part { \once \override Staff.SectionLabel.stencil = ##f } + \sectionLabel \markup { \huge \box \sans \bold 109 } + \omit Score.BarNumber + \tempo 4=200 + \time 3/4 f2~ f8 des'8->~\f | \undo \omit Score.BarNumber %109 des4 bes2->~ | %110 bes2\> d,4~\mp | %111 + \tag #'part { \break \noPageBreak } 2.~\> | %112 2.\niente\< | %113 c'2.->~\f | %114 - \rit c4.\startTextSpan b4.->\> | %115 - ees,2.~\p\< | \tag #'part { \break \noPageBreak } %116 + \timeSpanner "rit." c4.\startTextSpan b4.->\> | %115 + ees,2.~\p\< | %116 2 f4~\f | %117 + \tag #'part { \break \noPageBreak } \after 2 \stopTextSpan f2. \tempo "Tempo primo" 4=168 \bar "||" %118 fis4-> a2->~ | %119 4. g4.~-> | %120 - g4\startTextSpan aes4->~ aes8 e8~-> | %121 + \timeSpanner "rit." g4\startTextSpan aes4->~ aes8 e8~-> | %121 2.~\> | %122 - 4\p r4 \after 8 \stopTextSpan r4 \bar "||" \tag #'part { \pageTurn } %123 + 4\p r4 \after 8 \stopTextSpan r4 \bar "||" %123 + \tag #'part { \break \noPageBreak } + \tag #'part { \once \override Staff.SectionLabel.stencil = ##f } \sectionLabel \markup { \huge \box \sans \bold 124 } \omit Score.BarNumber \tempo "Poco rubato" 4=152 R1*3/4 | \undo \omit Score.BarNumber %124 + r8 a'4(\mp\< fis) bes8~-> | %125 + \tag #'part { \undo \omit Staff.TextSpanner } } \tag #'part \new Staff \with { alignAboveContext = "cl2" @@ -329,55 +335,98 @@ \override Staff.SectionLabel.font-size = #2.5 \transpose c bes, \relative { \clef "bass" - 8-- | - 8-. 8-. 4 r4 | - r4 8 c,,,8--->\laissezVibrer 8\laissezVibrer 8-. | - r8 dis,8---> + \once \omit Staff.TimeSignature r4 r8 \ottava #-1 \timeSpanner "rit." 8(\startTextSpan ) 8-. 8-. 8 | %O107 + 8 e8---> 8 aes,8---> 8-. g8---> 8 \ottava #0 8--\stopTextSpan | %O108 + + r4 r4 r8 8-- | %O109 + 8-. 8-. 4 r4 | %O110 + r4 8 c,,,8--->\laissezVibrer 8\laissezVibrer \ottava #-1 8-. | %O111 + r8 dis,8---> \ottava #0 8 \ottava #-1 b,8---> 8-. \ottava #0 8-. | %O112 + \ottava #-1 bes,8---> des8~---> des2 \ottava #0 | %O113 + 4 r4 r4 | %O114 + 8-. \ottava #-1 d,,8---> 8 \ottava #0 8 8-. 8-. | %O115 + 8-- 8-. 8 g,8---> 8-. r8 | %O116 + r4 r4 8\laissezVibrer 8-. | %O117 + r4 r8 8 8 e,,8\laissezVibrer | %O118 + 8-- 8-. 8\laissezVibrer gis,8~-> gis4~ | %O119 + gis8 fis'8->\laissezVibrer r8 8-- 8-. r8 | %O120 + \timeSpanner "rit." f'4->--\startTextSpan 8 a8\laissezVibrer r8 8 | %O121 + 8 r8 8( 4) 8-. | %O122 + r8 8-- 8-- r8 \after 8 \stopTextSpan e,4\laissezVibrer | %O123 + 4-- b,\laissezVibrer gis'8\laissezVibrer e8\laissezVibrer \clef "treble" | %O124 + c''8-. 4( 4) } } >> - r8 a'4(\mp\< fis) bes8~-> | %125 bes8 f4-> des4->\f \slashedGrace fis8( d8~\p | %126 d2\< fis4~\mp | %127 - fis4) \breathe des'4->\f bes8-> \slashedGrace f8^( d'8~\> | \tag #'part { \break \noPageBreak } %128 + \tag #'part { \pageTurn } + fis4) \breathe des'4->\f bes8-> \slashedGrace f8^( d'8~\> | %128 d8 a8~ \after 4. \mp a2) | %129 - \slashedGrace b8^( f8->)\startTextSpan ees'8~ ees4~\< ees8 \slashedGrace f,8^( b8~->\f\> | %130 + \slashedGrace b8^( \timeSpanner "rit." f8->)\startTextSpan ees'8~ ees4~\< ees8 \slashedGrace f,8^( b8~->\f\> | %130 b8) c8~ \after 8 \p c4 \slashedGrace b8^( \after 8 \stopTextSpan e4~->\f \tempo 4=144 | %131 + \tag #'part { \break \noPageBreak } e8) aes8-> g,2~\> | %132 - 8\mp \breathe g8~( g4~ g8 b,8~ | \tag #'part { \break \noPageBreak } %133 + 8\mp g8~( g4~ g8 b,8~ | %133 b8) \slashedGrace gis''8^( dis4)\mf e,8( gis,4~ | %134 - gis4)\startTextSpan \slashedGrace e''8^( g,2~\> | %135 - g2) c4~ | %136 - c4 r8 \after 4 \stopTextSpan g4.\p \tempo 4=132 | %137 + << + { + \tag #'part { \omit Staff.TextSpanner } + \timeSpanner "rit." gis4)\startTextSpan \slashedGrace e''8^( g,2~\> | %135 + \tag #'part { \break \noPageBreak } + g2) c4~ | %136 + c4 r8 \after 4 \stopTextSpan g4.\p | %137 + \tag #'part { \undo \omit Staff.TextSpanner } + } + \tag #'part \new Staff \with { + alignAboveContext = "cl2" + \magnifyStaff #2/3 + } + \tag #'part { + \override Staff.SectionLabel.font-size = #2.5 + \transpose c bes, \relative { + \once \omit Staff.TimeSignature + \clef "bass" + \timeSpanner "rit." f,2\startTextSpan \clef "treble" fis'''8\laissezVibrer \clef "bass" f,,,8->\laissezVibrer | %O-135 + bes4\laissezVibrer des4\laissezVibrer r8 \clef "treble" 8~ | %O-136 + 4. \after 4 \stopTextSpan 4. | %O-137 + } + + } + >> \sectionLabel \markup { \huge \box \sans \bold 138 } \omit Score.BarNumber - fis8 d4 f( c'8~ | \undo \omit Score.BarNumber \tag #'part { \break \noPageBreak } %138 + \tempo 4=132 + fis8 d4 f( c'8~ | \undo \omit Score.BarNumber %138 c2) r4 | %139 r8 a,8~(\mf a2 | %140 + \tag #'part { \break \noPageBreak } gis4.) e''4.\p | %141 ees,,4.\mf b''4(\p bes8~ | %142 - bes2) des,4-> | \tag #'part { \break \noPageBreak } %143 + bes2) des,4-> | %143 a'2 bes'8(\< c,8~ | %144 c2)\mf r8 b,8~ | %145 - \ace b8\startTextSpan d4 f'8 e,,4( | %146 + \tag #'part { \break \noPageBreak } + \timeSpanner "accel." b8\startTextSpan d4 f'8 e,,4( | %146 fis4) ees'4( aes8 g~ | %147 - g4) c,8\p\< des'4 ces'8-. | \tag #'part { \break \noPageBreak } %148 + g4) c,8\p\< des'4 ces'8-. | %148 r8 bes,,8 fes''2~( | %149 - fes8 ges8-.) \after 4. \stopTextSpan f,,2\f \bar "||" %150 + <>\tag #'part -\markup { \halign #-9.75 V.S. } fes8 ges8-.) \after 4. \stopTextSpan f,,2\f \bar "||" %150 + \tag #'part { \pageTurn } \sectionLabel \markup { \huge \box \sans \bold 151 } \omit Score.BarNumber \tempo "Tempo giusto" 4=144 r4 r4 r8 g8\> | \undo \omit Score.BarNumber %151 d'8 cis'8-.\mp r8 ges,4\f\> fes'8 | %152 - ees'-.\mp\startTextSpan r8 f,4\mf c'4~\< | \tag #'part { \break \noPageBreak } %153 + ees'-.\mp\startTextSpan r8 f,4\mf c'4~\< | %153 c8 a,8\f r8 f8 g'4~\mf | %154 g8 r8 e,8\f\> fis'4 \after 16 \stopTextSpan gis'8\mp \tempo "Tempo primo" 4=168 \bar "||" %155 d,,4.\f d8-. r8 a''8~\mp | %156 a8 b'4(\< bes8-.) ees,4~ | %157 - ees4 ces,8-.\f r8 r4 | \tag #'part { \break \pageTurn } %158 + ees4 ces,8-.\f r8 r4 | %158 bes8\> c'8-.\p r4 r8 aes,8\mf\> | %159 des'8-. e'4(\p f d8-.) | %160 r8 ees,,,8(\f\> c'4 b'8-.)\p r8 | %161 diff --git a/manuscripts/II-piano.ly b/manuscripts/II-piano.ly index a5ccbd6..90fd53a 100644 --- a/manuscripts/II-piano.ly +++ b/manuscripts/II-piano.ly @@ -562,7 +562,7 @@ r4 r8 b,8\> dis e~ | %b118 e8\p cis'8-. r8 gis4.->~ | %b119 8 fis'->~ fis2 \ottava #0 | %b120 - r4 4 r8 | %b121 + r4 4 r8 | %b121 r8 \ottava #-1 des,8( bes4) r8 | %b122 r8 d8 \ottava #0 r4 e'4~\mf | %123 -- 2.39.5