4 %%%%%%%% shortcuts common for all styles of gregorian chant notation
8 % declare head prefix shortcuts
11 \once \override NoteHead #'virga = ##t
13 \once \override NoteHead #'stropha = ##t
15 \once \override NoteHead #'inclinatum = ##t
17 \once \override NoteHead #'auctum = ##t
19 \once \override NoteHead #'descendens = ##t
21 \once \override NoteHead #'ascendens = ##t
23 \once \override NoteHead #'pes-or-flexa = ##t
25 \once \override NoteHead #'pes-or-flexa = ##t
27 \once \override NoteHead #'oriscus = ##t
29 \once \override NoteHead #'quilisma = ##t
31 \once \override NoteHead #'deminutum = ##t
33 \once \override NoteHead #'linea = ##t
35 \once \override NoteHead #'cavum = ##t
38 % declare divisiones shortcuts
41 \once \override BreathingSign #'text = #(make-musicglyph-markup "scripts-rcomma")
42 \once \override BreathingSign #'font-size = #-2
44 % Workaround: add padding. Correct fix would be spacing engine handle this.
45 \once \override BreathingSign #'extra-X-extent = #'(-1.0 . 0)
50 \once \override BreathingSign #'text = #(make-musicglyph-markup "scripts-rvarcomma")
51 \once \override BreathingSign #'font-size = #-2
53 % Workaround: add padding. Correct fix would be spacing engine handle this.
54 \once \override BreathingSign #'extra-X-extent = #'(-1.0 . 0)
59 \once \override BreathingSign #'print-function = #Breathing_sign::divisio_minima
61 % Workaround: add padding. Correct fix would be spacing engine handle this.
62 \once \override BreathingSign #'extra-X-extent = #'(-1.0 . 0)
67 \once \override BreathingSign #'print-function = #Breathing_sign::divisio_maior
68 \once \override BreathingSign #'Y-offset-callbacks = #'()
70 % Workaround: add padding. Correct fix would be spacing engine handle this.
71 \once \override BreathingSign #'extra-X-extent = #'(-1.0 . 0)
76 \once \override BreathingSign #'print-function = #Breathing_sign::divisio_maxima
77 \once \override BreathingSign #'Y-offset-callbacks = #'()
79 % Workaround: add padding. Correct fix would be spacing engine handle this.
80 \once \override BreathingSign #'extra-X-extent = #'(-1.0 . 0)
85 \once \override BreathingSign #'print-function = #Breathing_sign::finalis
86 \once \override BreathingSign #'Y-offset-callbacks = #'()
88 % Workaround: add padding. Correct fix would be spacing engine handle this.
89 \once \override BreathingSign #'extra-X-extent = #'(-1.0 . 0)
95 % declare articulation shortcuts
97 accentus = #(make-articulation "accentus")
98 ictus = #(make-articulation "ictus")
99 semicirculus = #(make-articulation "semicirculus")
100 circulus = #(make-articulation "circulus")
101 episemInitium = #(make-span-event 'TextSpanEvent START)
102 episemFinis = #(make-span-event 'TextSpanEvent STOP)
105 % shortcut music functions for Liber Hymnarius neumes table
108 %#(define (make-script x)
109 % (make-music 'ArticulationEvent
110 % 'articulation-type x))
112 %#(define (add-script m x)
114 % (equal? (ly:music-property m 'name) 'EventChord)
115 % (set! (ly:music-property m 'elements)
116 % (cons (make-script x)
117 % (ly:music-property m 'elements))))
120 %#(define (add-staccato m)
121 % (add-script m "staccato"))
123 % % \applymusic #(lambda (x) (music-map add-staccato x)) { c c }
125 % % \climacus { x y z ... }:
126 % % \[ \virga x \inclinatum y \inclinatum z ... \]
128 %#(defmacro def-climacus-function (start stop)
129 % `(def-music-function (location music) (ly:music?)
130 % (make-music 'SequentialMusic
131 % 'elements (list 'LigatureStartEvent
132 % (ly:music-deep-copy ,start)
134 % (ly:music-deep-copy ,stop)
135 % 'LigatureStopEvent))))
136 %climacus = #(def-climacus-function startSequentialMusic stopSequentialMusic)
139 % example layout block for gregorian chant notation
142 neumeDemoLayout = \layout {
146 \remove "Bar_number_engraver"
150 \remove "Clef_engraver"
151 \remove "Key_engraver"
152 \override StaffSymbol #'transparent = ##t
153 \remove "Time_signature_engraver"
154 \remove "Bar_engraver"
155 minimumVerticalExtent = ##f
159 \remove Ligature_bracket_engraver
160 \consists Vaticana_ligature_engraver
161 \override NoteHead #'style = #'vaticana_punctum
162 \override Stem #'transparent = ##t