]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/engraver-init.ly
Issue 1320: preliminary work - repeat bars defined as context properties
[lilypond.git] / ly / engraver-init.ly
index 41569cd4aed702c7837e76e341b03768a8afaffb..5710d4f6b214ff67eeda820c083d603c52060ad0 100644 (file)
@@ -1,6 +1,6 @@
 %%%% This file is part of LilyPond, the GNU music typesetter.
 %%%%
-%%%% Copyright (C) 1996--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+%%%% Copyright (C) 1996--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %%%%                          Jan Nieuwenhuizen <janneke@gnu.org>
 %%%%
 %%%% LilyPond is free software: you can redistribute it and/or modify
@@ -16,7 +16,7 @@
 %%%% You should have received a copy of the GNU General Public License
 %%%% along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 
-\version "2.14.0"
+\version "2.15.39"
 
 \context {
   \name "Global"
@@ -26,6 +26,7 @@
   \defaultchild "Score"
   \description "Hard coded entry point for LilyPond.  Cannot be tuned."
   \grobdescriptions #all-grob-descriptions
+  EventClasses = #all-event-classes
 }
 
 \context {
@@ -46,6 +47,7 @@
 
   predefinedDiagramTable = #default-fret-table
   handleNegativeFrets = #'recalculate
+  restrainOpenStrings = ##f
 }
 
 \context {
@@ -54,6 +56,7 @@
 
   \consists "Output_property_engraver"
   \consists "Bar_engraver"
+  \consists "Pure_from_neighbor_engraver"
   %% Bar_engraver must be first so default bars aren't overwritten
   %% with empty ones.
 
@@ -70,7 +73,6 @@
   \consists "Ledger_line_engraver"
   \consists "Staff_symbol_engraver"
   \consists "Collision_engraver"
-  \consists "Beam_collision_engraver"
   \consists "Grob_pq_engraver"
   \consists "Rest_collision_engraver"
   \consists "Accidental_engraver"
@@ -358,6 +360,7 @@ together, never separately."
 
   \consists "Instrument_name_engraver"
   \consists "Span_bar_engraver"
+  \consists "Span_bar_stub_engraver"
   \consists "Span_arpeggio_engraver"
   \consists "Output_property_engraver"
   systemStartDelimiter = #'SystemStartBracket
@@ -409,6 +412,13 @@ a collection of staves, with a bracket in front and spanning bar lines."
        (padding . 0.5))
   \override TextScript #'font-shape = #'italic
   \override DynamicLineSpanner #'Y-offset = #0
