X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fgregorian-init.ly;h=be626b2999b3950088c4999848bbab45c733d98a;hb=34881554afeaf03a55a3a983caf9cfeaaf3ea060;hp=98348df6e46675e2ba0f8715cd415b7d2c924ede;hpb=ea8506894a420e3393858a3ee284ab6b2f12c6d6;p=lilypond.git diff --git a/ly/gregorian-init.ly b/ly/gregorian-init.ly index 98348df6e4..be626b2999 100644 --- a/ly/gregorian-init.ly +++ b/ly/gregorian-init.ly @@ -1,4 +1,4 @@ -\version "1.7.18" +\version "2.3.16" %%%%%%%% %%%%%%%% shortcuts common for all styles of gregorian chant notation @@ -8,65 +8,157 @@ % declare head prefix shortcuts % virga = - \once \property Voice.NoteHead \override #'virga = ##t + \once \override NoteHead #'virga = ##t stropha = - \once \property Voice.NoteHead \override #'stropha = ##t + \once \override NoteHead #'stropha = ##t inclinatum = - \once \property Voice.NoteHead \override #'inclinatum = ##t + \once \override NoteHead #'inclinatum = ##t auctum = - \once \property Voice.NoteHead \override #'auctum = ##t -aucta = - \once \property Voice.NoteHead \override #'auctum = ##t + \once \override NoteHead #'auctum = ##t descendens = - \once \property Voice.NoteHead \override #'descendens = ##t + \once \override NoteHead #'descendens = ##t ascendens = - \once \property Voice.NoteHead \override #'ascendens = ##t + \once \override NoteHead #'ascendens = ##t pes = - \once \property Voice.NoteHead \override #'pes-or-flexa = ##t + \once \override NoteHead #'pes-or-flexa = ##t flexa = - \once \property Voice.NoteHead \override #'pes-or-flexa = ##t -semivocalis = - \once \property Voice.NoteHead \override #'semivocalis = ##t + \once \override NoteHead #'pes-or-flexa = ##t oriscus = - \once \property Voice.NoteHead \override #'oriscus = ##t + \once \override NoteHead #'oriscus = ##t quilisma = - \once \property Voice.NoteHead \override #'quilisma = ##t + \once \override NoteHead #'quilisma = ##t deminutum = - \once \property Voice.NoteHead \override #'deminutum = ##t + \once \override NoteHead #'deminutum = ##t +linea = + \once \override NoteHead #'linea = ##t +cavum = + \once \override NoteHead #'cavum = ##t % % declare divisiones shortcuts % virgula = { - \once \property Voice.BreathingSign \override #'text = #"scripts-rcomma" - \once \property Voice.BreathingSign \override #'font-relative-size = #-1 + \once \override BreathingSign #'text = #(make-musicglyph-markup "scripts-rcomma") + \once \override BreathingSign #'font-size = #-2 + + % Workaround: add padding. Correct fix would be spacing engine handle this. + \once \override BreathingSign #'extra-X-extent = #'(-1.0 . 0) + \breathe } caesura = { - \once \property Voice.BreathingSign \override #'text = #"scripts-rvarcomma" - \once \property Voice.BreathingSign \override #'font-relative-size = #-1 + \once \override BreathingSign #'text = #(make-musicglyph-markup "scripts-rvarcomma") + \once \override BreathingSign #'font-size = #-2 + + % Workaround: add padding. Correct fix would be spacing engine handle this. + \once \override BreathingSign #'extra-X-extent = #'(-1.0 . 0) + \breathe } divisioMinima = { - \once \property Voice.BreathingSign \override #'molecule-callback = #Breathing_sign::divisio_minima + \once \override BreathingSign #'print-function = #Breathing_sign::divisio_minima + + % Workaround: add padding. Correct fix would be spacing engine handle this. + \once \override BreathingSign #'extra-X-extent = #'(-1.0 . 0) + \breathe } divisioMaior = { - \once \property Voice.BreathingSign \override #'molecule-callback = #Breathing_sign::divisio_maior - \once \property Voice.BreathingSign \override #'Y-offset-callbacks = #'() + \once \override BreathingSign #'print-function = #Breathing_sign::divisio_maior + \once \override BreathingSign #'Y-offset-callbacks = #'() + + % Workaround: add padding. Correct fix would be spacing engine handle this. + \once \override BreathingSign #'extra-X-extent = #'(-1.0 . 0) + \breathe } divisioMaxima = { - \once \property Voice.BreathingSign \override #'molecule-callback = #Breathing_sign::divisio_maxima - \once \property Voice.BreathingSign \override #'Y-offset-callbacks = #'() + \once \override BreathingSign #'print-function = #Breathing_sign::divisio_maxima + \once \override BreathingSign #'Y-offset-callbacks = #'() + + % Workaround: add padding. Correct fix would be spacing engine handle this. + \once \override BreathingSign #'extra-X-extent = #'(-1.0 . 0) + \breathe } finalis = { - \once \property Voice.BreathingSign \override #'molecule-callback = #Breathing_sign::finalis - \once \property Voice.BreathingSign \override #'Y-offset-callbacks = #'() + \once \override BreathingSign #'print-function = #Breathing_sign::finalis + \once \override BreathingSign #'Y-offset-callbacks = #'() + + % Workaround: add padding. Correct fix would be spacing engine handle this. + \once \override BreathingSign #'extra-X-extent = #'(-1.0 . 0) + \breathe } +% +% declare articulation shortcuts +% +accentus = #(make-articulation "accentus") +ictus = #(make-articulation "ictus") +semicirculus = #(make-articulation "semicirculus") +circulus = #(make-articulation "circulus") episemInitium = #(make-span-event 'TextSpanEvent START) - episemFinis = #(make-span-event 'TextSpanEvent STOP) + +% +% shortcut music functions for Liber Hymnarius neumes table +% (experimental) +% +%#(define (make-script x) +% (make-music 'ArticulationEvent +% 'articulation-type x)) +% +%#(define (add-script m x) +% (if +% (equal? (ly:music-property m 'name) 'EventChord) +% (set! (ly:music-property m 'elements) +% (cons (make-script x) +% (ly:music-property m 'elements)))) +% m) +% +%#(define (add-staccato m) +% (add-script m "staccato")) +% +% % \applymusic #(lambda (x) (music-map add-staccato x)) { c c } +% +% % \climacus { x y z ... }: +% % \[ \virga x \inclinatum y \inclinatum z ... \] +% +%#(defmacro def-climacus-function (start stop) +% `(def-music-function (location music) (ly:music?) +% (make-music 'SequentialMusic +% 'elements (list 'LigatureStartEvent +% (ly:music-deep-copy ,start) +% music +% (ly:music-deep-copy ,stop) +% 'LigatureStopEvent)))) +%climacus = #(def-climacus-function startSequentialMusic stopSequentialMusic) + +% +% example layout block for gregorian chant notation +% + +neumeDemoLayout = \layout { + interscoreline = 1 + \context { + \Score + \remove "Bar_number_engraver" + } + \context { + \Staff + \remove "Clef_engraver" + \remove "Key_engraver" + \override StaffSymbol #'transparent = ##t + \remove "Time_signature_engraver" + \remove "Bar_engraver" + minimumVerticalExtent = ##f + } + \context { + \Voice + \remove Ligature_bracket_engraver + \consists Vaticana_ligature_engraver + \override NoteHead #'style = #'vaticana_punctum + \override Stem #'transparent = ##t + } +}