From: Tucker Johnson Date: Mon, 12 Jan 2026 13:26:42 +0000 (-0500) Subject: lib X-Git-Url: https://git.newer.systems/?a=commitdiff_plain;h=3f5bb535f3d9169172e970d0c404921347b75a71;p=tiny-cartel.git lib --- diff --git a/general/aliases.ly b/general/aliases.ly deleted file mode 100644 index d5f0e23..0000000 --- a/general/aliases.ly +++ /dev/null @@ -1,111 +0,0 @@ -U = \change Staff = "u" -D = \change Staff = "d" - -%spacing -ds = #2.5 -sods = #3.4 -phds = #3.9 - -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 index 62f9ad9..1c94655 100644 --- a/general/info.ly +++ b/general/info.ly @@ -1,10 +1,53 @@ -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 } } +xtitle = \markup { Tiny Cartel } +xsub = \markup { for the Eastman Graduate Composers Sinfonietta } +xcomp = \markup { Tucker Johnson } +xinst = \markup { Bb clarinet & sinfonietta } +xdur = \markup { \sans "~10" "minutes" } +xyear = \markup { 2026 } +xcr = \markup \tiny { Copyright Umbel Press \concat { \sans \xyear "." } All Rights Reserved (ASCAP) } + + +programNotes = +\markup { + test \bold "test" +} + +performanceNotes = +\markuplist { + \left-column { + \override #'(line-width . 100) + \line { \hspace #100 } + \wordwrap { § \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 – 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 +} diff --git a/general/scorePaper.ly b/general/scorePaper.ly index fc3944b..d7b5d1b 100644 --- a/general/scorePaper.ly +++ b/general/scorePaper.ly @@ -130,7 +130,7 @@ \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" + \override CenteredBarNumber.font-name = "classico" \phrasingSlurDashPattern #0.5 #2.0 \override PhrasingSlur.thickness = 0.5 \override StaffSymbol.layer = #4 @@ -152,6 +152,7 @@ \override TupletNumber.font-shape = #'upright centerBarNumbers = ##t barNumberVisibility = #all-bar-numbers-visible + rehearsalMarkFormatter = #rounded-measure-number-mark \override CenteredBarNumber.stencil = #(make-stencil-boxer 0.1 0.25 ly:text-interface::print) \override CenteredBarNumberLineSpanner.direction = #DOWN \remove Text_mark_engraver @@ -160,7 +161,6 @@ } \context { \Staff - \consists Mark_engraver \consists Text_mark_engraver \consists Metronome_mark_engraver } diff --git a/general/scripts.ly b/general/scripts.ly deleted file mode 100644 index d305d57..0000000 --- a/general/scripts.ly +++ /dev/null @@ -1,176 +0,0 @@ - -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 deleted file mode 100644 index 506584b..0000000 --- a/general/umbel.ly +++ /dev/null @@ -1,34 +0,0 @@ -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/lib/dynamics.ly b/lib/dynamics.ly new file mode 100644 index 0000000..c0b8a5c --- /dev/null +++ b/lib/dynamics.ly @@ -0,0 +1,54 @@ +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"))) + +%spacing +ds = #2.5 +sods = #3.4 +phds = #3.9 diff --git a/lib/formatting.ly b/lib/formatting.ly new file mode 100644 index 0000000..67afc50 --- /dev/null +++ b/lib/formatting.ly @@ -0,0 +1,91 @@ +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 + #}) diff --git a/lib/load.ly b/lib/load.ly new file mode 100644 index 0000000..338be5c --- /dev/null +++ b/lib/load.ly @@ -0,0 +1,6 @@ +\include "dynamics.ly" +\include "formatting.ly" +\include "notes.ly" +\include "spanners.ly" +\include "text.ly" +\include "matter.ly" diff --git a/lib/matter.ly b/lib/matter.ly new file mode 100644 index 0000000..3e32105 --- /dev/null +++ b/lib/matter.ly @@ -0,0 +1,225 @@ +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 + } +} + +#(define (outside-cover-markuplist bottom-space) + #{ + \markuplist { + \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 #bottom-space + \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 } + } + } + #}) + +#(define (inside-cover-markuplist) + #{ + \markuplist { + \fill-line { + \line { \null } + \center-column { + \vspace #10 + \line { \hbracket \fontsize #10 \number \xyear } + \vspace #4 + \line { \xcomp } + \vspace #1 + \line { \fontsize #5 \bold \xtitle } + \line { \italic \xsub } + \vspace #4 + } + \right-column { \line { \null } + } + } + } + #}) + +#(define (info-matter-markuplist) + #{ + \markuplist { + \left-column { + \line { \bold \xtitle \concat { " [" \sans \xyear "]" } } + \line { \xinst " | " \xdur } + \line { \xcomp } + \vspace #25 + } + } + #}) + +#(define (git-matter-markuplist) + #{ + \markuplist { + \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 + } + } + #}) + +#(define (rear-cover-markuplist top-space) + #{ + \markuplist { + \fill-line { + \center-column { + \vspace #top-space + \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 " } + } + } + } + #}) + +#(define (toc-markuplist) + #{ + \markuplist { + \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 + } + #}) + +#(define (program-notes-markuplist notes-markup) + #{ + \markuplist { + \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 { #notes-markup } + } + \vspace #2.5 + } + #}) + +#(define (performance-notes-markuplist notes-markup) + #{ + \markuplist { + \left-column { + \override #'(line-width . 100) + \line { \hspace #100 } + \vspace #-1 + \wordwrap { \char ##x10AF1 \hspace #0.5 \large \bold \sans "performance notes" } + } + #notes-markup + } + #}) + + +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/lib/notes.ly b/lib/notes.ly new file mode 100644 index 0000000..239580b --- /dev/null +++ b/lib/notes.ly @@ -0,0 +1,16 @@ +harm = +\once \override Staff.NoteHead.style = #'harmonic-mixed + +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 +} diff --git a/lib/spanners.ly b/lib/spanners.ly new file mode 100644 index 0000000..dd1af81 --- /dev/null +++ b/lib/spanners.ly @@ -0,0 +1,71 @@ +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 + } + #}) + +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.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 + } + #}) + +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/lib/text.ly b/lib/text.ly new file mode 100644 index 0000000..091ba48 --- /dev/null +++ b/lib/text.ly @@ -0,0 +1,17 @@ +pizz = ^\markup { "pizz" } +arco = ^\markup { "arco" } +colLegno = ^\markup { "col legno" } +conSord = ^\markup { "con sord." } +senSord = ^\markup { "senza sord." } +pont = ^\markup { \italic "sul pont." } +tasto = ^\markup { \italic "sul tasto" } +ord = ^\markup { \italic "ord." } +flautando = ^\markup { \italic "flautando" } + +#(define (rounded-measure-number-mark mark context) + (let ((bar (ly:context-property context 'currentBarNumber))) + (markup + #:rounded-box + #:bold + #:sans + (number->string bar)))) diff --git a/manuscripts/bass.ly b/manuscripts/bass.ly index ccd7add..40123e6 100644 --- a/manuscripts/bass.ly +++ b/manuscripts/bass.ly @@ -1,13 +1,22 @@ % root = ../tiny-cartel.ly - -bassMusic = \relative { +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 - \time 4/4 R1*12 + \time 3/4 R1*3/4*2 | %002-3 + \time 4/4 R1*11 | %004-14 + \time 3/4 R1*3/4*2 | %015-16 + \time 4/4 R1*26 | %016-42 } bassStaff = -#(define-music-function (music) (ly:music?) #{ \new Staff = "bass" \with { instrumentName = \markup { "bass " } shortInstrumentName = \markup { "cb " } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #}) +#(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 index 7f2a26d..a2f1ce9 100644 --- a/manuscripts/bassClarinet.ly +++ b/manuscripts/bassClarinet.ly @@ -1,28 +1,37 @@ % root = ../tiny-cartel.ly - -bassClarinetMusic = \transpose bes c'' \relative { +bassClarinetMusic = +\transpose bes c'' \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 - \time 4/4 R1*8 | %015-22 - r2 r4 r8 d''8-. | %023 - a8-. r8 r4 r4 bes8-. r8 | %024 - c8-. r8 r4 r4 a,8-. r8 | %025 - r8 bes,8-. c8-. r8 r8 d8-. ees8-. f8-. | %026 - R1*3 | %027-29 - r8 bes8-. r4 r2 | %030 - R1*3 | %031-33 - r2 r4 bes,8-. e8-. | %034 - r8 ges8-. r8 c,8-. r4 r8 des8-. | %035 - ees,1~ | %036 - ees4. a8( d4 f4~ | %037 - f8) r8 r4 r4 r8 fis,8-. | %038 - g8-. c8-. d8-. e8-. r2 | %039 - r2 gis8-. r8 r8 b8-. | %040 + R1 | %001 + R1*3/4*2 | %002-3 + R1*11 | %004-14 + R1*3/4*2 | %015-16 + R1*8 | %017-24 + r2 r4 r8 d''8-. | %025 + a8-. r8 r4 r4 bes8-. r8 | %026 + c8-. r8 r4 r4 a,8-. r8 | %027 + r8 bes,8-. c8-. r8 r8 d8-. ees8-. f8-. | %028 + R1*3 | %029-31 + r8 bes8-. r4 r2 | %032 + R1*3 | %033-35 + r2 r4 bes,8-. e8-. | %036 + r8 ges8-. r8 c,8-. r4 r8 des8-. | %037 + ees,1~ | %038 + ees4. a8( d4 f4~ | %039 + f8) r8 r4 r4 r8 fis,8-. | %040 + g8-. c8-. d8-. e8-. r2 | %041 + r2 gis8-. r8 r8 b8-. | %042 cis8-. } 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 >> #}) +#(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 index 70e8b06..82d83fc 100644 --- a/manuscripts/bassoon.ly +++ b/manuscripts/bassoon.ly @@ -1,37 +1,38 @@ % root = ../tiny-cartel.ly - -bassoonMusic = \relative { +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 - \time 4/4 R1*8 \clef bass | %015-22 - r2 cis,,8-. gis'8-. fis8-. r8 | %023 - r2 e'8( ees8~ ees4~ | %024 - ees8 f4 g8 d8-.) r8 r4 | %025 - R1 | %026 - ges,8-. aes8-. r4 r4 r8 b8-. | %027 - e8-. c8-. r8 d8-. r2 | %028 - R1 %029 - r2 r8 g,8-. r4 | %030 - R1*3 | %031-33 - r2 r4 bes,8-. e8-. | %034 - r8 ges8-. r8 c,8-. r2 | %035 - R1 \clef tenor | %036 - r2 r8 bes''8~ bes4~ | %037 - bes8 r8 r4 r4 r8 \clef bass fis,,8-. | - g8-. c8-. d8-. e8-. r2 | %039 - r2 r4 r8 b8-. | %040 + r8 f'8-.\f aes,8-. r8 r4 ges8-. r8 | %001 + ees'8-. r8 r8 des8-. r4 | %002 + R1*3/4 | %003 + b8-. r8 r4 a8-.\> r8 c,8-. r8 | %004 + g'8-. r8 e8-.\mp d8-. r4 r8 ais'8-.\< | %005 + dis8-. gis,8-. r8 b8-.\f r2 | %006 + R1 | %007 + r8 d8-.\f g,8-. c8-. r2 | %008 + bes8-.\> ees,8-. f8-.\mp r8 r2 | %009 + b!8-.\f a8-. g8-. r8 r4 e'8-. r8 | %010 + cis8-. r8 r8 d8-. c8-. r8 r4 \clef tenor | %011 + ees8-. f8-. r8 ges8-. aes8-. r8 r4 | %012 + R1*2 | %013-14 + R1*3/4*2 | %015-16 + R1*8 \clef bass | %017-24 + r2 cis,,8-. gis'8-. fis8-. r8 | %025 + r2 e'8( ees8~ ees4~ | %026 + ees8 f4 g8 d8-.) r8 r4 | %027 + R1 | %028 + ges,8-. aes8-. r4 r4 r8 b8-. | %029 + e8-. c8-. r8 d8-. r2 | %030 + R1 %031 + r2 r8 g,8-. r4 | %032 + R1*3 | %033-35 + r2 r4 bes,8-. e8-. | %036 + r8 ges8-. r8 c,8-. r2 | %037 + R1 \clef tenor | %038 + r2 r8 bes''8~ bes4~ | %039 + bes8 r8 r4 r4 r8 \clef bass fis,,8-. | %40 + g8-. c8-. d8-. e8-. r2 | %041 + r2 r4 r8 b8-. | %042 dis8-. } diff --git a/manuscripts/cello.ly b/manuscripts/cello.ly index 7a2d7fa..21b83b2 100644 --- a/manuscripts/cello.ly +++ b/manuscripts/cello.ly @@ -1,27 +1,32 @@ % 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 1.^\markup { "arco" } | } %014 - { s1\p\< s4 s4\mf } - >> - \time 4/4 R1 | %015 - r8 a'8-.^\markup { "pizz" } r8 b8-. r8 d8-. r4 | %016 - fis,8(^\markup { "arco" } aes8~ aes4 g8-.) r8 r4 | %017 - c,8^\markup { "pizz" } bes8 r4 r2 | %018 - R1*7 | %019-25 + R1 | %001 + R1*3/4*2 | %002-3 + R1*6 | %004-9 + b8-.^\markup { "pizz" } a8-. g4-. r2 | %010 + r4 r8 d'8-. c4-. r4 \clef tenor | %011 + r4 r8 ges'8-. aes4-. r4 | %012 + b!4-. r4 r2 | %013 + R1 \clef bass | %014 + 2.~\p\<^\markup { "arco" } | %015 + \after 2 \mf 2. | %016 + \time 4/4 R1 | %017 + r8 a'8-.^\markup { "pizz" } r8 b8-. r8 d8-. r4 | %018 + fis,8(^\markup { "arco" } aes8~ aes4 g8-.) r8 r4 | %019 + c,8^\markup { "pizz" } bes8 r4 r2 | %020 + R1*7 | %021-27 r2 r8 des8^\markup { "pizz" } ees8 f8 } celloStaff = -#(define-music-function (music) (ly:music?) #{ \new Staff = "cello" \with { instrumentName = \markup { "cello " } shortInstrumentName = \markup { "vc " } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #}) +#(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/clarinetSolo.ly b/manuscripts/clarinetSolo.ly index 58327c9..37cac61 100644 --- a/manuscripts/clarinetSolo.ly +++ b/manuscripts/clarinetSolo.ly @@ -1,14 +1,22 @@ % root = ../tiny-cartel.ly - clarinetMusic = \transpose bes c' \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 + R1 | %001 + R1*3/4*2 | %002-3 + R1*11 | %004-14 + R1*3/4*2 | %015-16 R1*26 } clarinetStaff = -#(define-music-function (music) (ly:music?) #{ \new Staff = "clarinetSolo" \with { instrumentName = \markup { \concat { "clarinet in B" \flat " " } } shortInstrumentName = \markup { "cl " } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #}) +#(define-music-function (music) (ly:music?) + #{ + \new Staff = "clarinetSolo" + \with { + instrumentName = \markup { \concat { "clarinet in B" \flat " " } } + shortInstrumentName = \markup { "cl " } + \override DynamicLineSpanner.staff-padding = \sods + } + << $music >> + #}) diff --git a/manuscripts/flute.ly b/manuscripts/flute.ly index c3a70ec..febd5b4 100644 --- a/manuscripts/flute.ly +++ b/manuscripts/flute.ly @@ -1,41 +1,51 @@ % root = ../tiny-cartel.ly - -fluteMusic = \relative { +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 + R1 | %001 + R1*3/4*2 | %002-3 + r8 bes'8~->\mf\> bes2.~ | %004 + \after 2 \! bes2. f'4~->\mf\> | %005 + f1~ | %006 + f4\! \after 2 \! ges2.->\mf\> | %007 + \after 2 \! ees2.->\mf\> ees8(->\mf\> aes,8~ | %008 + aes1~ | %009 + aes4)\! r4 r2 | %010 + r2 r8 des8~\mf\> des4~ | %011 des1~ | %012 - des2~\p des8 c8~(\mf c4~ | %013 - \time 6/4 c8 g'8~ g2~\> \after 4. \p g2) r4 | %014 - \time 4/4 R1*3 | %015-17 - r2 r8 d8~( d4 | %018 - b1~ | %019 - b1~ | %020 - b2.) b4~ | %021 + des1~ | %013 + des2~\p des8 c8~(\mf c4~ | %014 + c8 g'8~ g2~\> | %015 + \after 4. \p g2) r4 | %016 + R1*3 | %017-19 + r2 r8 d8~( d4 | %020 + b1~ | %021 b1~ | %022 - b2 r2^\markup { "take piccolo" } | %023 - R1*3 | %024-25 - r2 g2~(^\markup { "piccolo" } | %026 - g2 f4 e4~ | %027 - e4 fis4-.) r2^\markup { "take flute" } | %028 - R1*5 | %029-33 - r2 a'8(^\markup { "flute" } gis8~ gis4~ | %034 - gis2) g4-- e4-- | %035 - c2 r8 bes8~ bes4~ | %036 - bes8 r8 r4 r2 | %037 - r2 r8 fis'8~ fis4~ | %038 - fis2~ fis4 fis4-- | %039 + b2.) b4~ | %023 + b1~ | %024 + b2 r2^\markup { "take piccolo" } | %025 + R1*3 | %026-27 + r2 g2~(^\markup { "piccolo" } | %028 + g2 f4 e4~ | %029 + e4 fis4-.) r2^\markup { "take flute" } | %030 + R1*5 | %031-35 + r2 a'8(^\markup { "flute" } gis8~ gis4~ | %036 + gis2) g4-- e4-- | %037 + c2 r8 bes8~ bes4~ | %038 + bes8 r8 r4 r2 | %039 + r2 r8 fis'8~ fis4~ | %040 + fis2~ fis4 fis4-- | %041 fis8-.-> } fluteStaff = -#(define-music-function (music) (ly:music?) #{ \new Staff = "flute" \with { instrumentName = \markup { "flute " } shortInstrumentName = \markup { "fl " } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #}) +#(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 index d96807f..8f951e9 100644 --- a/manuscripts/horn.ly +++ b/manuscripts/horn.ly @@ -1,20 +1,31 @@ % root = ../tiny-cartel.ly - -hornMusic = \transpose f c' \relative { +hornMusic = +\transpose f c' \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 - \time 4/4 R1*2 | %015-16 - fis8( aes8~ aes4 g8)-. r8 ees8-. r8 | %017 - R1*6 | %018-23 - r8 b8(~ b4 e8 ees8~ ees4~ | %024 - ees8 f4 g8 d8-.) r8 r4 | %025 - R1 | %026 + R1 | %001 + R1*3/4*2 | %002-3 + R1*5 | %004-8 + bes8-.\mf r8 r4 ges8-.\mp r8 r4 | %009 + R1*5 | %0010-14 + R1*3/4*2 | %015-16 + R1*2 | %017-18 + fis8( aes8~ aes4 g8)-. r8 ees8-. r8 | %019 + R1*6 | %020-25 + r8 b8(~ b4 e8 ees8~ ees4~ | %026 + ees8 f4 g8 d8-.) r8 r4 | %027 + R1*14 | %028-41 + r8 ees8-. r8 f8-. aes8-. r8 r4 | %042 + } hornStaff = -#(define-music-function (music) (ly:music?) #{ \new Staff = "horn" \with { instrumentName = \markup { "horn in F " } shortInstrumentName = \markup { "hn " } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #}) +#(define-music-function (music) (ly:music?) + #{ + \new Staff = "horn" + \with { + instrumentName = \markup { "horn in F " } + shortInstrumentName = \markup { "hn " } + \override DynamicLineSpanner.staff-padding = \sods + } + << $music >> + #}) diff --git a/manuscripts/oboe.ly b/manuscripts/oboe.ly index 050baed..e06a1d2 100644 --- a/manuscripts/oboe.ly +++ b/manuscripts/oboe.ly @@ -1,35 +1,44 @@ % root = ../tiny-cartel.ly - -oboeMusic = \relative { +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 + R1 | %001 + R1*3/4*2 | %002-3 + R1*7 | %004-10 + r2 r8 des''8~\pp\< des4~ | %011 des1~ | %012 - des2~\mf des8 r8 r4 | %013 - \time 6/4 R1*6/4 | %014 - \time 4/4 R1*6 | %015-20 - r2 r4 b4~ | %021 - b4. a8~ a2~ | %022 - a2 r4 r8 d8( | %023 - a2. bes4 | %024 - c1~ | %025 - c1) | %026 - R1*2 | %027-28 - r4 fis8( dis8 b4) gis'4( | %029 - cis,1~ | %030 - cis1) | %031 - r2 r4 b4~( | %032 - b4. cis8 f4) d4~( | %033 - d4 ees2.~ | %034 - ees4) r4 r2 | %035 - R1*3 | %036-38 - r2 r8 fis8~ fis4~ | %039 - fis2~ fis4 fis4-- | %040 + des1~ | %013 + des2~\mf des8 r8 r4 | %014 + R1*3/4*2 | %015-16 + R1*6 | %017-22 + r2 r4 b4~ | %023 + b4. a8~ a2~ | %024 + a2 r4 r8 d8( | %025 + a2. bes4 | %026 + c1~ | %027 + c1) | %028 + R1*2 | %029-30 + r4 fis8( dis8 b4) gis'4( | %031 + cis,1~ | %032 + cis1) | %033 + r2 r4 b4~( | %034 + b4. cis8 f4) d4~( | %035 + d4 ees2.~ | %036 + ees4) r4 r2 | %037 + R1*3 | %038-40 + r2 r8 fis8~ fis4~ | %031 + fis2~ fis4 fis4-- | %042 fis8-.-> } oboeStaff = -#(define-music-function (music) (ly:music?) #{ \new Staff = "oboe" \with { instrumentName = \markup { "oboe " } shortInstrumentName = \markup { "ob " } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #}) +#(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 index 91bdc1d..245e9cd 100644 --- a/manuscripts/perc1.ly +++ b/manuscripts/perc1.ly @@ -1,29 +1,42 @@ % root = ../tiny-cartel.ly - -percOneMusic = \relative { +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 + <>^\markup { \bold \box "vibraphone" } R1 | %001 + 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 - r4 cis,,8 dis8 r8 ais8 r8 gis8 | %015 - R1*2 | %016-17 - r2 r8 d''8\mf e4 | %018 - b1:32~\> | %019 - b1:32~ | %020 - b4:32\niente r4 r2 | %021 - R1*2 | %022-23 - r8 b,8(~ b4 e8 ees8~ ees4~ | %024 - ees8 f4 g8 d8) r8 r4 | %025 - R1 | %025 + des4:32~\niente\<\sustainOff\sustainOn^\markup { "gradually depress pedal" } | %002 + \after 2 \! des2.:32 | %003 + r2\sustainOff a8-+ r8 r4 | %004 + g8-+ r8 r4 r2 | %005 + R1*7 | %006-12 + r4 c'8( d8~ d8 e8 a,8 g8~ | %013 + g4) r4 r4 f4~\sustainOn | %14 + f8 g'8~ g2~ | %015 + g2 r4\sustainOff | %016 + r4 \xNotesOn cis,,8 dis8 r8 ais8 r8 gis8 \xNotesOff | %017 + R1*2 | %017-18 + r2 r8 d''8\mf e4 | %019 + b1:32~\> | %020 + b1:32~ | %021 + b4:32\niente r4 r2 | %022 + R1*2 | %023-24 + r8 b,8(~ b4 e8 ees8~ ees4~ | %025 + ees8 f4 g8 d8) r8 r4 | %026 + R1*13 | %027-40 + r2 a8-+ bes8~ bes4 | %041 + r4 r8 f8-+ aes8-+ r8 r4 | %042 } 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 >> #}) +#(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 index 7161015..d60d9a4 100644 --- a/manuscripts/perc2.ly +++ b/manuscripts/perc2.ly @@ -1,31 +1,53 @@ % root = ../tiny-cartel.ly - -percTwoMusic = \relative { +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 + <>^\markup { \bold \box "marimba" } R1 | %001 + R1*3/4*2 | %002-3 + b8->\f bes'8:32~\niente\< bes2.:32~ | %004 + \after 2 \mf bes2.:32 f'4:32~\niente\< | %005 + f1:32~ | %006 + f4:32\mf \after 2 \mf ges2.:32\niente\< | %007 + ees2.:32~\niente\< ees8:32\mf aes,8:32~\niente\< | %008 + aes1:32~ | %009 + aes4:32\mf r4 r2 | %010 + r2 r8 des8:32~\niente\< des4:32~ | %011 des1:32~ | %012 - des2:32~\mp des8:32 c8 f,4:32~ | %013 - f8:32 8:32~ 2:32~ 2:32 r4 | %014 - \time 4/4 R1*3 \clef bass | %015 - r2 a,,2:32~\niente\< | %016 - a2:32~ a8:32\f des8 g8 ges8 | %017 - bes,4 r4 r2 | %018 - R1 | %019 - r2 r4 e4 | %020 - r4 r8 f8 r4 fis4 | %021 - R1*2 | %022-23 - r8 bes,8 c4 r2 | %024 + des1:32~ | %013 + des2:32~\mp des8:32 c8 f,4:32~ | %014 + f8:32 8:32~ 2:32~ | %015 + 2:32 r4 | %016 + R1*3 \clef bass | %017-19 + r2 a,,2:32~\niente\< | %020 + a2:32~ a8:32\f des8 g8 ges8 | %021 + bes,4 r4 r2 | %022 + R1 | %023 + r2 r4 e4 | %024 + r4 r8 f8 r4 fis4 | %025 + R1*2 | %026-27 + r8 bes,8 c4 r2 | %028 + R1*3 | %029-31 + r2 r4 \xNotesOn aes'8 bes | %032 + r8 c,8 des8 f8 ees8 \xNotesOff r8 r4 | %033 + r2 r8 g8~ g4 | %034 + a,1:32 | %035 + r2 r4 bes8 ees8 | %036 + r8 ges8 r8 c,8 r2 | %037 + R1 | %038 + r4 r8 a8 d4 f4 | %039 + R1 | %040 + r4 d8 e8 a8 bes8:32~ bes4:32 | %041 + r8 ees,8-+ r8 f8-+ aes8-+ r8 r4 | %042 } 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 >> #}) +#(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 index 0c3813d..f7bc5af 100644 --- a/manuscripts/pianoDown.ly +++ b/manuscripts/pianoDown.ly @@ -1,19 +1,28 @@ % root = ../tiny-cartel.ly - -pianoDownMusic = \relative { +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 - R1*9 | %005-13 - \time 6/4 R1*6/4 | %014 - R1*3 | %015-17 - r4 r8 a8~->^\mf a2~ | %018 - a1 | %019 - r4 ees'4( d4. c8~ | %020 - c8 b8~ b2.) | %021 - R1 | %022 - r2 cis8-. gis'8-. r4 | %023 - R1*3 + R1 | %001 + R1*3/4*2 | %002-3 + b8-.^\mp^\< r8 r4 r4 c,8-. r8 | %004 + r4 e8-.\f d8-. r2 | %005 + R1*9 | %006-14 + R1*3/4*2 | %015-16 + R1*3 | %017-19 + r4 r8 a8~->^\mf a2~ | %020 + a1 | %021 + r4 ees'4( d4. c8~ | %022 + c8 b8~ b2.) | %023 + R1 | %024 + r2 cis8-. gis'8-. r4 | %025 + R1*8 | %026-33 + r2 r8 g8~( g4 | %034 + a,1) | %035 + b4.( g'8~ g4) r4 | %036 + r2 r4 r8 des8-. | %037 + ees,1~ | %038 + ees2 r2 | %039 + R1 | %040 + g8-. c8-. d8-. e8-. a8-. bes8~ bes4 | %041 + R1 | %042 } diff --git a/manuscripts/pianoUp.ly b/manuscripts/pianoUp.ly index 6fc64fc..ba6cd57 100644 --- a/manuscripts/pianoUp.ly +++ b/manuscripts/pianoUp.ly @@ -1,18 +1,39 @@ % root = ../tiny-cartel.ly - -pianoUpMusic = \relative { +pianoUpMusic = +\relative { \clef bass - \time 4/4 R1 | %001 - \time 6/4 R1*6/4 | %002 - \time 4/4 \makeClusters 1^\markup { "mute strings inside piano" } | %003 - \makeClusters { 4. 8 8 } s4. | %004 - R1*9 | %005-13 - \time 6/4 R1*6/4 | %014 - \time 4/4 R1*7 \clef treble | %015-21 - r4 r8 \repeat tremolo 2 { a''32( b } \repeat tremolo 8 { a32 b } | %022 - \repeat tremolo 8 { a32 b) } r2 | %023 - R1*3 + R1 | %001 + R1*3/4*2 | %002-3 + \makeClusters 1^\markup { "mute strings inside piano" } | %004 + \makeClusters { 4. 8 8 } s4. | %005 + R1*9 | %006-14 + R1*3/4*2 | %015-16 + R1*7 \clef treble | %017-23 + r4 r8 \repeat tremolo 2 { a''32( b } \repeat tremolo 8 { a32 b } | %024 + \repeat tremolo 8 { a32 b) } r2 | %025 + R1*17 } 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 } >> #}) +#(define-music-function (up down) (ly:music? ly:music?) + #{ + \new GrandStaff = "piano" + \with { + instrumentName = \markup { "piano " } + shortInstrumentName = \markup { "pno " } + } + << + \new Staff = "u" + \with { + \consists "Merge_rests_engraver" + \override DynamicLineSpanner.staff-padding = \phds + } + { $up } + \new Staff = "d" + \with { + \consists "Merge_rests_engraver" + \override DynamicLineSpanner.staff-padding = \phds + } + { $down } + >> + #}) diff --git a/manuscripts/tempoMap.ly b/manuscripts/tempoMap.ly index b5a65ce..ce83b0b 100644 --- a/manuscripts/tempoMap.ly +++ b/manuscripts/tempoMap.ly @@ -1,9 +1,16 @@ % root = ../tiny-cartel.ly - -tempoMap = \relative { +tempoMap = +\new Voice \with { + \consists Mark_engraver +} +\relative { \tempo "Allegro energico" 4=208 \time 4/4 s1 | %001 - \time 6/4 s1*6/4 | %002 - \time 4/4 s1*11 | %003 - \time 6/4 s1*6/4 | %014 + \time 3/4 s1*3/4*2 | %002-3 + \time 4/4 s1*11 | %004-14 + \time 3/4 s1*3/4*2 | %015-16 + \mark \default + \time 4/4 s1*26 | %016-42 + \mark \default + s1 } diff --git a/manuscripts/trombone.ly b/manuscripts/trombone.ly index 1b6f558..7329226 100644 --- a/manuscripts/trombone.ly +++ b/manuscripts/trombone.ly @@ -1,26 +1,43 @@ % root = ../tiny-cartel.ly - -tromboneMusic = \relative { +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 - \time 4/4 R1 | %015 - r4 r8 b8-. e,8-. d'8-. r8 cis8-. | %016 - fis,8-. r8 r4 r8 f8-. ees8-. r8 | %017 - c8-. bes8-. r8 a8-. r2 | %018 - r2 r4 g'8-. r8 | %019 - bes,8-. r8 ees4( d4. c8~ | %020 - c8 b8~ b2.) | %021 - r4 gis8-. r8 r4 e'8-. r8 | %022 - R1*5 | + <>^"take mute" R1 | %001 + R1*3/4*2 | %002-3 + R1*2 | %004-5 + r2 r4 r8 a8-.\mf |%006 + r2 r8 e'8-. r4 | %007 + R1 | %008 + r4 f,8-.\> r8 ges8-.\mp r8 r4 | %009 + R1*5 | %010-14 + R1*3/4*2 | %015-16 + R1 | %017 + r4 r8 b8-. e,8-. d'8-. r8 cis8-. | %018 + fis,8-. r8 r4 r8 f8-. ees8-. r8 | %019 + c8-. bes8-. r8 a8-. r2 | %020 + r2 r4 g'8-. r8 | %021 + bes,8-. r8 ees4( d4. c8~ | %022 + c8 b8~ b2.) | %023 + r4 gis8-. r8 r4 e'8-. r8 | %024 + R1*5 | %025-29 + r2 r8 a8-. r4 | %030 + R1 | %031 + r8 bes8-. r4 r8 g8-. r8 bes8-. | %032 + r8 c,8-. r4 ees8-. r8 r4 | %033 + d8-. r8 e8-. r8 fis8-. r8 r4 | %034 + R1*6 | %035-40 + r8 c8-. d8-. e8-. a8-. bes8~ bes4 | %041 + r8 ees,8-. r8 f8-. aes8-. r8 r4 | %042 } tromboneStaff = -#(define-music-function (music) (ly:music?) #{ \new Staff = "trombone" \with { instrumentName = \markup { "trombone " } shortInstrumentName = \markup { "tbn " } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #}) +#(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 index ae8c91e..b52620f 100644 --- a/manuscripts/trumpet.ly +++ b/manuscripts/trumpet.ly @@ -1,17 +1,33 @@ % root = ../tiny-cartel.ly - -trumpetMusic = \relative { +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 - \time 4/4 R1*8 | %015-22 - r2 r4 r8 d''8( | %023 - a2. bes4 | %024 - c1~ | %025 - c1) | %026 + R1 | %001 + R1*3/4*2 | %003-4 + R1*11 | %005-14 + R1*3/4*2 | %015-16 + R1*8 | %017-24 + r2 r4 r8 d''8( | %025 + a2. bes4 | %026 + c1~ | %027 + c1) | %028 + r2 g'2(~^\markup { "take straight mute" } | %029 + g2 f4 e4~ | %030 + e4 fis8 dis8 b4 gis'4 | %031 + cis,1~ | %032 + cis1) | %033 + R1*9 + } trumpetStaff = -#(define-music-function (music) (ly:music?) #{ \new Staff = "trumpet" \with { instrumentName = \markup { "trumpet in C " } shortInstrumentName = \markup { "tpt " } \override DynamicLineSpanner.staff-padding = \sods } << $music >> #}) +#(define-music-function (music) (ly:music?) + #{ + \new Staff = "trumpet" + \with { + instrumentName = \markup { "trumpet in C " } + shortInstrumentName = \markup { "tpt " } + \override DynamicLineSpanner.staff-padding = \sods + } + << $music >> + #}) diff --git a/manuscripts/viola.ly b/manuscripts/viola.ly index 5f2229e..03f9ea6 100644 --- a/manuscripts/viola.ly +++ b/manuscripts/viola.ly @@ -1,19 +1,20 @@ % root = ../tiny-cartel.ly - -violaMusic = \relative { +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 4~\p\<^\markup { "arco" } \after 2 \mf 2. | %014 - \time 4/4 r2 r8 ais8-.^\markup { "pizz" } r8 gis8-. | %015 - r8 a8-. r8 b8-. r8 d8-. r4 | %016 - fis,8(^\markup { "arco" } aes8~ aes4 g8-.) r8 r4 | %017 + R1 | %001 + R1*3/4*2 | %002-3 + \time 4/4 R1*6 | %004-9 + r2 r4 e'4-.^\markup { "pizz" } | %010 + cis4-. r4 r2 | %011 + ees8-. f4-. ges8-. aes4-. r4 | %012 + b!4-. r4 r2 | %013 + R1 | %014 + r4 r4 4~\p\<^\markup { "arco" } | %015 + \after 2 \mf 2. | %016 + r2 r8 ais8-.^\markup { "pizz" } r8 gis8-. | %017 + r8 a8-. r8 b8-. r8 d8-. r4 | %018 + fis,8(^\markup { "arco" } aes8~ aes4 g8-.) r8 r4 | %019 R1*9 } diff --git a/manuscripts/violin1.ly b/manuscripts/violin1.ly index 099e8fd..d838fb7 100644 --- a/manuscripts/violin1.ly +++ b/manuscripts/violin1.ly @@ -1,18 +1,39 @@ % root = ../tiny-cartel.ly - -violinOneMusic = \relative { +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 - \time 4/4 r4 cis8-.^\markup { "pizz" } dis8-. r8 ais8-. r8 gis8-. | %015 - r2 r8 d'8-. r8 cis8-. | %016 - R1*10 + R1 | %001 + R1*3/4*2 | %002-3 + R1*8 | %004-11 + r2 r4 ais'4(^\markup { "mute" } | %012 + b4-.) c8( d8~ d8 e8 a,8 g8~ | %013 + g4.) ges8~( ges4 f4~ | %014 + f2.~ | %015 + f2) r4 | %016 + r4 cis8-.^\markup { "pizz" } dis8-. r8 ais8-. r8 gis8-. | %017 + r2 r8 d'8-. r8 cis8-. | %018 + R1*13 | %019-31 + r2 r8 g8-.^\markup { "col legno" }^\markup { "arco" } aes8-. bes8-. | %032 + R1 | %033 + r2 r4 b'4~^\markup { \italic "ord" } | %034 + b4. cis8( f4)\glissando d4~( | %035 + d4 ees2.~ | %036 + ees4) r4 a8(\glissando gis8~ gis4~ | %037 + gis2) g4--^\markup { \italic "flautando" } e4-- | %038 + c2 r8 \markSpanner "ord" "msp" bes8~\startTextSpan bes4~ | %039 + bes8 bes8-.->\stopTextSpan r4 r2 | %040 + r2 r8 fis'8~^\markup { \italic "ord" } fis4~ | %041 + fis2.~ fis8 r8 | %042 } 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 >> #}) +#(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 index 3c5371d..375e9e3 100644 --- a/manuscripts/violin2.ly +++ b/manuscripts/violin2.ly @@ -1,18 +1,39 @@ % root = ../tiny-cartel.ly - -violinTwoMusic = \relative { +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 - \time 4/4 r4 cis8-.^\markup { "pizz" } dis8-. r8 ais8-. r8 gis8-. | %015 - r8 a8-. r4 r4 r8 cis8-. | %016 - R1*10 + R1 | %001 + R1*3/4*2 | %002-3 + R1*8 | %004-11 + r2 r4 ais'4(^\markup { "mute" } | %012 + b4-.) c8( d8~ d8 e8 a,8 g8~ | %013 + g4.) ges8~( ges4 f4~ | %014 + f2.~ | %015 + f2) r4 | %016 + \time 4/4 r4 cis8-.^\markup { "pizz" } dis8-. r8 ais8-. r8 gis8-. | %017 + r8 a8-. r4 r4 r8 cis8-. | %018 + R1*13 | %019-31 + r2 r8 g8-.^\markup { "col legno" }^\markup { "arco" } aes8-. bes8-. | %032 + R1 | %033 + r2 r4 b'4~^\markup { \italic "ord" } | %034 + b4. cis8( f4)\glissando d4~( | %035 + d4 ees2.~ | %036 + ees4) r4 a8(\glissando gis8~ gis4~ | %037 + gis2) g4--^\markup { \italic "flautando" } e4-- | %038 + c2 r8 \markSpanner "ord" "msp" bes8~\startTextSpan bes4~ | %039 + bes8 bes8-.->\stopTextSpan r4 r2 | %040 + r2 r8 fis'8~^\markup { \italic "ord" } fis4~ | %041 + fis2.~ fis8 r8 | %042 } 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 >> #}) +#(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/tiny-cartel.ly b/tiny-cartel.ly index 3808eef..456f863 100644 --- a/tiny-cartel.ly +++ b/tiny-cartel.ly @@ -1,9 +1,7 @@ \version "2.24.4" \include "general/info.ly" -\include "general/aliases.ly" -\include "general/scripts.ly" -\include "general/umbel.ly" +\include "lib/load.ly" \include "general/scorePaper.ly" \include "manuscripts/tempoMap.ly" @@ -26,163 +24,35 @@ \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 } - } - } - + \markuplist #(outside-cover-markuplist 40.5) \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 } - } - } - } - + \markuplist #(inside-cover-markuplist) \pageBreak \markuplist { %Front Matter \fill-line { - \left-column { - \line { \bold \xtitle " [2026]" } - \line { \xinst " | " \sans "~10" minutes } - \line { \xcomp } - \vspace #25 - } + #(info-matter-markuplist) \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 { § \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 – 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 + #(toc-markuplist) + #(program-notes-markuplist #{ \programNotes #}) + #(performance-notes-markuplist #{ \performanceNotes #}) \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 - } + #(git-matter-markuplist) } } - \pageBreak - \bookpart { + \tocItem \markup { "IV. " \bold "Allegro energico" } \header { title = \markup { \fontsize #1 \xtitle } subtitle = \markup { \medium \italic \xsub } composer = \xcomp poet = \markup { transposed score } + piece = \markup { \large \bold IV. } + arranger = \markup { \tiny \typewriter \shortHash } } \score { << @@ -229,13 +99,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 " } - } - } - } + \markuplist #(rear-cover-markuplist 33) }