--- /dev/null
+*.pdf
+*.ps
+*.midi
+*.mid
+*.log
+*~
+.DS_Store
--- /dev/null
+This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
+
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+For more information, please refer to <https://unlicense.org>
--- /dev/null
+Usage
+
+Required Fonts:
+
+- haydn (https://github.com/OpenLilyPondFonts/haydn)
+- Junicode
+- Syne
+
+The content of this project (music and logos) is protected under copyright, and the underlying source code used to format that content licensed under the Unlicense.
+(Copyright © 2023 Tucker Johnson)
--- /dev/null
+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 #:combine #:transparent "f" "p" #:combine
+#:transparent "f" #: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" ) )
+
+
+
+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
--- /dev/null
+xtitle = \markup { Choruses }
+xsub = \markup { " " }
+xcomp = \markup { Tucker Johnson }
+xinst = \markup { alto saxophone and electronics }
+xdur = \markup { \null }
+xcr = \markup \tiny { Copyright Tucker Johnson 2024. 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 { " - " \fromproperty #'page:page-number-string " - " } } \null } }
+evfoot = \markup { \fill-line { \null \center-column { " " \concat { " - " \fromproperty #'page:page-number-string " - " } } \null } }
+finfoot = \markup { \fill-line { \null \center-column { " " \concat { " - " \fromproperty #'page:page-number-string " - " } \small \typewriter { "February 1st, 2022 - Rochester, New York" } } \null } }
--- /dev/null
+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)
+ #})
--- /dev/null
+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
+ }
+ }
--- /dev/null
+% root = ../net-clarity.ly
+
+\new Staff \with {
+ instrumentName = \markup { clarinet in \concat { \bold "B" \tiny \flat " " } }
+ shortInstrumentName = \markup { cl }
+ \override DynamicLineSpanner.staff-padding = \sods
+ fontSize = \clarinetFont
+ \override StaffSymbol.staff-space = \clarinetMagstep
+ \consists Text_mark_engraver
+}
+
+\transpose bes c'
+\relative {
+ \compressEmptyMeasures
+ \numericTimeSignature
+ \clef treble
+ \tempo "Allegro energico" 4=104
+ \time 5/4 R1*5/4 | %001
+ \time 4/4 R1*5
+ \time 5/4 R1*5/4 |
+ \time 4/4 R1*13 |
+
+}
--- /dev/null
+\version "2.24.3"
+
+\include "general/info.ly"
+\include "general/aliases.ly"
+\include "general/scripts.ly"
+\include "general/umbel.ly"
+
+clarinetFont = #-2
+clarinetMagstep = #(magstep -2)
+
+\paper {
+ line-width = 120
+ first-page-number = -1
+ 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 "syne"))
+ 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 { \hbracket \sans \bold " contents " }
+
+ tocItemMarkup = \markup \fill-line {
+ \fill-with-pattern #1.5 #CENTER .
+ \line {
+ \fromproperty #'toc:indent \fromproperty #'toc:text
+ }
+ \tiny \number \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 }
+
+ }
+ 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 }
+ }
+ 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 }
+ }
+ 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 \fill-line { \null \tiny \typewriter \longHash \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.25
+ \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 2019/24 }
+ \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 " [2019/24]" }
+ \line { \xinst " | " 10 minutes }
+ \line { \xcomp }
+ \vspace #25
+ }
+ \center-column {
+ \vspace #5
+ \line { \hbracket \bold \sans " program notes "}
+ \vspace #0.2
+ \center-column {
+ \override #'(line-width . 100)
+ \justify {
+ I was struck by the idea of writing \bold "Net Clarity" while listening
+ to my partner, Amber Lucas, practice one of the Reger clarinet sonatas.
+ The work extends a technical approach I employed to compose short
+ keyboard inventions in my recent piece Circumnutation and explores
+ further the structural potentialities of the diatonic set (equivalent to
+ the major scale) and its relationship to the aggregate (the collection of
+ all 12 notes). These (my) technical proclivities notwithstanding, \bold
+ "Net Clarity" also indulges in the diatonic set as a referential
+ collection \char #8211 hinting at other music, without necessarily
+ quoting. Because of its design, the work creates the sensation of a hazy
+ memory \char #8211 remembering music with varying levels of clarity.
+ }
+ }
+ \vspace #3
+ \override #'(thickness . 5)
+ \draw-squiggle-line #0.5 #'(20 . 0) ##t
+ }
+
+ \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
+ \header {
+ tagline = "test"
+ }
+
+ \bookpart {
+ \header {
+ title = \markup { \fontsize #1 \xtitle }
+ subtitle = \markup { \medium \italic \xsub }
+ composer = \xcomp
+ poet = \markup { \xinst }
+ }
+ \score {
+ <<
+ \include "manuscripts/altoSaxophone.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
+ }
+ }
+ }
+ }
+
+ \pageBreak
+ \markup { \null }
+}