]> git.newer.systems Git - tiny-cartel.git/commitdiff
init
authorTucker Johnson <tucker@newer.systems>
Fri, 9 Jan 2026 01:52:19 +0000 (20:52 -0500)
committerTucker Johnson <tucker@newer.systems>
Fri, 9 Jan 2026 01:52:19 +0000 (20:52 -0500)
26 files changed:
.gitignore [new file with mode: 0644]
general/aliases.ly [new file with mode: 0644]
general/info.ly [new file with mode: 0644]
general/partPaper.ly [new file with mode: 0644]
general/scorePaper.ly [new file with mode: 0644]
general/scripts.ly [new file with mode: 0644]
general/umbel.ly [new file with mode: 0644]
manuscripts/bass.ly [new file with mode: 0644]
manuscripts/bassClarinet.ly [new file with mode: 0644]
manuscripts/bassoon.ly [new file with mode: 0644]
manuscripts/cello.ly [new file with mode: 0644]
manuscripts/flute.ly [new file with mode: 0644]
manuscripts/horn.ly [new file with mode: 0644]
manuscripts/oboe.ly [new file with mode: 0644]
manuscripts/perc1.ly [new file with mode: 0644]
manuscripts/perc2.ly [new file with mode: 0644]
manuscripts/pianoDown.ly [new file with mode: 0644]
manuscripts/pianoUp.ly [new file with mode: 0644]
manuscripts/tempoMap.ly [new file with mode: 0644]
manuscripts/trombone.ly [new file with mode: 0644]
manuscripts/trumpet.ly [new file with mode: 0644]
manuscripts/viola.ly [new file with mode: 0644]
manuscripts/violin1.ly [new file with mode: 0644]
manuscripts/violin2.ly [new file with mode: 0644]
parts.ly [new file with mode: 0644]
tiny-cartel.ly [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..45e83ea
--- /dev/null
@@ -0,0 +1,7 @@
+*.pdf
+*.ps
+*.midi
+*.mid
+*.log
+*~
+.DS_Store
diff --git a/general/aliases.ly b/general/aliases.ly
new file mode 100644 (file)
index 0000000..7bc46ea
--- /dev/null
@@ -0,0 +1,127 @@
+U = \change Staff = "u"
+D = \change Staff = "d"
+
+%spacing
+ds = #2.5
+sods = #3.4
+phds = #3.9
+
+%notation marks
+lsp =  \override TextSpanner.bound-details.left.text = "sp"
+rsp =  \override TextSpanner.bound-details.right.text = " sp"
+lst =  \override TextSpanner.bound-details.left.text = "st"
+rst =  \override TextSpanner.bound-details.right.text = " st"
+lord =  \override TextSpanner.bound-details.left.text = "ord"
+rord =  \override TextSpanner.bound-details.right.text = " 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. " }
+
+sD = \stemDown
+sU = \stemUp
+sN = \stemNeutral
+
+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")))
+
+
+clusStemA = {
+  \once \override Stem.length = #11
+}
+
+clusStemB = {
+  \once \override NoteHead.X-offset = #4
+  \once \override Stem.rotation = #'(-33 0 0)
+  \once \override Stem.length = #9.7
+  \once \override Stem.extra-offset = #'(2.65 . 0.4)
+  \once \override Flag.style = #'no-flag
+  \once \override Accidental.extra-offset = #'(4 . -.1)
+}
+
+clusStemC = {
+  \once \override NoteHead.X-offset = #4.8
+  \once \override Stem.rotation = #'(-37 0 0)
+  \once \override Stem.length = #12.5
+  \once \override Stem.extra-offset = #'(3.2 . 0.7)
+  \once \override Flag.style = #'no-flag
+  \once \override Accidental.extra-offset = #'(4.9 . -0.1)
+}
+
+doubleSeparator = \markup {
+  \left-column {
+  \vcenter \combine
+  \beam #2.0 #0.3 #0.5
+  \raise #0.7 \beam #2.0 #0.3 #0.5
+  }
+  \hspace #98
+  \right-column {
+  \vcenter \combine
+  \beam #2.0 #0.3 #0.5
+  \raise #0.7 \beam #2.0 #0.3 #0.5
+  }
+}
+
+
+buzzSymbol = \markup \path #0.25
+#(let ((x 3/6) (y 2/5))
+  `((moveto ,x ,(- y)) (lineto ,(- x) ,(- y))
+    (lineto ,x ,y) (lineto ,(- x) ,y)))
+
+applyBuzzSymbol = #(grob-transformer 'stencil
+  (lambda (grob orig)
+   (let ((dir (ly:grob-property grob 'direction))
+         (sten (grob-interpret-markup grob buzzSymbol)))
+    (ly:stencil-add orig
+        (ly:stencil-translate-axis sten (* 0.1 dir) Y)))))
+
+applyBuzzuSymbol = #(grob-transformer 'stencil
+  (lambda (grob orig)
+   (let ((dir (ly:grob-property grob 'direction))
+         (sten (grob-interpret-markup grob buzzSymbol)))
+    (ly:stencil-add orig
+        (ly:stencil-translate-axis sten (* 1.6 dir) Y)))))
+
+applyBuzzdSymbol = #(grob-transformer 'stencil
+  (lambda (grob orig)
+   (let ((dir (ly:grob-property grob 'direction))
+         (sten (grob-interpret-markup grob buzzSymbol)))
+    (ly:stencil-add orig
+        (ly:stencil-translate-axis sten (* 1.6 dir) Y)))))
+
+applyBuzzddSymbol = #(grob-transformer 'stencil
+  (lambda (grob orig)
+   (let ((dir (ly:grob-property grob 'direction))
+         (sten (grob-interpret-markup grob buzzSymbol)))
+    (ly:stencil-add orig
+        (ly:stencil-translate-axis sten (* 2.1 dir) Y)))))
+
+
+buzz = \tweak Stem.stencil \applyBuzzSymbol \etc
+buzzu = \tweak Stem.stencil \applyBuzzuSymbol \etc
+buzzd = \tweak Stem.stencil \applyBuzzdSymbol \etc
+buzzdd = \tweak Stem.stencil \applyBuzzddSymbol \etc
diff --git a/general/info.ly b/general/info.ly
new file mode 100644 (file)
index 0000000..62f9ad9
--- /dev/null
@@ -0,0 +1,10 @@
+xtitle = \markup { Tiny Cartel }
+xsub = \markup { "for the Eastman Graduate Composers Sinfonietta" }
+xcomp = \markup { Tucker Johnson }
+xinst = \markup  { Bb clarinet & sinfonietta }
+xdur = \markup { \null }
+xcr = \markup \tiny { Copyright Umbel Press \sans 2026. 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/partPaper.ly b/general/partPaper.ly
new file mode 100644 (file)
index 0000000..b5728cf
--- /dev/null
@@ -0,0 +1,146 @@
+\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 = ##f
+  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 "sans"))
+  max-systems-per-page = #8
+  min-systems-per-page = #1
+  markup-system-spacing = #'((basic-distance . 2) (minimum-distance . 1) (padding . 2))
+  system-system-spacing = #'((basic-distance . 5) (minimum-distance . 3) (padding . 8))
+  score-markup-spacing = #'((basic-distance . 4) (minimum-distance . 3) (padding . 4))
+  score-system-spacing = #'((basic-distance . 0) (minimum-distance . 0) (padding . 0))
+  last-bottom-spacing = #'((basic-distance . 4) (minimum-distance . 2) (padding . 5))
+  tocTitleMarkup = \markup {  }
+  tocItemMarkup = \markup \fill-line {
+    \fill-with-pattern #1.5 #CENTER .
+    \line {
+      \fromproperty #'toc:indent \fromproperty #'toc:text
+    }
+    \sans \fromproperty #'toc:page
+  }
+
+  oddHeaderMarkup = \markup {
+    \concat { \if \on-page #5 \oddhead }
+    \concat { \if \on-page #7 \oddhead }
+    \concat { \if \on-page #9 \oddhead }
+    \concat { \if \on-page #11 \oddhead }
+    \concat { \if \on-page #13 \oddhead }
+    \concat { \if \on-page #15 \oddhead }
+    \concat { \if \on-page #19 \oddhead }
+    \concat { \if \on-page #21 \oddhead }
+    \concat { \if \on-page #23 \oddhead }
+    \concat { \if \on-page #25 \oddhead }
+    \concat { \if \on-page #27 \oddhead }
+    \concat { \if \on-page #29 \oddhead }
+    \concat { \if \on-page #31 \oddhead }
+    \concat { \if \on-page #33 \oddhead }
+    \concat { \if \on-page #35 \oddhead }
+    \concat { \if \on-page #37 \oddhead }
+    \concat { \if \on-page #39 \oddhead }
+
+  }
+  evenHeaderMarkup = \markup {
+    \concat { \if \on-page #2 \evhead }
+    \concat { \if \on-page #4 \evhead }
+    \concat { \if \on-page #6 \evhead }
+    \concat { \if \on-page #8 \evhead }
+    \concat { \if \on-page #10 \evhead }
+    \concat { \if \on-page #12 \evhead }
+    \concat { \if \on-page #14 \evhead }
+    \concat { \if \on-page #16 \evhead }
+    \concat { \if \on-page #18 \evhead }
+    \concat { \if \on-page #20 \evhead }
+    \concat { \if \on-page #22 \evhead }
+    \concat { \if \on-page #24 \evhead }
+    \concat { \if \on-page #26 \evhead }
+    \concat { \if \on-page #28 \evhead }
+    \concat { \if \on-page #30 \evhead }
+    \concat { \if \on-page #32 \evhead }
+    \concat { \if \on-page #34 \evhead }
+    \concat { \if \on-page #36 \evhead }
+    \concat { \if \on-page #38 \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 }
+    \concat { \if \on-page #9 \oddfoot }
+    \concat { \if \on-page #11 \oddfoot }
+    \concat { \if \on-page #13 \oddfoot }
+    \concat { \if \on-page #15 \oddfoot }
+    \concat { \if \on-page #19 \oddfoot }
+    \concat { \if \on-page #21 \oddfoot }
+    \concat { \if \on-page #23 \oddfoot }
+    \concat { \if \on-page #25 \oddfoot }
+    \concat { \if \on-page #27 \fill-line { \null \concat { \char ##x2767 " " \tiny \typewriter \longHash " " \char ##x2619 } \null } }
+    \concat { \if \on-page #29 \oddfoot }
+    \concat { \if \on-page #31 \oddfoot }
+    \concat { \if \on-page #33 \oddfoot }
+    \concat { \if \on-page #35 \oddfoot }
+    \concat { \if \on-page #37 \oddfoot }
+    \concat { \if \on-page #39 \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 \evfoot }
+    \concat { \if \on-page #10 \evfoot }
+    \concat { \if \on-page #12 \evfoot }
+    \concat { \if \on-page #14 \evfoot }
+    \concat { \if \on-page #16 \evfoot }
+    \concat { \if \on-page #18 \evfoot }
+    \concat { \if \on-page #20 \evfoot }
+    \concat { \if \on-page #22 \evfoot }
+    \concat { \if \on-page #24 \evfoot }
+    \concat { \if \on-page #26 \evfoot }
+    \concat { \if \on-page #28 \evfoot }
+    \concat { \if \on-page #30 \evfoot }
+    \concat { \if \on-page #32 \evfoot }
+    \concat { \if \on-page #34 \evfoot }
+    \concat { \if \on-page #36 \evfoot }
+    \concat { \if \on-page #38 \evfoot }
+  }
+}
+
+
+\layout {
+  \context {
+    \Score
+      \override InstrumentName.self-alignment-X = 1
+      \override RehearsalMark.break-visibility = #begin-of-line-invisible
+      \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.5
+      \override StaffSymbol.layer = #4
+      \override Stem.layer = #4
+      \override Beam.layer = #4
+      \override Hairpin.layer = #4
+      \override TimeSignature.layer = #2
+      \override Tie.layer = #1
+      \override TupletBracket.layer = #2
+      \override StringNumber.layer = #2
+      \override TextSpanner.layer = #3
+      \override NoteHead.layer = #4
+      \override Accidental.layer = #4
+      \override TimeSignature.whiteout = 2
+      \override TextScript.padding = 1
+      \override TextScript.layer = #4
+      \numericTimeSignature
+      \override TupletNumber.layer = 4
+      \override TupletNumber.font-shape = #'upright
+  }
+}
diff --git a/general/scorePaper.ly b/general/scorePaper.ly
new file mode 100644 (file)
index 0000000..98ad282
--- /dev/null
@@ -0,0 +1,166 @@
+\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 "tabloid")
+  print-all-headers = ##f
+  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 "sans"))
+  max-systems-per-page = #10
+  system-system-spacing = #'((basic-distance . 10) (minimum-distance . 8) (padding . 12))
+  score-system-spacing = #'((basic-distance . 2) (minimum-distance . 1) (padding . 0))
+  last-bottom-spacing = #'((basic-distance . 5) (minimum-distance . 5) (padding . 0))
+  tocTitleMarkup = \markup {  }
+  tocItemMarkup = \markup \fill-line {
+    \fill-with-pattern #1.5 #CENTER .
+    \line {
+      \fromproperty #'toc:indent \fromproperty #'toc:text
+    }
+    \sans \fromproperty #'toc:page
+  }
+
+  oddHeaderMarkup = \markup {
+    \concat { \if \on-page #5 \oddhead }
+    \concat { \if \on-page #7 \oddhead }
+    \concat { \if \on-page #9 \oddhead }
+    \concat { \if \on-page #11 \oddhead }
+    \concat { \if \on-page #13 \oddhead }
+    \concat { \if \on-page #15 \oddhead }
+    \concat { \if \on-page #17 \oddhead }
+    \concat { \if \on-page #19 \oddhead }
+    \concat { \if \on-page #21 \oddhead }
+    \concat { \if \on-page #23 \oddhead }
+    \concat { \if \on-page #25 \oddhead }
+    \concat { \if \on-page #27 \oddhead }
+    \concat { \if \on-page #29 \oddhead }
+    \concat { \if \on-page #31 \oddhead }
+    \concat { \if \on-page #33 \oddhead }
+    \concat { \if \on-page #35 \oddhead }
+    \concat { \if \on-page #37 \oddhead }
+    \concat { \if \on-page #39 \oddhead }
+    \concat { \if \on-page #41 \oddhead }
+    \concat { \if \on-page #43 \oddhead }
+
+  }
+  evenHeaderMarkup = \markup {
+    \concat { \if \on-page #4 \evhead }
+    \concat { \if \on-page #6 \evhead }
+    \concat { \if \on-page #8 \evhead }
+    \concat { \if \on-page #10 \evhead }
+    \concat { \if \on-page #12 \evhead }
+    \concat { \if \on-page #14 \evhead }
+    \concat { \if \on-page #16 \evhead }
+    \concat { \if \on-page #18 \evhead }
+    \concat { \if \on-page #20 \evhead }
+    \concat { \if \on-page #22 \evhead }
+    \concat { \if \on-page #24 \evhead }
+    \concat { \if \on-page #26 \evhead }
+    \concat { \if \on-page #28 \evhead }
+    \concat { \if \on-page #30 \evhead }
+    \concat { \if \on-page #32 \evhead }
+    \concat { \if \on-page #34 \evhead }
+    \concat { \if \on-page #36 \evhead }
+    \concat { \if \on-page #38 \evhead }
+    \concat { \if \on-page #40 \evhead }
+    \concat { \if \on-page #42 \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 }
+    \concat { \if \on-page #9 \oddfoot }
+    \concat { \if \on-page #11 \oddfoot }
+    \concat { \if \on-page #13 \oddfoot }
+    \concat { \if \on-page #15 \oddfoot }
+    \concat { \if \on-page #17 \oddfoot }
+    \concat { \if \on-page #19 \oddfoot }
+    \concat { \if \on-page #21 \oddfoot }
+    \concat { \if \on-page #23 \oddfoot }
+    \concat { \if \on-page #25 \oddfoot }
+    \concat { \if \on-page #27 \oddfoot }
+    \concat { \if \on-page #29 \oddfoot }
+    \concat { \if \on-page #31 \oddfoot }
+    \concat { \if \on-page #33 \oddfoot }
+    \concat { \if \on-page #35 \oddfoot }
+    \concat { \if \on-page #37 \oddfoot }
+    \concat { \if \on-page #39 \oddfoot }
+    \concat { \if \on-page #41 \oddfoot }
+    \concat { \if \on-page #43 \fill-line { \null \concat { \char ##x2767 " " \tiny \typewriter \longHash " " \char ##x2619 } \null } }
+  }
+  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 \evfoot }
+    \concat { \if \on-page #10 \evfoot }
+    \concat { \if \on-page #12 \evfoot }
+    \concat { \if \on-page #14 \evfoot }
+    \concat { \if \on-page #16 \evfoot }
+    \concat { \if \on-page #18 \evfoot }
+    \concat { \if \on-page #20 \evfoot }
+    \concat { \if \on-page #22 \evfoot }
+    \concat { \if \on-page #24 \evfoot }
+    \concat { \if \on-page #26 \evfoot }
+    \concat { \if \on-page #28 \evfoot }
+    \concat { \if \on-page #30 \evfoot }
+    \concat { \if \on-page #32 \evfoot }
+    \concat { \if \on-page #34 \evfoot }
+    \concat { \if \on-page #36 \evfoot }
+    \concat { \if \on-page #38 \evfoot }
+    \concat { \if \on-page #40 \evfoot }
+    \concat { \if \on-page #42 \evfoot }
+  }
+}
+
+
+\layout {
+  \context {
+    \Score
+      \override InstrumentName.self-alignment-X = 1
+      \override RehearsalMark.break-visibility = #begin-of-line-invisible
+      \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.5
+      \override StaffSymbol.layer = #4
+      \override Stem.layer = #4
+      \override Beam.layer = #4
+      \override Hairpin.layer = #4
+      \override TimeSignature.layer = #2
+      \override Tie.layer = #1
+      \override TupletBracket.layer = #2
+      \override StringNumber.layer = #2
+      \override TextSpanner.layer = #3
+      \override NoteHead.layer = #4
+      \override Accidental.layer = #4
+      \override TimeSignature.whiteout = 2
+      \override TextScript.padding = 1
+      \override TextScript.layer = #4
+      \numericTimeSignature
+      \override TupletNumber.layer = 4
+      \override TupletNumber.font-shape = #'upright
+      centerBarNumbers = ##t
+      barNumberVisibility = #all-bar-numbers-visible
+      \override CenteredBarNumber.stencil = #(make-stencil-boxer 0.1 0.25 ly:text-interface::print)
+      \override CenteredBarNumberLineSpanner.direction = #DOWN
+      \remove Text_mark_engraver
+      \remove Mark_engraver
+      \remove Metronome_mark_engraver
+  }
+  \context {
+    \Staff
+    \consists Mark_engraver
+    \consists Text_mark_engraver
+    \consists Metronome_mark_engraver
+  }
+}
diff --git a/general/scripts.ly b/general/scripts.ly
new file mode 100644 (file)
index 0000000..d305d57
--- /dev/null
@@ -0,0 +1,176 @@
+
+timeSpanner =
+  #(define-music-function (left) (string?)
+    #{
+      \once {
+        \override TextSpanner.staff-padding = 2
+        \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 { \magnify #1 \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
+      }
+    #})
+
+to-internal-ts =
+#(define-scheme-function
+  (top partial bottom)
+  (integer? rational? integer?)
+  (let
+   ((internal-ts
+     (+ (/ top bottom) (* partial (/ 1 bottom)))))
+   (cons (numerator internal-ts) (denominator internal-ts))))
+
+
+fractionalTime =
+#(define-music-function
+  (top partial bottom)
+  (integer? rational? integer?)
+  #{
+    \once \override Staff.TimeSignature.stencil = #ly:text-interface::print
+    \once \override Staff.TimeSignature.text =
+      \markup \override #'(baseline-skip . 0) \center-column \number {
+        \concat  { #(number->string top) \magnify #0.5 \pad-x #-.2 {
+          \translate #'(0 . 1) #(number->string (numerator partial))
+          \translate #'(-1 . 0) \override #'(thickness . 2) \draw-line #'(1 . 2)
+          \translate #'(0 . 0) #(number->string (denominator partial)) }} #(number->string bottom)
+        }
+     \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?)
+  (define (warn-stretched p1 p2) (ly:input-warning (*location*) (G_
+    " pseudoIndents ~s ~s is stretching staff; expect distorted layout") p1 p2))
+  (let* (
+    (narrowing (+ left-indent right-indent)) ; of staff implied by args
+
+    (set-staffsymbol! (lambda (staffsymbol-grob) ; change staff to new width
+      (let* (
+        (left-bound (ly:spanner-bound staffsymbol-grob LEFT))
+        (left-moment (ly:grob-property left-bound 'when))
+        (capo? (moment<=? left-moment ZERO-MOMENT)) ; in first system of score
+        (layout (ly:grob-layout staffsymbol-grob))
+        (lw (ly:output-def-lookup layout 'line-width)) ; debugging info
+        (indent (ly:output-def-lookup layout (if capo? 'indent 'short-indent)))
+        (old-stil (ly:staff-symbol::print staffsymbol-grob))
+        (staffsymbol-x-ext (ly:stencil-extent old-stil X))
+        ;; >=2.19.16's first system has old-stil already narrowed [2]
+        ;; compensate for this (ie being not pristine) when calculating
+        ;; - old leftmost-x (its value is needed when setting so-called 'width)
+        ;; - the new width and position (via local variable narrowing_)
+        (ss-t (ly:staff-symbol-line-thickness staffsymbol-grob))
+        (pristine? (<= 0 (car staffsymbol-x-ext) ss-t)) ; would expect half
+        (leftmost-x (+ indent (if pristine? 0 narrowing)))
+        (narrowing_ (if pristine? narrowing 0)) ; uses 0 if already narrowed
+        (old-width (+ (interval-length staffsymbol-x-ext) ss-t))
+        (new-width (- old-width narrowing_))
+        (new-rightmost-x (+ leftmost-x new-width)) ; and set! this immediately
+        (junk (ly:grob-set-property! staffsymbol-grob 'width new-rightmost-x))
+        (in-situ-stil (ly:staff-symbol::print staffsymbol-grob))
+        (new-stil (ly:stencil-translate-axis in-situ-stil narrowing_ X))
+       ;(new-stil (stencil-with-color new-stil red)) ; for when debugging
+        (new-x-ext (ly:stencil-extent new-stil X)))
+      (ly:grob-set-property! staffsymbol-grob 'stencil new-stil)
+      (ly:grob-set-property! staffsymbol-grob 'X-extent new-x-ext)
+      )))
+
+    (set-X-offset! (lambda (margin-grob) ; move grob across to line start
+      (let* (
+        (old (ly:grob-property-data margin-grob 'X-offset))
+        (new (lambda (grob) (+ (if (procedure? old) (old grob) old) narrowing))))
+      (ly:grob-set-property! margin-grob 'X-offset new))))
+
+    (tweak-text! (lambda (i-name-grob mkup) ; tweak both instrumentname texts
+      (if (and (markup? mkup) (not (string=? (markup->string mkup) "*")))
+      (begin
+        (ly:grob-set-property! i-name-grob 'long-text mkup)
+        (ly:grob-set-property! i-name-grob 'text mkup)
+        )))) ; else retain existing text
+
+    (install-narrowing (lambda (leftedge-grob) ; on staves, + adapt left margin
+      (let* (
+        (sys (ly:grob-system leftedge-grob))
+        (all-grobs (ly:grob-array->list (ly:grob-object sys 'all-elements)))
+        (grobs-named (lambda (name)
+          (filter (lambda (x) (eq? name (grob::name x))) all-grobs)))
+        (first-leftedge-grob (list-ref (grobs-named 'LeftEdge) 0))
+        (relsys-x-of (lambda (g) (ly:grob-relative-coordinate g sys X)))
+        (leftedge-x (relsys-x-of first-leftedge-grob))
+        (leftedged? (lambda (g) (= (relsys-x-of g) leftedge-x)))
+        (leftedged-ss (filter leftedged? (grobs-named 'StaffSymbol))))
+      (if (eq? leftedge-grob first-leftedge-grob) ; ignore other leftedges [1]
+       (begin
+         (for-each set-staffsymbol! leftedged-ss)
+         (for-each set-X-offset! (grobs-named 'SystemStartBar))
+         (for-each set-X-offset! (grobs-named 'InstrumentName))
+         (for-each tweak-text! (grobs-named 'InstrumentName) name-tweaks)
+       ))))))
+
+  (if (negative? narrowing) (warn-stretched left-indent right-indent))
+  #{ % and continue anyway
+    % ensure that these overrides are applied only at begin-of-line
+    \break % (but this does not exclude unsupported multiple application)
+    % give the spacing engine notice regarding the loss of width for music
+    \once \override Score.LeftEdge.X-extent = #(cons narrowing narrowing)
+    % discard line start region of staff and reassemble left-margin elements
+    \once \override Score.LeftEdge.after-line-breaking = #install-narrowing
+    % shift the system to partition the narrowing between left and right
+    \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
+    .X-offset #(- right-indent)
+    % prevent a leftmost barnumber entering a stretched staff
+    \once \override Score.BarNumber.horizon-padding = #(max 1 (- 1 narrowing))
+  #}))
+
+pseudoIndent = % for changing just left-indent
+#(define-music-function (name-tweaks left-indent)
+  ((markup-list? '()) number?)
+  #{
+    \pseudoIndents $name-tweaks $left-indent 0
+  #})
+
+sustainGradual =
+  -\tweak edge-height #'(0 . 1)
+  -\tweak self-alignment-Y #DOWN
+  -\tweak style #'dashed-line
+  -\tweak stencil #(lambda (grob)
+    (let* ((sten (ly:piano-pedal-bracket::print grob))
+           (xex (ly:stencil-extent sten X))
+           (yex (ly:stencil-extent sten Y))
+           (cresc? (eqv? (ly:grob-property grob 'grow-direction) LEFT)))
+      (ly:line-interface::line grob
+        (car xex) (if cresc? (car yex) (cdr yex))
+        (cdr xex) (if cresc? (cdr yex) (car yex)))))
+  \etc
+
+sustainGradualOn = -\sustainGradual \<
+sustainGradualOff = -\sustainGradual \>
diff --git a/general/umbel.ly b/general/umbel.ly
new file mode 100644 (file)
index 0000000..506584b
--- /dev/null
@@ -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/bass.ly b/manuscripts/bass.ly
new file mode 100644 (file)
index 0000000..f70c315
--- /dev/null
@@ -0,0 +1,12 @@
+% root = ../tiny-cartel.ly
+
+bassMusic = \relative {
+  \clef bass
+  \time 4/4 R1 | %001
+  \time 6/4 R1*6/4 | %002
+  \time 4/4 R1*11 | %003-13
+  \time 6/4 R1*6/4 | %014
+}
+
+bassStaff =
+#(define-music-function (music) (ly:music?) #{ \new Staff = "bass" \with { instrumentName = \markup { bass } shortInstrumentName = \markup { cb } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #})
diff --git a/manuscripts/bassClarinet.ly b/manuscripts/bassClarinet.ly
new file mode 100644 (file)
index 0000000..6e637e1
--- /dev/null
@@ -0,0 +1,12 @@
+% root = ../tiny-cartel.ly
+
+bassClarinetMusic = \relative {
+  \clef treble
+  \time 4/4 R1 | %001
+  \time 6/4 R1*6/4 | %002
+  \time 4/4 R1*11 | %003-13
+  \time 6/4 R1*6/4 | %014
+}
+
+bassClarinetStaff =
+#(define-music-function (music) (ly:music?) #{ \new Staff = "bassClarinet" \with { instrumentName = \markup { bass clarinet } shortInstrumentName = \markup { b cl } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #})
diff --git a/manuscripts/bassoon.ly b/manuscripts/bassoon.ly
new file mode 100644 (file)
index 0000000..828e3af
--- /dev/null
@@ -0,0 +1,21 @@
+% root = ../tiny-cartel.ly
+
+bassoonMusic = \relative {
+  \clef bass
+  \time 4/4 r8 f'8-.\f aes,8-. r8 r4 ges8-. r8 | %001
+  \time 6/4 ees'8-. r8 r8 des8-. r4 r2. | %002
+  \time 4/4 b8-. r8 r4 a8-.\> r8 c,8-. r8 | %003
+  g'8-. r8 e8-.\mp d8-. r4 r8 ais'8-.\< | %004
+  dis8-. gis,8-. r8 b8-.\f r2 | %005
+  R1 | %006
+  r8 d8-.\f g,8-. c8-. r2 | %007
+  bes8-.\> ees,8-. f8-.\mp r8 r2 | %008
+  b!8-.\f a8-. g8-. r8 r4 e'8-. r8 | %009
+  cis8-. r8 r8 d8-. c8-. r8 r4 \clef tenor | %010
+  ees8-. f8-. r8 ges8-. aes8-. r8 r4 | %011
+  R1*2 | %012-13
+  \time 6/4 R1*6/4 | %014
+}
+
+bassoonStaff =
+#(define-music-function (music) (ly:music?) #{ \new Staff = "bassoon" \with { instrumentName = \markup { bassoon } shortInstrumentName = \markup { bsn } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #})
diff --git a/manuscripts/cello.ly b/manuscripts/cello.ly
new file mode 100644 (file)
index 0000000..ec34166
--- /dev/null
@@ -0,0 +1,20 @@
+% root = ../tiny-cartel.ly
+
+celloMusic = \relative {
+  \clef bass
+  \time 4/4 R1 | %001
+  \time 6/4 R1*6/4 | %002
+  \time 4/4 R1*6 | %003-8
+  b8-.^\markup { "pizz" } a8-. g4-. r2 | %009
+  r4 r8 d'8-. c4-. r4 \clef tenor | %010
+  r4 r8 ges'8-. aes4-. r4 | %011
+  b!4-. r4 r2 | %012
+  R1 \clef bass | %013
+  <<
+    { \time 6/4 <bes,,  f' \harmonic>1. | } %014
+    { s1\p\< s4 s4\mf }
+  >>
+}
+
+celloStaff =
+#(define-music-function (music) (ly:music?) #{ \new Staff = "cello" \with { instrumentName = \markup { cello } shortInstrumentName = \markup { vc } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #})
diff --git a/manuscripts/flute.ly b/manuscripts/flute.ly
new file mode 100644 (file)
index 0000000..db45742
--- /dev/null
@@ -0,0 +1,22 @@
+% root = ../tiny-cartel.ly
+
+fluteMusic = \relative {
+  \clef treble
+  \time 4/4 R1 | %001
+  \time 6/4 R1*6/4 | %002
+  \time 4/4 r8 bes'8~->\mf\> bes2.~ | %003
+  \after 2 \! bes2. f'4~->\mf\> | %004
+  f1~ | %005
+  f4\! \after 2 \! ges2.->\mf\> | %006
+  \after 2 \! ees2.->\mf\> ees8(->\mf\> aes,8~ | %007
+  aes1~ | %008
+  aes4)\! r4 r2 | %009
+  r2 r8 des8~\mf\> des4~ | %010
+  des1~ | %011
+  des1~ | %012
+  des2~\p des8 c8~(\mf c4~ | %013
+  \time 6/4 c8 g'8~ g2~\> \after 4. \p g2) r4 | %014
+}
+
+fluteStaff =
+#(define-music-function (music) (ly:music?) #{ \new Staff = "flute" \with { instrumentName = \markup { flute } shortInstrumentName = \markup { fl } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #})
diff --git a/manuscripts/horn.ly b/manuscripts/horn.ly
new file mode 100644 (file)
index 0000000..d63707a
--- /dev/null
@@ -0,0 +1,14 @@
+% root = ../tiny-cartel.ly
+
+hornMusic = \relative {
+  \clef treble
+  \time 4/4 R1 | %001
+  \time 6/4 R1*6/4 | %002
+  \time 4/4 R1*5 | %003-7
+  bes8-.\mf r8 r4 ges8-.\mp r8 r4 | %008
+  R1*5 | %009-13
+  \time 6/4 R1*6/4 | %014
+}
+
+hornStaff =
+#(define-music-function (music) (ly:music?) #{ \new Staff = "horn" \with { instrumentName = \markup { horn } shortInstrumentName = \markup { hn } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #})
diff --git a/manuscripts/oboe.ly b/manuscripts/oboe.ly
new file mode 100644 (file)
index 0000000..38b3637
--- /dev/null
@@ -0,0 +1,16 @@
+% root = ../tiny-cartel.ly
+
+oboeMusic = \relative {
+  \clef treble
+  \time 4/4 R1 | %001
+  \time 6/4 R1*6/4 | %002
+  \time 4/4 R1*7 | %003-9
+  r2 r8 des''8~\pp\< des4~ | %010
+  des1~ | %011
+  des1~ | %012
+  des2~\mf des8 r8 r4 | %013
+  \time 6/4 R1*6/4 | %014
+}
+
+oboeStaff =
+#(define-music-function (music) (ly:music?) #{ \new Staff = "oboe" \with { instrumentName = \markup { oboe } shortInstrumentName = \markup { ob } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #})
diff --git a/manuscripts/perc1.ly b/manuscripts/perc1.ly
new file mode 100644 (file)
index 0000000..61c015c
--- /dev/null
@@ -0,0 +1,19 @@
+% root = ../tiny-cartel.ly
+
+percOneMusic = \relative {
+  \set Staff.pedalSustainStyle = #'bracket
+  \clef treble
+  \time 4/4 <>^\markup { \bold \box "vibraphone" } R1 | %001
+  \time 6/4 ees'8-+\f r8 r8 \once \omit Staff.PianoPedalBracket des8-+\sustainOn
+  \once \override Staff.PianoPedalBracket.bracket-flare = #'(10 . 0.5)
+  \after 2.. \! des1:32\niente\<\sustainOff\sustainOn^\markup { "gradually depress pedal" } | %002
+  \time 4/4 r2\sustainOff a8-+ r8 r4 | %003
+  g8-+ r8 r4 r2 |  %004
+  R1*7 | %005-11
+  r4 c'8( d8~ d8 e8 a,8 g8~ | %012
+  g4) r4 r4 f4~\sustainOn |
+  \time 6/4 f8 g'8~ g2~ g2 r4\sustainOff | %014
+}
+
+percOneStaff =
+#(define-music-function (music) (ly:music?) #{ \new Staff = "perc1" \with { instrumentName = \markup { percussion I } shortInstrumentName = \markup { pc I } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #})
diff --git a/manuscripts/perc2.ly b/manuscripts/perc2.ly
new file mode 100644 (file)
index 0000000..679dd9b
--- /dev/null
@@ -0,0 +1,22 @@
+% root = ../tiny-cartel.ly
+
+percTwoMusic = \relative {
+  \clef treble
+  \time 4/4 <>^\markup { \bold \box "marimba" } R1 | %001
+  \time 6/4 R1*6/4 | %002
+  \time 4/4 b8->\f bes'8:32~\niente\< bes2.:32~ | %003
+  \after 2 \mf bes2.:32 f'4:32~\niente\< | %004
+  f1:32~ | %005
+  f4:32\mf \after 2 \mf ges2.:32\niente\< | %006
+  ees2.:32~\niente\< ees8:32\mf aes,8:32~\niente\< | %007
+  aes1:32~ | %008
+  aes4:32\mf r4 r2 | %009
+  r2 r8 des8:32~\niente\< des4:32~ | %010
+  des1:32~ | %011
+  des1:32~ | %012
+  des2:32~\mp des8:32 c8 f,4:32~ | %013
+  f8:32 <f g'>8:32~ <f g'>2:32~ <f g'>2:32 r4 | %014
+}
+
+percTwoStaff =
+#(define-music-function (music) (ly:music?) #{ \new Staff = "perc2" \with { instrumentName = \markup { percussion II } shortInstrumentName = \markup { pc II } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #})
diff --git a/manuscripts/pianoDown.ly b/manuscripts/pianoDown.ly
new file mode 100644 (file)
index 0000000..9770353
--- /dev/null
@@ -0,0 +1,11 @@
+% root = ../tiny-cartel.ly
+
+pianoDownMusic = \relative {
+  \clef bass
+  \time 4/4 R1 | %001
+  \time 6/4 R1*6/4 | %002
+  \time 4/4 b8-.^\mp^\< r8 r4 r4 c,8-. r8 | %003
+  r4 e8-.\f d8-. r2 | %004
+  \time 4/4 R1*9 | %005-13
+  \time 6/4 R1*6/4 | %014
+}
diff --git a/manuscripts/pianoUp.ly b/manuscripts/pianoUp.ly
new file mode 100644 (file)
index 0000000..3510e36
--- /dev/null
@@ -0,0 +1,14 @@
+% root = ../tiny-cartel.ly
+
+pianoUpMusic = \relative {
+  \clef bass
+  \time 4/4 R1 | %001
+  \time 6/4 R1*6/4 | %002
+  \time 4/4 \makeClusters <b, b'>1~^\markup { "mute strings inside piano" } | %003
+  \makeClusters { <b b'>4.~ <b b'>8~ <b b'>8 } s4. | %004
+  \time 4/4 R1*9 | %005-13
+  \time 6/4 R1*6/4 | %014
+}
+
+pianoStaff =
+#(define-music-function (up down) (ly:music? ly:music?) #{ \new GrandStaff = "piano" \with { instrumentName = \markup { piano } shortInstrumentName = \markup { pno } \override DynamicLineSpanner.staff-padding = \phds } << \new Staff = "u" \with { \consists "Merge_rests_engraver" } { $up } \new Staff = "d" \with { \consists "Merge_rests_engraver" } { $down } >> #})
diff --git a/manuscripts/tempoMap.ly b/manuscripts/tempoMap.ly
new file mode 100644 (file)
index 0000000..1e45ef3
--- /dev/null
@@ -0,0 +1,19 @@
+% root = ../tiny-cartel.ly
+
+tempoMap = \relative {
+  \tempo "Allegro energico" 4=208
+  \time 4/4 s1 | %001
+  \time 6/4 s1*6/4 | %002
+  \time 4/4 s1 | %003
+  s1 | %004
+  s1 | %005
+  s1 | %006
+  s1 | %007
+  s1 | %008
+  s1 | %009
+  s1 | %010
+  s1 | %011
+  s1 | %012
+  s1 | %013
+  \time 6/4 s1*6/4 | %014
+}
diff --git a/manuscripts/trombone.ly b/manuscripts/trombone.ly
new file mode 100644 (file)
index 0000000..008dd67
--- /dev/null
@@ -0,0 +1,17 @@
+% root = ../tiny-cartel.ly
+
+tromboneMusic = \relative {
+  \clef bass
+  \time 4/4 <>^"take mute" R1 | %001
+  \time 6/4 R1*6/4 | %002
+  \time 4/4 R1*2 | %003-4
+  r2 r4 r8 a8-.\mf |%005
+  r2 r8 e'8-. r4 | %006
+  R1 | %007
+  r4 f,8-.\> r8 ges8-.\mp r8 r4 | %008
+  R1*5 | %009-13
+  \time 6/4 R1*6/4 | %014
+}
+
+tromboneStaff =
+#(define-music-function (music) (ly:music?) #{ \new Staff = "trombone" \with { instrumentName = \markup { trombone } shortInstrumentName = \markup { tbn } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #})
diff --git a/manuscripts/trumpet.ly b/manuscripts/trumpet.ly
new file mode 100644 (file)
index 0000000..9e6d3c4
--- /dev/null
@@ -0,0 +1,12 @@
+% root = ../tiny-cartel.ly
+
+trumpetMusic = \relative {
+  \clef treble
+  \time 4/4 R1 | %001
+  \time 6/4 R1*6/4 | %002
+  \time 4/4 R1*11 | %003-13
+  \time 6/4 R1*6/4 | %014
+}
+
+trumpetStaff =
+#(define-music-function (music) (ly:music?) #{ \new Staff = "trumpet" \with { instrumentName = \markup { trumpet } shortInstrumentName = \markup { tpt } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #})
diff --git a/manuscripts/viola.ly b/manuscripts/viola.ly
new file mode 100644 (file)
index 0000000..04da1f1
--- /dev/null
@@ -0,0 +1,17 @@
+% root = ../tiny-cartel.ly
+
+violaMusic = \relative {
+  \clef alto
+  \time 4/4 R1 | %001
+  \time 6/4 R1*6/4 | %002
+  \time 4/4 R1*6 | %003-8
+  r2 r4 e'4-.^\markup { "pizz" } | %009
+  cis4-. r4 r2 | %010
+  ees8-. f4-. ges8-. aes4-. r4 | %011
+  b!4-. r4 r2 | %012
+  R1 | %013
+  \time 6/4 r4 r4 <c, g' \harmonic>4~\p\<^\markup { "arco" } \after 2 \mf <c g' \harmonic>2. | %014
+}
+
+violaStaff =
+#(define-music-function (music) (ly:music?) #{ \new Staff = "viola" \with { instrumentName = \markup { viola } shortInstrumentName = \markup { vla } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #})
diff --git a/manuscripts/violin1.ly b/manuscripts/violin1.ly
new file mode 100644 (file)
index 0000000..ee84368
--- /dev/null
@@ -0,0 +1,15 @@
+% root = ../tiny-cartel.ly
+
+violinOneMusic = \relative {
+  \clef treble
+  \time 4/4 R1 | %001
+  \time 6/4 R1*6/4 | %002
+  \time 4/4 R1*8 | %003-10
+  r2 r4 ais'4(^\markup { "mute" } | %011
+  b4-.) c8( d8~ d8 e8 a,8 g8~ | %012
+  g4.) ges8~( ges4 f4~ | %013
+  \time 6/4 f1~ f4) r4 | %014
+}
+
+violinOneStaff =
+#(define-music-function (music) (ly:music?) #{ \new Staff = "violin1" \with { instrumentName = \markup { violin I } shortInstrumentName = \markup { vl I } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #})
diff --git a/manuscripts/violin2.ly b/manuscripts/violin2.ly
new file mode 100644 (file)
index 0000000..a90bd9b
--- /dev/null
@@ -0,0 +1,15 @@
+% root = ../tiny-cartel.ly
+
+violinTwoMusic = \relative {
+  \clef treble
+  \time 4/4 R1 | %001
+  \time 6/4 R1*6/4 | %002
+  \time 4/4 R1*8 | %003-10
+  r2 r4 ais'4(^\markup { "mute" } | %011
+  b4-.) c8( d8~ d8 e8 a,8 g8~ | %012
+  g4.) ges8~( ges4 f4~ | %013
+  \time 6/4 f1~ f4) r4 | %014
+}
+
+violinTwoStaff =
+#(define-music-function (music) (ly:music?) #{ \new Staff = "violin2" \with { instrumentName = \markup { violin II } shortInstrumentName = \markup { vl II } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #})
diff --git a/parts.ly b/parts.ly
new file mode 100644 (file)
index 0000000..e4665fd
--- /dev/null
+++ b/parts.ly
@@ -0,0 +1,179 @@
+\version "2.24.3"
+
+\include "general/info.ly"
+\include "general/aliases.ly"
+\include "general/scripts.ly"
+\include "general/umbel.ly"
+\include "general/partPaper.ly"
+clarinetFont = #0
+clarinetMagstep = #(magstep 0)
+
+\book {
+
+  \bookpart {
+    \header {
+      title = \markup { \fontsize #1 \xtitle }
+      subtitle = \markup { \medium \italic \xsub }
+      composer = \xcomp
+      poet = \markup { \xinst }
+      piece = \markup { \bold "I. " }
+      arranger = \markup { \tiny \typewriter { \shortHash - \branchName } }
+    }
+    \tocItem \markup { "I. " }
+    \score {
+      <<
+        \include "manuscripts/I-clarinet.ly"
+      >>
+      %\midi { }
+      \layout {
+        \context {
+          \Score
+          \remove Mark_engraver
+         \remove Text_mark_engraver
+          \override RehearsalMark.break-visibility = #begin-of-line-invisible
+          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/4)
+          \override Hairpin.to-barline = ##f
+          \override VerticalAxisGroup.default-staff-staff-spacing =
+            #'((basic-distance . 4)
+               (minimum-distance . 2)
+               (padding . 4)
+               (stretchability . 0))
+        }
+        \context {
+          \Staff
+          \remove Instrument_name_engraver
+          ottavationMarkups = #ottavation-ordinals
+        }
+      }
+    }
+  }
+
+  \pageBreak
+  \markuplist {
+    \fill-line {
+      \line { \null }
+      \line { \vspace #20
+        \huge "page blank to facilitate page turns"
+      }
+      \line { \null }
+    }
+  }
+  \pageBreak
+
+  \bookpart {
+    \header {
+      piece = \markup { \bold "II. " }
+    }
+    \tocItem \markup { "II. " }
+    \score {
+      <<
+        \include "manuscripts/II-clarinet.ly"
+      >>
+      %\midi { }
+      \layout {
+        \context {
+          \Score
+          \remove Mark_engraver
+          \remove Text_mark_engraver
+          \override RehearsalMark.break-visibility = #begin-of-line-invisible
+          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/4)
+          \override Hairpin.to-barline = ##f
+          \override VerticalAxisGroup.default-staff-staff-spacing =
+            #'((basic-distance . 4)
+               (minimum-distance . 2)
+               (padding . 4)
+               (stretchability . 0))
+
+        }
+        \context {
+          \Staff
+          \remove Instrument_name_engraver
+          ottavationMarkups = #ottavation-ordinals
+        }
+      }
+    }
+  }
+
+  \bookpart {
+    \tocItem \markup { "III." \bold "Lento, poco rubato" \parenthesize \italic "to Amber Lucas" }
+    \score {
+      \header {
+        piece = \markup { \bold "III. " \parenthesize \italic "to Amber Lucas"  }
+      }
+      <<
+        \include "manuscripts/III-clarinet.ly"
+      >>
+     %\midi { }
+      \layout {
+        \context {
+          \Score
+          \remove Mark_engraver
+          \remove Text_mark_engraver
+          \remove Tempo_mark_engraver
+          \override RehearsalMark.break-visibility = #begin-of-line-invisible
+          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/4)
+          \override Hairpin.to-barline = ##f
+          \override VerticalAxisGroup.default-staff-staff-spacing =
+            #'((basic-distance . 4)
+               (minimum-distance . 2)
+               (padding . 4)
+               (stretchability . 0))
+        }
+        \context {
+          \Staff
+          \remove Instrument_name_engraver
+          ottavationMarkups = #ottavation-ordinals
+        }
+      }
+    }
+  }
+
+  \pageBreak
+  \markuplist {
+    \fill-line {
+      \line { \null }
+      \line { \vspace #20
+        \huge "page blank to facilitate page turns"
+      }
+      \line { \null }
+    }
+  }
+  \pageBreak
+
+  \bookpart {
+    \tocItem \markup { "IV. " }
+    \score {
+      \header {
+        piece = \markup { \bold "IV." }
+      }
+      <<
+        \include "manuscripts/IV-clarinet.ly"
+      >>
+      %\midi { }
+      \layout {
+        \context {
+          \Score
+          \remove Text_mark_engraver
+          \remove Mark_engraver
+          \override TextSpanner.bound-details.left-broken.text = " "
+          \override RehearsalMark.break-visibility = #begin-of-line-invisible
+          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/4)
+          \override Hairpin.to-barline = ##f
+          \override Stem.stemlet-length = #0.75
+          \override VerticalAxisGroup.default-staff-staff-spacing =
+            #'((basic-distance . 4)
+               (minimum-distance . 2)
+               (padding . 4)
+               (stretchability . 0))
+
+        }
+        \context {
+          \Staff
+          \remove Instrument_name_engraver
+          \consists Mark_engraver
+          ottavationMarkups = #ottavation-ordinals
+        }
+      }
+    }
+  }
+}
diff --git a/tiny-cartel.ly b/tiny-cartel.ly
new file mode 100644 (file)
index 0000000..7e33164
--- /dev/null
@@ -0,0 +1,232 @@
+\version "2.24.4"
+
+\include "general/info.ly"
+\include "general/aliases.ly"
+\include "general/scripts.ly"
+\include "general/umbel.ly"
+\include "general/scorePaper.ly"
+
+\include "manuscripts/tempoMap.ly"
+\include "manuscripts/flute.ly"
+\include "manuscripts/oboe.ly"
+\include "manuscripts/bassClarinet.ly"
+\include "manuscripts/bassoon.ly"
+\include "manuscripts/horn.ly"
+\include "manuscripts/trumpet.ly"
+\include "manuscripts/trombone.ly"
+\include "manuscripts/perc1.ly"
+\include "manuscripts/perc2.ly"
+\include "manuscripts/pianoUp.ly"
+\include "manuscripts/pianoDown.ly"
+\include "manuscripts/violin1.ly"
+\include "manuscripts/violin2.ly"
+\include "manuscripts/viola.ly"
+\include "manuscripts/cello.ly"
+\include "manuscripts/bass.ly"
+
+\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 #25
+            \line { \fontsize #8 \bold \underline \xtitle }
+      \vspace #-0.1
+            \line { \fontsize #3 \sans \xcomp }
+      \vspace #3
+      \line { \fontsize #2 \sans \concat { "for " \xinst } }
+      }
+    }
+    \vspace #40.5
+    \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 2026 }
+            \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 " [2026]" }
+        \line { \xinst " | " \sans "~10" minutes }
+        \line { \xcomp }
+        \vspace #25
+      }
+      \center-column {
+        \vspace #5
+        \left-column {
+          \override #'(line-width . 100)
+          \line { \hspace #100 }
+          \vspace #-1
+          \wordwrap { \char ##x10AF1 \hspace #0.5 \large \bold \sans "contents" }
+        }
+        \vspace #0.5
+        \left-column {
+          \override #'(line-width . 90)
+          \table-of-contents
+        }
+        \vspace #2.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 { &sect; \hspace #3.5 \sans \bold \italic "interpreting notations" }
+        }
+        \left-column {
+          \override #'(line-width . 90)
+          \line { \hspace #90 }
+          \justify { \sans \italic 1. \hspace #1 Accidentals carry through each bar &ndash; cautionary accidentals added for clarification. }
+          \override #'(line-width . 90)
+          \justify { \sans \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 {
+            \sans \italic 3. \hspace #1 Dotted slurs are used to indicate phrasing that may not be clear through dynamics and other notations.
+          }
+          \override #'(line-width . 90)
+          \justify {
+            \sans \italic 4. \hspace #1 Clusters should contain all of the
+            chromatic notes between the upper and lower limit of the
+            cluster-span.
+          }
+          \override #'(line-width . 90)
+          \justify {
+            \sans \italic 5. \hspace #1 Cadenza notation should be interpreted
+            freely, though music should be continuous between breath marks and
+            rests. Breath marks indicate a short break, while rests are longer.
+          }
+        }
+        \vspace #2.5
+        \line { \char ##x2042 }
+      }
+
+      \right-column {
+        \vspace #-0.5
+        \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 { \branchName } }
+        }
+        \vspace #2
+      }
+    }
+  }
+
+  \pageBreak
+
+  \bookpart {
+    \header {
+      title = \markup { \fontsize #1 \xtitle }
+      subtitle = \markup { \medium \italic \xsub }
+      composer = \xcomp
+      poet = \markup { transposed score }
+    }
+    \score {
+      <<
+        \new StaffGroup
+        <<
+          \fluteStaff << \tempoMap \fluteMusic >>
+          \oboeStaff \oboeMusic
+          \bassClarinetStaff \bassClarinetMusic
+          \bassoonStaff \bassoonMusic
+        >>
+        \new StaffGroup
+        <<
+          \hornStaff \hornMusic
+          \trumpetStaff \trumpetMusic
+          \tromboneStaff \tromboneMusic
+        >>
+        \new StaffGroup
+        <<
+          \percOneStaff \percOneMusic
+          \percTwoStaff \percTwoMusic
+        >>
+        \pianoStaff \pianoUpMusic \pianoDownMusic
+        \new StaffGroup
+        <<
+          \violinOneStaff << \tempoMap \violinOneMusic >>
+          \violinTwoStaff \violinTwoMusic
+          \violaStaff \violaMusic
+          \celloStaff \celloMusic
+          \bassStaff \bassMusic
+        >>
+      >>
+    }
+  }
+  \pageBreak
+  \markup { \vspace #5 }
+  \pageBreak
+  \markup { \vspace #5 }
+  \pageBreak
+  \markup {
+    \fill-line {
+      \center-column {
+        \vspace #24 \xumbel
+        \vspace #0.3
+        \line { \with-url #"https://www.jwpepper.com/myscore/umbel-press" \fontsize #-3 \hbracket \sans \bold "  https://www.jwpepper.com/myscore/umbel-press  " }
+      }
+    }
+  }
+}