A bunch of improvements
[opera_libre.git] / definitions / layout.ly
blob8d55157c71c47039d1765238590d1d2ccfaf8dd2
1 %------------------------------------------------------------------%
2 % Opéra Libre -- layout.ly %
3 % %
4 % (c) Valentin Villenave, 2008 %
5 % %
6 %------------------------------------------------------------------%
8 %%%%%%%%%%%%%%%%%%%%%%%%%%% Score Layout %%%%%%%%%%%%%%%%%%%%%%%%%%%
10 includeLayout = \layout {
11 %% Spacing Variables ----------------------------------------------%
12 indent = 2.0\cm
13 \context {
14 \Staff
15 \remove "Axis_group_engraver"
16 \consists "Hara_kiri_engraver"
17 \remove "Time_signature_engraver"
18 \accepts "Lyrics"
19 \override Beam #'auto-knee-gap = #'()
20 \override VerticalAxisGroup #'remove-empty = ##t
22 \context { \RhythmicStaff
23 \remove "Time_signature_engraver"
24 \remove "Axis_group_engraver"
25 \override VerticalAxisGroup #'remove-empty = ##t
26 \consists "Hara_kiri_engraver"
28 \context { \DrumStaff
29 \remove "Time_signature_engraver"
30 \remove "Axis_group_engraver"
31 \override VerticalAxisGroup #'remove-empty = ##t
32 \consists "Hara_kiri_engraver"
33 \override StaffSymbol #'line-count = #1
35 \context {
36 \Score
37 \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 5)
40 %% Notation Rules -------------------------------------------------%
41 \context {
42 \Score
43 \override TimeSignature #'style = #'()
44 \override SystemStartBracket #'collapse-height = #1
45 %\override SystemStartBrace #'collapse-height = #1
46 \override PaperColumn #'keep-inside-line = ##t
47 \override NonMusicalPaperColumn #'keep-inside-line = ##t
48 autoBeamSettings = #modern-auto-beam-settings
49 autoAccidentals = #modern-accidentals-style
50 autoCautionaries = #modern-cautionaries-style
51 extraNatural = ##f
52 ignoreMelismata = ##t
53 tieWaitForNote = ##f %% uglier, but safer
56 %% Text inclusion -------------------------------------------------%
57 \context {
58 \type "Engraver_group"
59 \name "TopLine"
60 \consists "Output_property_engraver"
61 \consists "Axis_group_engraver"
62 \consists "Script_engraver"
63 \consists "New_dynamic_engraver"
64 \consists "Dynamic_engraver"
65 \consists "Text_engraver"
66 \consists "Text_spanner_engraver"
67 \consists "Metronome_mark_engraver"
68 \consists "Time_signature_engraver"
69 \override VerticalAxisGroup #'minimum-Y-extent = #'(-0 . 0 )
71 \context {
72 \Score
73 \remove "Metronome_mark_engraver"
74 \accepts "TopLine"
75 \override RehearsalMark #'side-axis = #Y
76 \override RehearsalMark #'direction = #UP
77 \override RehearsalMark #'outside-staff-priority = #900
78 \override RehearsalMark #'self-alignment-X = #left
79 \override MetronomeMark #'side-axis = #Y
80 \override MetronomeMark #'direction = #DOWN
81 \override TextScript #'outside-staff-priority = #900
82 \override TextSpanner #'outside-staff-priority = #1000
84 \context {
85 \Lyrics
86 \remove "Instrument_name_engraver"
87 \override LyricSpace #'minimum-distance = #0.9
90 %% Look and feel --------------------------------------------------%
91 \context {
92 \Score
93 \override Accidental #'minimum-X-extent = #'(-0.2 . 0 )
94 \override BarLine #'hair-thickness = #1.2
95 \override OttavaBracket #'dash-fraction = #0.3
96 \override OttavaBracket #'dash-period = #0.9
97 \override TextSpanner #'dash-fraction = #0.3
98 \override TextSpanner #'dash-period = #0.9
99 \override LyricText #'self-alignment-X = #-0.5
100 markFormatter = #format-mark-box-letters
101 subdivideBeams = ##t
102 beatLength = #(ly:make-moment 1 8)
105 %% Vocal score layout --------------------------------------------%
106 \context {
107 \Staff
108 \type "Engraver_group"
109 \name "StaffUp"
110 \alias Staff
111 \override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 5)
112 \override StaffSymbol #'staff-space = #(magstep -1)
113 fontSize = #-1
115 \context {
116 \StaffUp
117 \type "Engraver_group"
118 \name "StaffDown"
119 \alias Staff
120 \override VerticalAxisGroup #'minimum-Y-extent = #'(-5 . 3)
122 \context {
123 \type "Engraver_group"
124 \name "Dynamics"
125 \alias Voice
126 \consists "Output_property_engraver"
127 \consists "Axis_group_engraver"
128 \consists "New_dynamic_engraver"
129 \consists "Skip_event_swallow_translator"
130 \consists "Piano_pedal_engraver"
131 \consists "Bar_engraver"
132 \override BarLine #'transparent = ##t
133 \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1)
134 \override TextScript #'font-size = #2
135 \override TextScript #'font-shape = #'italic
136 \override DynamicText #'extra-offset = #'(0 . 2.5)
137 \override Hairpin #'extra-offset = #'(0 . 2.5)
138 pedalSustainStrings = #'("Ped." "*Ped." "*")
139 pedalUnaCordaStrings = #'("una corda" "" "tre corde")
141 \context {
142 \Staff
143 \type "Engraver_group"
144 \name "StaffPiano"
145 \alias Staff
146 \override VerticalAxisGroup #'minimum-Y-extent = #'(-4 . 4)
147 \override StaffSymbol #'staff-space = #(magstep -1)
148 fontSize = #-1
150 \context { \PianoStaff
151 \accepts "StaffUp"
152 \accepts "Dynamics"
153 \accepts "StaffDown"
154 \accepts "StaffPiano"
155 connectArpeggios = ##t % to avoid collisions with pianoDynamics
157 \context {
158 \Score
159 \override RehearsalMark #'font-size = #4
160 %\override TimeSignature #'X-extent = #'(0 . 2)
162 %%-----------------------------------------------------------------%
166 %%%%%%%%%%%%%%%%%%%%%%%%% Libretto Layout %%%%%%%%%%%%%%%%%%%%%%%%%%
168 includeLivretLayout = \layout {
169 indent = 2.0\cm
171 %% Special contexts ----------------------------------------------%
172 \context {
173 \ChoirStaff
174 \remove "System_start_delimiter_engraver"
175 \override SystemStartBar #'stencil = ##f
177 \context {
178 \Staff
179 \remove "Accidental_engraver"
180 \remove "Rest_collision_engraver"
181 \remove "Ledger_line_engraver"
182 \remove "Time_signature_engraver"
183 \remove "Key_engraver"
184 \remove "Clef_engraver"
185 \remove "Ottava_spanner_engraver"
186 \remove "Bar_engraver"
187 \remove "Instrument_name_engraver"
188 \override StaffSymbol #'line-count = #1
189 \override StaffSymbol #'color = #(rgb-color 0.9 0.9 0.9)
190 \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1 )
191 %\consists "Hara_kiri_engraver"
192 %\override VerticalAxisGroup #'remove-empty = ##t
194 \context {
195 \Voice
196 \remove "Grace_engraver"
197 \remove "Tuplet_engraver"
198 \remove "Tie_engraver"
199 \remove "Slur_engraver"
200 \remove "Phrasing_slur_engraver"
201 \remove "Script_engraver"
202 \remove "Dynamic_engraver"
203 \remove "New_dynamic_engraver"
204 \remove "Grace_beam_engraver"
205 \remove "Beam_engraver"
206 \remove "Stem_engraver"
207 \remove "Rest_engraver"
208 \remove "Dots_engraver"
209 \remove "Note_heads_engraver"
210 \remove "Breathing_sign_engraver"
211 \remove "Glissando_engraver"
212 \remove "Trill_spanner_engraver"
213 \remove "Text_engraver"
214 \remove "Text_spanner_engraver"
215 \remove "Multi_measure_rest_engraver"
216 \remove "Arpeggio_engraver"
217 \remove "Pitched_trill_engraver"
219 \context {
220 \Score
221 \override SystemStartBar #'stencil = ##f
224 %% Text inclusion -------------------------------------------------%
225 \context {
226 \type "Engraver_group"
227 \name "TopLine"
228 \consists "Output_property_engraver"
229 \consists "Axis_group_engraver"
231 \context {
232 \Score
233 \remove "Metronome_mark_engraver"
234 \accepts "TopLine"
235 \override PaperColumn #'keep-inside-line = ##t
236 \override NonMusicalPaperColumn #'keep-inside-line = ##t
237 \override RehearsalMark #'side-axis = #Y
238 \override RehearsalMark #'direction = #DOWN
239 \override RehearsalMark #'outside-staff-priority = #900
240 \override RehearsalMark #'self-alignment-X = #left
241 \override MetronomeMark #'side-axis = #Y
242 \override MetronomeMark #'direction = #DOWN
243 \override TextScript #'outside-staff-priority = #900
244 \override TextSpanner #'outside-staff-priority = #1000
245 \override TextSpanner #'direction = #DOWN
248 \context {
249 \Lyrics
250 \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1 )
251 \override InstrumentName #'font-family = #'sans
252 \override InstrumentName #'font-series = #'bold
253 \override InstrumentName #'extra-X-extent = #'(0 . 2 )
254 \override InstrumentName #'extra-X-extent = #'(-1 . 1 )
257 %% Additional tweaks ---------------------------------------------%
258 \context {
259 \Score
260 \override BarNumber #'transparent = ##t
262 %%-----------------------------------------------------------------%