%% To avoid typing rightHandFinger... everytime Just type -\RH #"finger" #(define RH rightHandFinger ) %% Extra padding for right hand finger placed right padrh = { \once \override StrokeFinger #'padding = #1.5 } %% Extra padding for right hand finger placed left padlh = { \once \override Fingering #'padding = #1.8 } %% Place stroke finger above the note rhu = { \set strokeFingerOrientations = #'(up) } %% Place stroke finger right from the note rhr = { \set strokeFingerOrientations = #'(right) } %% Place stroke finger below the note rhd = { \set strokeFingerOrientations = #'(down) } %% Place stroke finger for the next note only below the note orhd = { \once \set strokeFingerOrientations = #'(down) } %% Make digits for fingering small lhsmall = { \override Fingering #'font-size = #-6 } %% Make letters for fingering larger rhbig = { \override StrokeFinger #'font-size = #0.6 } %% Place fingerings for the next notes left from the notes lhl = { \set fingeringOrientations = #'(left)} %% Place fingerings for the next notes right from the notes lhr = { \set fingeringOrientations = #'(right)} %% Place fingerings for the next notes above the notes lhu = { \set fingeringOrientations = #'(up)} %% Place fingerings for the next notes below the notes lhd = { \set fingeringOrientations = #'(down)} %% Make the lyrics text small lyricsmall = { \override LyricText #'font-size = #-1 } %% Put the string number indications below the notes snd = { \set stringNumberOrientations = #'(down) } %% Put the string number indications above the notes snu = { \set stringNumberOrientations = #'(up) } %% Put the string number indications below the notes snl = { \set stringNumberOrientations = #'(left) } %% Put the string number indications above the notes snr = { \set stringNumberOrientations = #'(right) } %% Put a barre at some notes in the music barre = #(define-music-function (barre location str music) (string? ly:music?) (let ((spanned-music (let ((first-element #f) (last-element #f) (first-found? #f)) (music-map (lambda (m) (if (eqv? (ly:music-property m 'name) 'EventChord) (begin (if (not first-found?) (begin (set! first-found? #t) (set! first-element m))) (set! last-element m))) m) music) (if first-found? (begin (set! (ly:music-property first-element 'elements) (cons (make-music 'TextSpanEvent 'span-direction -1) (ly:music-property first-element 'elements))) (set! (ly:music-property last-element 'elements) (cons (make-music 'TextSpanEvent 'span-direction 1) (ly:music-property last-element 'elements))))) music))) (make-music 'SequentialMusic 'origin location 'elements (list #{ \override Voice . TextSpanner #'edge-text = #(cons ( markup (#:musicglyph "timesig.C44") #:normal-text #:vcenter $str ) "" ) \once \override Voice . TextSpanner #'direction = #1 \once \override Voice . TextSpanner #'edge-height = #'(0 . 0.5) \once \override Voice . TextSpanner #'padding = #3 \once \override Voice . TextSpanner #'enclose-bounds = #1 \once \override Voice . TextSpanner #'dash-fraction = #'() #} spanned-music)))) %% Put a half-barre at some notes in the music hbarre = #(define-music-function (hbarre location str music) (string? ly:music?) (let ((spanned-music (let ((first-element #f) (last-element #f) (first-found? #f)) (music-map (lambda (m) (if (eqv? (ly:music-property m 'name) 'EventChord) (begin (if (not first-found?) (begin (set! first-found? #t) (set! first-element m))) (set! last-element m))) m) music) (if first-found? (begin (set! (ly:music-property first-element 'elements) (cons (make-music 'TextSpanEvent 'span-direction -1) (ly:music-property first-element 'elements))) (set! (ly:music-property last-element 'elements) (cons (make-music 'TextSpanEvent 'span-direction 1) (ly:music-property last-element 'elements))))) music))) (make-music 'SequentialMusic 'origin location 'elements (list #{ \override Voice . TextSpanner #'edge-text = #(cons ( markup (#:musicglyph "timesig.C22") #:normal-text #:vcenter $str ) "" ) \once \override Voice . TextSpanner #'direction = #1 \once \override Voice . TextSpanner #'edge-height = #'(0 . 0.5) \once \override Voice . TextSpanner #'padding = #3 \once \override Voice . TextSpanner #'enclose-bounds = #1 \once \override Voice . TextSpanner #'dash-fraction = #'() #} spanned-music)))) %% markup macros for barre and half barre signal in one chord #(define-markup-command (lbarre layout props str) (string?) (interpret-markup layout props (markup #:musicglyph "timesig.C44" #:vcenter str))) #(define-markup-command (lhbarre layout props str) (string?) (interpret-markup layout props (markup #:musicglyph "timesig.C22" #:vcenter str))) tempoMark = #(define-music-function (parser location padding marktext) (number? string?) #{ \once \override Score . RehearsalMark #'padding = $padding \once \override Score . RehearsalMark #'no-spacing-rods = ##t \mark \markup { \small \bold $marktext } #}) rhi = RH #"i"