+  \override DynamicText #'X-offset =
+  #(ly:make-simple-closure
+    `(,+
+      ,(ly:make-simple-closure
+         (list ly:self-alignment-interface::centered-on-note-columns))
+      ,(ly:make-simple-closure
+        (list ly:self-alignment-interface::x-aligned-on-self))))
 
   \description "Holds a single line of dynamics, which will be
 centered between the staves surrounding this context."
@@ -519,8 +529,16 @@ automatically when an output definition (a @code{\score} or
   \consists "Repeat_acknowledge_engraver"
   \consists "Staff_collecting_engraver"
 
-  %% move the alias along with the engraver.
+  \alias "Timing"
+
+  %% An alias for Timing is established by the Timing_translator in
+  %% whatever context it is initialized, and the timing variables are
+  %% then copied from wherever Timing had been previously established.
+  %% The alias at Score level provides a target for initializing
+  %% Timing variables in layout definitions before any
+  %% Timing_translator has been run.
 
+  % timing translator must come BEFORE bar number engraver
   \consists "Timing_translator"
   \consists "Default_bar_line_engraver"
   \consists "Output_property_engraver"
@@ -535,6 +553,8 @@ automatically when an output definition (a @code{\score} or
   \consists "Stanza_number_align_engraver"
   \consists "Bar_number_engraver"
   \consists "Parenthesis_engraver"
+  \consists "Concurrent_hairpin_engraver"
+  \consists "Beam_collision_engraver"
 
   \defaultchild "Staff"
 
@@ -548,6 +568,7 @@ automatically when an output definition (a @code{\score} or
   \accepts "PetrucciStaff"
   \accepts "StaffGroup"
   \accepts "DrumStaff"
+  \accepts "KievanStaff"
   \accepts "Lyrics"
   \accepts "ChordNames"
   \accepts "GrandStaff"
@@ -557,7 +578,6 @@ automatically when an output definition (a @code{\score} or
   \accepts "NoteNames"
   \accepts "FiguredBass"
 
-
   noteToFretFunction = #determine-frets
   predefinedDiagramTable = ##f
   soloText = #"Solo"
@@ -582,7 +602,10 @@ automatically when an output definition (a @code{\score} or
 
   defaultBarType = #"|"
   doubleRepeatType = #":|:"
-  barNumberVisibility = #first-bar-number-invisible
+  startRepeatType = #"|:"
+  endRepeatType = #":|"
+  barNumberVisibility = #first-bar-number-invisible-and-no-parenthesized-bar-numbers
+  barNumberFormatter = #robust-bar-number-function
   automaticBars = ##t
 
   explicitClefVisibility = #all-visible
@@ -593,7 +616,7 @@ automatically when an output definition (a @code{\score} or
   repeatCountVisibility = #all-repeat-counts-visible
 
   timeSignatureSettings = #default-time-signature-settings
-  timeSignatureFraction = #'(4 . 4)
+  timeSignatureFraction = 4/4
 
 %% These defaults should be the same as the rules established in
 %%   scm/time-signature-settings.scm for 4/4 time
@@ -602,6 +625,9 @@ automatically when an output definition (a @code{\score} or
   beatStructure = #'(1 1 1 1)
   beamExceptions = #'((end . (((1 . 8) . (4 4))
                               ((1 . 12) . (3 3 3 3)))))
+  beamWholeMeasure = ##t
+  beamHalfMeasure = ##f
+
   autoBeaming = ##t
   autoBeamCheck = #default-auto-beam-check
 
@@ -644,9 +670,12 @@ automatically when an output definition (a @code{\score} or
 
 %% chord names:
   chordNameFunction = #ignatzek-chord-names
+  minorChordModifier = #(make-simple-markup "m")
+  additionalPitchPrefix = #"" % was "add"
   majorSevenSymbol = #whiteTriangleMarkup
   chordNameLowercaseMinor = ##f
-  chordNameSeparator = #(make-simple-markup  "/")
+  chordNameSeparator = #(make-hspace-markup 0.5)
+  slashChordSeparator = #(make-simple-markup "/")
   chordNameExceptions = #ignatzekExceptions
   chordNoteNamer = #'()
   chordRootNamer = #note-name->markup
@@ -764,6 +793,7 @@ context."
   \remove "Note_heads_engraver"
   \remove "Fingering_engraver"
   \remove "New_fingering_engraver"
+  \remove "Pitched_trill_engraver"
 
   \description "Context for drawing notes in a Tab staff."
 
@@ -793,7 +823,8 @@ context."
                                 (beamed-extreme-minimum-free-lengths 0 0)
                                 (stem-shorten 0 0))
   %% after all, the stubs of the stems may still be visible, so ...
-  \override Stem #'transparent = ##t
+  \override Stem #'stencil = ##f
+  \override Flag #'stencil = ##f
   %% automatic beams should be suppressed for similar reasons ...
   autoBeaming = ##f
   %% remove beams, dots and rests ...
@@ -802,8 +833,8 @@ context."
   \override Dots #'stencil = ##f
   \override Rest #'stencil = ##f
   \override MultiMeasureRest #'stencil = ##f
-  \override MultiMeasureRestNumber #'transparent = ##t
-  \override MultiMeasureRestText #'transparent = ##t
+  \override MultiMeasureRestNumber #'stencil = ##f
+  \override MultiMeasureRestText #'stencil = ##f
   %% ... all kinds of ties/slurs
   \override Tie  #'stencil = ##f
   \override RepeatTie #'stencil = ##f
@@ -816,10 +847,10 @@ context."
   %% ... and all kinds of markups, spanners etc.
   \override TupletBracket #'stencil = ##f
   \override TupletNumber #'stencil = ##f
-  \override DynamicText #'transparent = ##t
+  \override DynamicText #'stencil = ##f
   \override DynamicTextSpanner #'stencil = ##f
   \override TextSpanner #'stencil = ##f
-  \override Hairpin #'transparent = ##t
+  \override Hairpin #'stencil = ##f
   \override Script #'stencil = ##f
   \override TextScript #'stencil = ##f
   \override Glissando #'stencil = #glissando::draw-tab-glissando
@@ -872,6 +903,8 @@ contexts and handles the line spacing, the tablature clef etc. properly."
   clefPosition = #0
   %% Change string if note results in negative fret number
   handleNegativeFrets = #'recalculate
+  %% Allow open strings even if minimumFret is set
+  restrainOpenStrings = ##f
 }
 
 \context {
@@ -1035,7 +1068,7 @@ accommodated for typesetting a piece in mensural style."
   \override Custos #'neutral-direction = #DOWN
 
   %% Accidentals are valid only once (same as
-  %% #(set-accidental-style 'forget))
+  %% \accidentalStyle "forget")
   extraNatural = ##f
   autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave -1))
   autoCautionaries = #'()
@@ -1097,6 +1130,54 @@ accommodated for typesetting a piece in Petrucci style."
   printKeyCancellation = ##f
 }
 
+\context {
+ \Voice
+ \name "KievanVoice"
+ \alias "Voice"
+ \description "Same as @code{Voice} context, except that it is
+accommodated for typesetting a piece in Kievan style."
+
+ %% Set glyph styles.
+ \override NoteHead #'style = #'kievan
+ \override Rest #'style = #'mensural
+ \override Accidental #'glyph-name-alist = #alteration-kievan-glyph-name-alist
+ \override Dots #'style = #'kievan
+ \override Slur #'stencil = ##f
+
+ %% There are beams in Kievan notation, but they are invoked manually
+ autoBeaming = ##f
+ \override Beam #'beam-thickness = #0.32
+ \override Beam #'length-fraction = #0.62
+}
+
+\context {
+ \Staff
+ \name "KievanStaff"
+ \alias "Staff"
+ \denies "Voice"
+ \defaultchild "KievanVoice"
+ \accepts "KievanVoice"
+ \description "Same as @code{Staff} context, except that it is
+accommodated for typesetting a piece in Kievan style."
+
+ \remove "Time_signature_engraver"
+
+ %% Choose Kievan tsefaut clef
+ clefGlyph = #"clefs.kievan.do"
+ middleCClefPosition = #0
+ middleCPosition = #0
+ clefPosition = #0
+ clefOctavation = #0
+
+ %% Accidentals are valid only once (if the following note is different)
+ extraNatural = ##f
+ autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0)
+                            ,neo-modern-accidental-rule)
+ autoCautionaries = #'()
+ printKeyCancellation = ##f
+
+}
+
 %% Keep the old definitions in here for compatibility (they erase previous
 %% settings to the corresponding context!).
 %% For new scores, one should simply insert the \RemoveEmptyStaves settings