From: Tucker Johnson Date: Thu, 2 Oct 2025 20:37:53 +0000 (-0400) Subject: init X-Git-Url: https://git.newer.systems/?a=commitdiff_plain;h=10174615a4b67d11748d70bb04a45854e4c46065;p=zohnReading.git init --- 10174615a4b67d11748d70bb04a45854e4c46065 diff --git a/general/aliases.ly b/general/aliases.ly new file mode 100644 index 0000000..398a0d6 --- /dev/null +++ b/general/aliases.ly @@ -0,0 +1,63 @@ +U = \change Staff = "u" +D = \change Staff = "d" + +%spacing +ds = #2.5 +sods = #3.4 +phds = #3.9 + +%notation marks +pizz = ^\markup { "pizz" } +arco = ^\markup { "arco" } +pont = ^\markup { \italic "sul pont" } +tasto = ^\markup { \italic "sul tasto" } +ord = ^\markup { \italic "ord" } + +sD = \stemDown +sU = \stemUp +sN = \stemNeutral + +twoWayFermata = { + \once \set Staff.caesuraType = #'((underlying-bar-line . ".")) + \once \set Staff.caesuraTypeTransform = ##f + \caesura ^\shortfermata _\shortfermata +} + +glissandoSkipOn = { + \override NoteColumn.glissando-skip = ##t + \hide NoteHead + \override NoteHead.no-ledgers = ##t +} + +glissandoSkipOff = { + \revert NoteColumn.glissando-skip + \undo \hide NoteHead + \revert NoteHead.no-ledgers +} + +\defineBarLine "|" #'(#t #f " ") + +ffsempre = + #(make-dynamic-script (markup #:combine #:transparent "f" "ff" #:combine +#:transparent "f" #:normal-text #:italic "sempre" ) ) + +psempre = +#(make-dynamic-script + (markup "p" #:normal-text #:italic "sempre" )) + +ppsempre = + #(make-dynamic-script (markup #:combine #:transparent "f" "pp" #:combine +#:transparent "f" #:normal-text #:italic "sempre" ) ) + +ppsubito = + #(make-dynamic-script (markup #:combine #:transparent "f" "pp" #:combine +#:transparent "f" #:normal-text #:italic "subito" ) ) + +psubito = + #(make-dynamic-script (markup #:combine #:transparent "f" "p" #:combine +#:transparent "f" #:normal-text #:italic "subito" ) ) + + +niente = #(make-dynamic-script (markup (#:normal-text #:abs-fontsize 10 #:bold "n"))) + +harm = \once \override Staff.NoteHead.style = #'harmonic-mixed diff --git a/general/info.ly b/general/info.ly new file mode 100644 index 0000000..48a23b6 --- /dev/null +++ b/general/info.ly @@ -0,0 +1,10 @@ +xtitle = \markup { lAbel } +xsub = \markup { for the Zohn Collective } +xcomp = \markup { Tucker Johnson } +xinst = \markup { guitar, percussion, and piano } +xdur = \markup { \null } +xcr = \markup \tiny { Copyright Tucker Johnson 2025. All Rights Reserved (ASCAP) } +oddhead = \markup { \fill-line { \null \center-column { \bold { \xcomp } " " } \null } } +evhead = \markup { \fill-line { \null \center-column { \bold { \xtitle } " " } \null } } +oddfoot = \markup { \fill-line { \null \center-column { " " \concat { \tiny \char ##x1F661 " " \sans \fromproperty #'page:page-number-string " " \tiny \char ##x1F663 } } \null } } +evfoot = \markup { \fill-line { \null \center-column { " " \concat { \tiny \char ##x1F661 " " \sans \fromproperty #'page:page-number-string " " \tiny \char ##x1F663 } } \null } } diff --git a/general/scripts.ly b/general/scripts.ly new file mode 100644 index 0000000..4c47285 --- /dev/null +++ b/general/scripts.ly @@ -0,0 +1,71 @@ +timeSpanner = + #(define-music-function (left) (string?) + #{ + \once { + \override TextSpanner.staff-padding = 5 + \override TextSpanner.outside-staff-priority = 1000 + \override TextSpanner.style = #'dashed-line + \override TextSpanner.dash-period = 3 + \override TextSpanner.dash-fraction = 0.25 + \override TextSpanner.font-size = #1 + \override TextSpanner.font-shape = #'upright + \override TextSpanner.bound-details.left.text = \markup { \bold \roman $left } + \override TextSpanner.bound-details.left-broken.text = ##f + \override TextSpanner.bound-details.right-broken.text = ##f + \override TextSpanner.bound-details.right.padding = #-1 + } + #}) + +markSpanner = + #(define-music-function (left right) (string? string?) + #{ + \once { + \override TextSpanner.style = #'dashed-line + \override TextSpanner.outside-staff-priority = 550 + \override TextSpanner.dash-period = 2 + \override TextSpanner.dash-fraction = 0.5 + \override TextSpanner.font-size = #0.25 + %\override TextSpanner.bound-details.left.stencil-align-dir-y = #CENTER + %\override TextSpanner.bound-details.right.stencil-align-dir-y = #CENTER + \override TextSpanner.bound-details.left.text = + \markup { \general-align #Y #0 { $left \hspace #0.25 } } + \override TextSpanner.bound-details.right.text = + \markup { \general-align #Y #0 { \arrow-head #X #RIGHT ##f $right } } + \override TextSpanner.bound-details.left-broken.text = ##f + \override TextSpanner.bound-details.right-broken.text = ##f + \override TextSpanner.bound-details.right.padding = #1 + } + #}) + +stringNumberSpanner = + #(define-music-function (StringNumber) (string?) + #{ + \once { + \override TextSpanner.style = #'solid + \override TextSpanner.outside-staff-priority = 150 + \override TextSpanner.font-size = #-3 + \override TextSpanner.bound-details.left.stencil-align-dir-y = #CENTER + \override TextSpanner.bound-details.left.text = \markup { $StringNumber \hspace #0.25 } + \override TextSpanner.bound-details.right.text = \markup { \draw-line #'(0 . -1) } + \override TextSpanner.bound-details.right-broken.text = ##f + \override TextSpanner.avoid-slur = #'ignore + \override TextSpanner.bound-details.right.padding = #-2 + } + #}) + + + +lsp = \override TextSpanner.bound-details.left.text = \markup { \bold "sul pont" } +rsp = \override TextSpanner.bound-details.right.text = \markup { \bold "sul pont" } +lst = \override TextSpanner.bound-details.left.text = \markup { \bold "sul tasto" } +rst = \override TextSpanner.bound-details.right.text = \markup { \bold "sul tasto" } +lord = \override TextSpanner.bound-details.left.text = \markup { \bold "ord" } +rord = \override TextSpanner.bound-details.right.text = \markup { \bold "ord" } +rit = \override TextSpanner.bound-details.left.text = \markup { \upright "rit. " } +ritPoc = \override TextSpanner.bound-details.left.text = \markup { \upright "ritardando poco a poco " } +molRit = \override TextSpanner.bound-details.left.text = \markup { \upright "molto rit. " } +pocRit = \override TextSpanner.bound-details.left.text = \markup { \upright "poco rit. " } +ace = \override TextSpanner.bound-details.left.text = \markup { \upright "accel. " } +pocAce = \override TextSpanner.bound-details.left.text = \markup { \upright "poco accel. " } +acePoc = \override TextSpanner.bound-details.left.text = \markup { \upright "accelerando poco a poco " } +molAce = \override TextSpanner.bound-details.left.text = \markup { \upright "molto accel. " } diff --git a/general/umbel.ly b/general/umbel.ly new file mode 100644 index 0000000..506584b --- /dev/null +++ b/general/umbel.ly @@ -0,0 +1,34 @@ +xumbel = \markup { + \center-column { + \path #0.1 + #'((moveto 0 0) + (curveto 1 0.3 3.6 3 4.2 1.6) + (moveto 0 0) + (curveto -1 0.3 -3.6 3 -4.2 1.6) + (moveto 0 0) + (curveto 0.9 0.3 2.9 3 3.5 1.7) + (moveto 0 0) + (curveto -0.9 0.3 -2.9 3 -3.5 1.7) + (moveto 0 0) + (curveto 0.8 0.3 2.2 3 2.8 1.8) + (moveto 0 0) + (curveto -0.8 0.3 -2.2 3 -2.8 1.8) + (moveto 0 0) + (curveto 0.6 0.3 1.5 3 2.1 1.9) + (moveto 0 0) + (curveto -0.6 0.3 -1.5 3 -2.1 1.9) + (moveto 0 0) + (curveto 0.4 0.3 0.8 3 1.4 2) + (moveto 0 0) + (curveto -0.4 0.3 -0.8 3 -1.4 2) + (moveto 0 0) + (curveto 0.2 0.3 0.5 3 0.7 2.1) + (moveto 0 0) + (curveto -0.2 0.3 -0.5 3 -0.7 2.1) + (moveto 0 0) + (lineto 0 2.2)) + \vspace #-0.035 + \override #'(height . 0.25) \draw-squiggle-line #1 #'(0 . 5) ##f + \vspace #-0.275 + } + } diff --git a/manuscripts/guitar.ly b/manuscripts/guitar.ly new file mode 100644 index 0000000..ed90f6d --- /dev/null +++ b/manuscripts/guitar.ly @@ -0,0 +1,28 @@ +% root = ../zohnReading.ly + +\new Staff \with { + instrumentName = \markup { guitar } + shortInstrumentName = \markup { gtr } + \override DynamicLineSpanner.staff-padding = \sods + \consists Text_mark_engraver + \consists Mark_engraver + \RemoveEmptyStaves + } +\relative { + \tempo 4=92 + \time 6/4 + r4 c''2 + << + { + \voiceOne + e2 + } + \new Voice { + \voiceTwo + r8 dis8~( 4) + } + >> + \oneVoice + 8( ) | + \tuplet 3/2 { r8 e8[ e'8]\harmonic } \tuplet 3/2 { e,8[ e'8\harmonic e,8] } + } diff --git a/manuscripts/percussion.ly b/manuscripts/percussion.ly new file mode 100644 index 0000000..2c10b02 --- /dev/null +++ b/manuscripts/percussion.ly @@ -0,0 +1,27 @@ +% root = ../zohnReading.ly + +\new Staff \with { + instrumentName = \markup { percussion } + shortInstrumentName = \markup { perc } + \override DynamicLineSpanner.staff-padding = \sods + \consists Text_mark_engraver + \consists Mark_engraver + \RemoveEmptyStaves + } +\relative { + \tempo 4=92 + \time 6/4 r4 + << + { + \voiceOne + 4. 8~ 2 + } + \new Voice { + \voiceTwo + c,,2. \tuplet 3/2 { fis,8~ 4 } + } + >> + \oneVoice + 4 | + \tuplet 3/2 { r8 e4 } \tuplet 3/2 { e4 e8~ } \tuplet 3/2 { e8 e4 } + } diff --git a/manuscripts/piano.ly b/manuscripts/piano.ly new file mode 100644 index 0000000..1ab242e --- /dev/null +++ b/manuscripts/piano.ly @@ -0,0 +1,33 @@ +% root = ../zohnReading.ly + +\new PianoStaff \with { + instrumentName = \markup { "piano " } + shortInstrumentName = \markup { "pno " } + \consists Text_mark_engraver + \consists Metronome_mark_engraver + +} +<< + \set PianoStaff.connectArpeggios = ##t + \override PianoStaff.Arpeggio.arpeggio-direction = #UP + \new Staff = "u" \with { \consists "Merge_rests_engraver" } + { + \relative { \numericTimeSignature + \tempo 4=92 + \time 6/4 + r4 2 2 r4 | + 2. + } + } + + \new Staff = "d" \with { + \consists "Merge_rests_engraver" + \override DynamicLineSpanner.staff-padding = \phds + } + { + \relative { \numericTimeSignature + r4 2 2 r4 | + 2. + } + } +>> diff --git a/parts.ly b/parts.ly new file mode 100644 index 0000000..4736660 --- /dev/null +++ b/parts.ly @@ -0,0 +1,321 @@ +\version "2.24.3" + +\include "general/info.ly" +\include "general/aliases.ly" +\include "general/scripts.ly" +\include "general/umbel.ly" + +\paper { + line-width = 120 + #(include-special-characters) + footnote-separator-markup = \markup { \left-column { \vspace #0.5 \draw-line #'(6 . 0) } } + print-page-number = ##f + #(set-paper-size "arch a") + print-all-headers = ##t + ragged-last = ##t + top-margin = 0.5\in + bottom-margin = 0.5\in + left-margin = 0.9\in + right-margin = 0.9\in + indent = 0.75\in + short-indent = 0\cm + #(define fonts (set-global-fonts #:music "scorlatti" #:brace "scorlatti" #:roman "Junicode" #:sans "classico")) + max-systems-per-page = #10 + system-system-spacing = #'((basic-distance . 10) (minimum-distance . 8) (padding . 9)) + score-system-spacing = #'((basic-distance . 2) (minimum-distance . 1) (padding . 0)) + last-bottom-spacing = #'((basic-distance . 5) (minimum-distance . 5) (padding . 0)) + oddHeaderMarkup = \markup { + \concat { \if \on-page #5 \oddhead } + \concat { \if \on-page #7 \evhead } + } + evenHeaderMarkup = \markup { + \concat { \if \on-page #4 \evhead } + \concat { \if \on-page #6 \evhead } + } + oddFooterMarkup = \markup { + \concat { \if \on-page #1 \fill-line { \null \xcr \null } } + \concat { \if \on-page #5 \oddfoot } + \concat { \if \on-page #7 \oddfoot } + } + evenFooterMarkup = \markup { + \concat { \if \on-page #2 \evfoot } + \concat { \if \on-page #4 \evfoot } + \concat { \if \on-page #6 \evfoot } + \concat { \if \on-page #8 \fill-line { \null \concat { \char ##x2767 " " \tiny \typewriter \longHash " " \char ##x2619 } \null } } + } +} + +\book { + \bookOutputName "cherryBlossoms" + \bookOutputSuffix "TrumpetI" + \score { + \header { + title = \markup { \fontsize #1 \xtitle } + arranger = \markup \typewriter \medium \fontsize #-4 { \shortHash } + subtitle = \markup { \medium \italic \xsub } + composer = \xcomp + poet = \markup { Trumpet \bold I in \concat { \bold "B" \tiny \flat } } + } + << + \include "manuscripts/trumpetI.ly" + >> + %\midi { } + \layout { + \context { + \Score + \override RehearsalMark.break-visibility = #begin-of-line-invisible + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/10) + \override Hairpin.to-barline = ##f + \overrideTimeSignatureSettings 4/4 1/4 1,1,1,1 #'() + \overrideTimeSignatureSettings 3/4 1/4 1,1,1 #'() + \overrideTimeSignatureSettings 5/8 1/8 2,3 #'() + \override BarNumber.font-name = "classico" + \phrasingSlurDashPattern #0.5 #2.0 + \override PhrasingSlur.thickness = 0.00 + \override StaffSymbol.layer = #4 + \override Stem.layer = #4 + \override Beam.layer = #4 + \override Tie.layer = #4 + \override Hairpin.layer = #4 + \override TimeSignature.layer = #2 + \override Tie.layer = #1 + \override TupletBracket.layer = #2 + \override TextSpanner.layer = #3 + \override NoteHead.layer = #4 + \override TimeSignature.whiteout = 2 + \override TextScript.padding = 1 + \numericTimeSignature + \romanStringNumbers + \override StringNumber.padding = 1 + \override StringNumber.font-size = -3 + \override TupletNumber.layer = 4 + \override TupletNumber.font-shape = #'upright + \override TupletBracket.whiteout = 2 + } + \context { + \Staff + \remove Instrument_name_engraver + } + } + } +} + +\book { + \bookOutputName "cherryBlossoms" + \bookOutputSuffix "TrumpetII" + \score { + \header { + title = \markup { \fontsize #1 \xtitle } + arranger = \markup \typewriter \medium \fontsize #-4 { \shortHash } + subtitle = \markup { \medium \italic \xsub } + composer = \xcomp + poet = \markup { Trumpet \bold II in \concat { \bold "B" \tiny \flat } } + } + << + \removeWithTag #'score \include "manuscripts/trumpetII.ly" + >> + %\midi { } + \layout { + \context { + \Score + \override RehearsalMark.break-visibility = #begin-of-line-invisible + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/10) + \override Hairpin.to-barline = ##f + \overrideTimeSignatureSettings 4/4 1/4 1,1,1,1 #'() + \overrideTimeSignatureSettings 3/4 1/4 1,1,1 #'() + \overrideTimeSignatureSettings 5/8 1/8 2,3 #'() + \override BarNumber.font-name = "classico" + \phrasingSlurDashPattern #0.5 #2.0 + \override PhrasingSlur.thickness = 0.00 + \override StaffSymbol.layer = #4 + \override Stem.layer = #4 + \override Beam.layer = #4 + \override Tie.layer = #4 + \override Hairpin.layer = #4 + \override TimeSignature.layer = #2 + \override Tie.layer = #1 + \override TupletBracket.layer = #2 + \override TextSpanner.layer = #3 + \override NoteHead.layer = #4 + \override TimeSignature.whiteout = 2 + \override TextScript.padding = 1 + \numericTimeSignature + \romanStringNumbers + \override StringNumber.padding = 1 + \override StringNumber.font-size = -3 + \override TupletNumber.layer = 4 + \override TupletNumber.font-shape = #'upright + \override TupletBracket.whiteout = 2 + } + \context { + \Staff + \remove Instrument_name_engraver + } + } + } +} + +\book { + \bookOutputName "cherryBlossoms" + \bookOutputSuffix "Horn" + \score { + \header { + title = \markup { \fontsize #1 \xtitle } + arranger = \markup \typewriter \medium \fontsize #-4 { \shortHash } + subtitle = \markup { \medium \italic \xsub } + composer = \xcomp + poet = \markup { Horn in F } + } + << + \removeWithTag #'score \include "manuscripts/horn.ly" + >> + %\midi { } + \layout { + \context { + \Score + \override RehearsalMark.break-visibility = #begin-of-line-invisible + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/10) + \override Hairpin.to-barline = ##f + \overrideTimeSignatureSettings 4/4 1/4 1,1,1,1 #'() + \overrideTimeSignatureSettings 3/4 1/4 1,1,1 #'() + \overrideTimeSignatureSettings 5/8 1/8 2,3 #'() + \override BarNumber.font-name = "classico" + \phrasingSlurDashPattern #0.5 #2.0 + \override PhrasingSlur.thickness = 0.00 + \override StaffSymbol.layer = #4 + \override Stem.layer = #4 + \override Beam.layer = #4 + \override Tie.layer = #4 + \override Hairpin.layer = #4 + \override TimeSignature.layer = #2 + \override Tie.layer = #1 + \override TupletBracket.layer = #2 + \override TextSpanner.layer = #3 + \override NoteHead.layer = #4 + \override TimeSignature.whiteout = 2 + \override TextScript.padding = 1 + \numericTimeSignature + \romanStringNumbers + \override StringNumber.padding = 1 + \override StringNumber.font-size = -3 + \override TupletNumber.layer = 4 + \override TupletNumber.font-shape = #'upright + \override TupletBracket.whiteout = 2 + } + \context { + \Staff + \remove Instrument_name_engraver + } + } + } +} + +\book { + \bookOutputName "cherryBlossoms" + \bookOutputSuffix "Trombone" + \score { + \header { + title = \markup { \fontsize #1 \xtitle } + arranger = \markup \typewriter \medium \fontsize #-4 { \shortHash } + subtitle = \markup { \medium \italic \xsub } + composer = \xcomp + poet = \markup { Trombone } + } + << + \removeWithTag #'score \include "manuscripts/trombone.ly" + >> + %\midi { } + \layout { + \context { + \Score + \override RehearsalMark.break-visibility = #begin-of-line-invisible + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/10) + \override Hairpin.to-barline = ##f + \overrideTimeSignatureSettings 4/4 1/4 1,1,1,1 #'() + \overrideTimeSignatureSettings 3/4 1/4 1,1,1 #'() + \overrideTimeSignatureSettings 5/8 1/8 2,3 #'() + \override BarNumber.font-name = "classico" + \phrasingSlurDashPattern #0.5 #2.0 + \override PhrasingSlur.thickness = 0.00 + \override StaffSymbol.layer = #4 + \override Stem.layer = #4 + \override Beam.layer = #4 + \override Tie.layer = #4 + \override Hairpin.layer = #4 + \override TimeSignature.layer = #2 + \override Tie.layer = #1 + \override TupletBracket.layer = #2 + \override TextSpanner.layer = #3 + \override NoteHead.layer = #4 + \override TimeSignature.whiteout = 2 + \override TextScript.padding = 1 + \numericTimeSignature + \romanStringNumbers + \override StringNumber.padding = 1 + \override StringNumber.font-size = -3 + \override TupletNumber.layer = 4 + \override TupletNumber.font-shape = #'upright + \override TupletBracket.whiteout = 2 + } + \context { + \Staff + \remove Instrument_name_engraver + } + } + } +} + +\book { + \bookOutputName "cherryBlossoms" + \bookOutputSuffix "bassTrombone" + \score { + \header { + title = \markup { \fontsize #1 \xtitle } + arranger = \markup \typewriter \medium \fontsize #-4 { \shortHash } + subtitle = \markup { \medium \italic \xsub } + composer = \xcomp + poet = \markup { Bass Trombone } + } + << + \removeWithTag #'score \include "manuscripts/bassTrombone.ly" + >> + %\midi { } + \layout { + \context { + \Score + \override RehearsalMark.break-visibility = #begin-of-line-invisible + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/10) + \override Hairpin.to-barline = ##f + \overrideTimeSignatureSettings 4/4 1/4 1,1,1,1 #'() + \overrideTimeSignatureSettings 3/4 1/4 1,1,1 #'() + \overrideTimeSignatureSettings 5/8 1/8 2,3 #'() + \override BarNumber.font-name = "classico" + \phrasingSlurDashPattern #0.5 #2.0 + \override PhrasingSlur.thickness = 0.00 + \override StaffSymbol.layer = #4 + \override Stem.layer = #4 + \override Beam.layer = #4 + \override Tie.layer = #4 + \override Hairpin.layer = #4 + \override TimeSignature.layer = #2 + \override Tie.layer = #1 + \override TupletBracket.layer = #2 + \override TextSpanner.layer = #3 + \override NoteHead.layer = #4 + \override TimeSignature.whiteout = 2 + \override TextScript.padding = 1 + \numericTimeSignature + \romanStringNumbers + \override StringNumber.padding = 1 + \override StringNumber.font-size = -3 + \override TupletNumber.layer = 4 + \override TupletNumber.font-shape = #'upright + \override TupletBracket.whiteout = 2 + } + \context { + \Staff + \remove Instrument_name_engraver + } + } + } +} diff --git a/zohnReading.ly b/zohnReading.ly new file mode 100644 index 0000000..a0bef25 --- /dev/null +++ b/zohnReading.ly @@ -0,0 +1,239 @@ +\version "2.24.4" + +\include "general/info.ly" +\include "general/aliases.ly" +\include "general/scripts.ly" +\include "general/umbel.ly" + +\paper { + line-width = 120 + first-page-number = -1 + #(include-special-characters) + footnote-separator-markup = \markup { \left-column { \vspace #0.5 \draw-line #'(6 . 0) } } + print-page-number = ##f + #(set-paper-size "arch a") + print-all-headers = ##f + ragged-last = ##t + top-margin = 0.5\in + bottom-margin = 0.5\in + left-margin = 0.9\in + right-margin = 0.9\in + indent = 0.75\in + short-indent = 0\cm + #(define fonts (set-global-fonts #:music "scorlatti" #:brace "scorlatti" #:roman "Junicode" #:sans "classico")) + max-systems-per-page = #10 + system-system-spacing = #'((basic-distance . 10) (minimum-distance . 8) (padding . 9)) + score-system-spacing = #'((basic-distance . 2) (minimum-distance . 1) (padding . 0)) + last-bottom-spacing = #'((basic-distance . 5) (minimum-distance . 5) (padding . 0)) + oddHeaderMarkup = \markup { + \concat { \if \on-page #5 \oddhead } + \concat { \if \on-page #7 \evhead } + } + evenHeaderMarkup = \markup { + \concat { \if \on-page #4 \evhead } + \concat { \if \on-page #6 \evhead } + } + oddFooterMarkup = \markup { + \concat { \if \on-page #3 \fill-line { \null \xcr \null } } + \concat { \if \on-page #5 \oddfoot } + \concat { \if \on-page #7 \oddfoot } + } + evenFooterMarkup = \markup { + \concat { \if \on-page #2 \evfoot } + \concat { \if \on-page #4 \evfoot } + \concat { \if \on-page #6 \evfoot } + \concat { \if \on-page #8 \fill-line { \null \concat { \char ##x2767 " " \tiny \typewriter \longHash " " \char ##x2619 } \null } } + } + +} + +\book { + + \markuplist { %Outside Cover + \fill-line { + \line { \null } + \center-column { + \line { \with-url #"https://newer.systems" \fontsize #1 \hbracket \sans \bold " https://newer.systems " } + } + \line { \null } + \line { \null } + \line { \null } + \line { \null } + } + \fill-line { + \line { \null } + \center-column { + \line { \null } + } + \right-column { + \vspace #15 + \line { \fontsize #8 \bold \underline \xtitle } + \vspace #0.1 + \line { \fontsize #3 \sans \xcomp } + \vspace #3 + \line { \fontsize #2 \sans \concat { "for " \xinst } } + } + } + \vspace #26.15 + \fill-line { + \line { \null } + \line { \null } + \line { \null } + \line { \null } + \center-column { + \xumbel + \vspace #0.3 + \line { \fontsize #1 \hbracket \sans \bold " umbel press " } + } + \line { \null } + } + } + + \pageBreak + \markup { \vspace #5 } + + \pageBreak + \markuplist { %Inside Cover + \fill-line { + \line { \null } + \center-column { + \vspace #10 + \line { \hbracket \fontsize #10 \number 2025 } + \vspace #4 + \line { \xcomp } + \vspace #1 + \line { \fontsize #5 \bold \xtitle } + \line { \italic \xsub } + \vspace #4 + } + \right-column { + \line { \null } + } + } + } + + \pageBreak + \markuplist { %Front Matter + \fill-line { + \left-column { + \line { \bold \xtitle " [2025]" } + \line { \xinst " | " 6 minutes } + \line { \xcomp } + \vspace #25 + } + \center-column { + \vspace #5 + \left-column { } + \vspace #0.5 + \left-column { + \override #'(line-width . 100) + \line { \hspace #100 } + \vspace #-1 + \wordwrap { \char ##x10AF1 \hspace #0.5 \large \bold \sans "program notes" } + } + \vspace #0.5 + \left-column { + \override #'(line-width . 90) + \justify { + " " + } + } + \vspace #2.5 + \left-column { + \override #'(line-width . 100) + \line { \hspace #100 } + \vspace #-1 + \wordwrap { \char ##x10AF1 \hspace #0.5 \large \bold \sans "performance notes" } + \vspace #0.5 + \wordwrap { § \hspace #3.5 \sans \bold \italic "interpreting notations" } + } + \left-column { + \override #'(line-width . 90) + \line { \hspace #90 } + \justify { \italic 1. \hspace #1 Accidentals carry through each bar – cautionary accidentals are not supplied. } + \justify { \italic 2. \hspace #1 Two fermata notations are used: a \italic short fermata ( \musicglyph "scripts.ushortfermata" ) and a \italic long fermata ( \musicglyph "scripts.ufermata" ). } + \override #'(line-width . 90) + \justify { + \italic 3. \hspace #1 Dotted slurs are used to indicate phrasing that may not be clear through dynamics and other notations. } + } + \vspace #2.5 + \line { \char ##x27BF } + } + + \right-column { + \vspace #-0.2 + \right-column \fontsize #-1 { + \line { \fontsize #-2 \typewriter { \shortHash - \subject } } + \vspace #-0.4 + \line { \fontsize #-2 \typewriter { \commitDate } } + \vspace #-0.4 + \line { \fontsize #-2 \typewriter { "branch:" \branchName } } + } + \vspace #2 + } + } + } + + \pageBreak + \header { + tagline = "test" + } + + \bookpart { + \header { + title = \markup { \fontsize #1 \xtitle } + subtitle = \markup { \medium \italic \xsub } + composer = \xcomp + poet = \markup { \xinst } + } + \score { + << + \include "manuscripts/guitar.ly" + \include "manuscripts/percussion.ly" + \include "manuscripts/piano.ly" + >> + \midi { } + \layout { + \context { + \Score + \override RehearsalMark.break-visibility = #begin-of-line-invisible + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/8) + \override Hairpin.to-barline = ##f + \overrideTimeSignatureSettings 4/4 1/4 1,1,1,1 #'() + \overrideTimeSignatureSettings 3/4 1/4 1,1,1 #'() + \overrideTimeSignatureSettings 5/8 1/8 2,3 #'() + \override BarNumber.font-name = "classico" + \phrasingSlurDashPattern #0.5 #2.0 + \override PhrasingSlur.thickness = 0.00 + \override StaffSymbol.layer = #4 + \override Stem.layer = #4 + \override Beam.layer = #4 + \override Tie.layer = #4 + \override Hairpin.layer = #4 + \override TimeSignature.layer = #2 + \override Tie.layer = #1 + \override TupletBracket.layer = #2 + \override TextSpanner.layer = #3 + \override NoteHead.layer = #4 + \override TimeSignature.whiteout = 2 + \override TextScript.padding = 1 + \numericTimeSignature + \romanStringNumbers + \override StringNumber.padding = 1 + \override StringNumber.font-size = -3 + \override TupletNumber.layer = 4 + \override TupletNumber.font-shape = #'upright + \override TupletBracket.whiteout = 2 + \override StaffGrouper.staff-staff-spacing = + #'((basic-distance . 8) + (minimum-distance . 5) + (padding . 2) + (stretchability . 1)) + } + } + } + } + + \pageBreak + \markup { \fill-line { \center-column { \vspace #24 \xumbel } } } +} diff --git a/zohnReading.midi b/zohnReading.midi new file mode 100644 index 0000000..3a4b043 Binary files /dev/null and b/zohnReading.midi differ diff --git a/zohnReading.pdf b/zohnReading.pdf new file mode 100644 index 0000000..84e3ef6 Binary files /dev/null and b/zohnReading.pdf differ