Quite a bunch of improvements
[opera_libre.git] / definitions / settings.ly
blob55e77b69540ef46979bca261888d17ae05fbadbc
1 %------------------------------------------------------------------%
2 % Opéra Libre -- settings.ly %
3 % %
4 % (c) Valentin Villenave, 2008 %
5 % %
6 %------------------------------------------------------------------%
8 %% Depends on: functions.ly
10 %%%%%%%%%%%%%%%%%%%%%%%%% Output options %%%%%%%%%%%%%%%%%%%%%%%%%%%
12 #(ly:set-option 'point-and-click #f)
13 #(ly:set-option 'delete-intermediate-files #t)
15 %%%%%%%%%%%%%%%%%%%%%%%%%% Common Layout %%%%%%%%%%%%%%%%%%%%%%%%%%%
17 %% Paper size -----------------------------------------------------%
18 % #(set-default-paper-size "a4" 'landscape)
20 %% Page breaking --------------------------------------------------%
21 #(define page-breaking ly:minimal-breaking)
23 %% Staff size -----------------------------------------------------%
24 #(set-global-staff-size 14)
26 \layout {
27 %% Spacing Variables ----------------------------------------------%
28 indent = 2.0\cm
29 \context {
30 \Staff
31 \remove Axis_group_engraver
32 \consists Hara_kiri_engraver
33 %\override Beam #'auto-knee-gap = #'()
34 \override VerticalAxisGroup #'remove-empty = ##t
37 %% Notation Rules -------------------------------------------------%
38 \context {
39 \Score
40 \override TrillPitchAccidental #'avoid-slur = #'inside
41 \override TimeSignature #'style = #'()
42 \override SystemStartBracket #'collapse-height = #1
43 %\override SystemStartBrace #'collapse-height = #1
44 \override PaperColumn #'keep-inside-line = ##t
45 \override NonMusicalPaperColumn #'keep-inside-line = ##t
46 scriptDefinitions = #modern-scripts
47 autoBeamSettings = #modern-auto-beam-settings
48 autoAccidentals = #modern-accidentals-style
49 autoCautionaries = #modern-cautionaries-style
50 extraNatural = ##f
51 ignoreMelismata = ##t
52 tieWaitForNote = ##f %% uglier, but safer
55 %% Text inclusion -------------------------------------------------%
56 \context {
57 \type Engraver_group
58 \name TextLine
59 \consists Output_property_engraver
60 \consists Axis_group_engraver
61 \consists Mark_engraver
62 \override RehearsalMark #'side-axis = #Y
63 \override RehearsalMark #'direction = #DOWN
64 \override RehearsalMark #'outside-staff-priority = #1100
66 \context {
67 \Lyrics
68 \remove Instrument_name_engraver
69 \override LyricSpace #'minimum-distance = #0.9
71 \context {
72 \Score
73 \remove Mark_engraver
74 \remove Metronome_mark_engraver
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 TextScript #'outside-staff-priority = #900
80 \override TextSpanner #'outside-staff-priority = #1000
81 \override RehearsalMark #'font-size = #4
82 %\override TimeSignature #'X-extent = #'(0 . 2)
85 %% Look and feel --------------------------------------------------%
86 \context {
87 \Score
88 \override Accidental #'minimum-X-extent = #'(-0.2 . 0 )
89 \override BarLine #'hair-thickness = #1.2
90 \override OttavaBracket #'dash-fraction = #0.3
91 \override OttavaBracket #'dash-period = #0.9
92 \override TextSpanner #'dash-fraction = #0.3
93 \override TextSpanner #'dash-period = #0.9
94 \override LyricText #'self-alignment-X = #-0.5
95 \override DynamicText #'self-alignment-X = #-.4
96 markFormatter = #format-mark-box-letters
97 subdivideBeams = ##t
98 beatLength = #(ly:make-moment 1 8)
100 \context {
101 \DrumStaff
102 \override StaffSymbol #'line-count = #1
103 \override BarLine #'bar-size = #3
108 %%%%%%%%%%%%%%%%%%%%%%%% Vocal Score Layout %%%%%%%%%%%%%%%%%%%%%%%%
110 includeVocalLayout = \layout {
111 %% Vocal score layout --------------------------------------------%
112 \context {
113 \TextLine
114 \name TopLine
115 \consists Metronome_mark_engraver
116 \override MetronomeMark #'side-axis = #Y
117 \override MetronomeMark #'direction = #DOWN
118 \override MetronomeMark #'outside-staff-priority = #1900
120 \context {
121 \Staff
122 \consists Staff_collecting_engraver
124 \context {
125 \Staff
126 \type Engraver_group
127 \name StaffPiano
128 \alias Staff
129 \override VerticalAxisGroup #'remove-empty = ##f
130 \override VerticalAxisGroup #'minimum-Y-extent = #'(-4 . 4)
131 \override StaffSymbol #'staff-space = #(magstep -1)
132 fontSize = #-1
134 \context {
135 \PianoStaff
136 \accepts StaffPiano
137 connectArpeggios = ##t
139 \context {
140 \Score
141 \accepts TopLine
142 \remove Staff_collecting_engraver
146 %%%%%%%%%%%%%%%%%%%%%%%%%%% Parts Layout %%%%%%%%%%%%%%%%%%%%%%%%%%%
148 includePartsLayout = \layout {
149 %% Individual parts layout ----------------------------------------%
150 \context {
151 \Voice
152 \type Engraver_group
153 \name GhostVoice
154 \remove Multi_measure_rest_engraver
155 \remove Rest_engraver
156 \consists Metronome_mark_engraver
158 \context {
159 \Staff
160 \consists Page_turn_engraver
161 minimumPageTurnLength = #(ly:make-moment 3 2)
162 \override VerticalAxisGroup #'remove-empty = ##f
164 %%% It's silly to keep printing the instrument name in
165 %%% separate parts; however some instruments (clarinets, etc)
166 %%% may need it (therefore we don't remove the engraver).
167 %\override InstrumentName #'stencil = #f
169 \context {
170 \DrumStaff
171 % Perhaps it's better? Not sure.
172 \override VerticalAxisGroup #'remove-empty = ##f
174 \context {
175 \Devnull
176 \name PseudoVoice
178 \context {
179 \Score
180 %\consists Mark_engraver
181 \accepts GhostVoice
182 % not mandatory
183 \accepts PseudoVoice
184 skipBars = ##t
186 %%-----------------------------------------------------------------%
190 %%%%%%%%%%%%%%%%%%%%%%%% Full Score Layout %%%%%%%%%%%%%%%%%%%%%%%%%
192 includeScoreLayout = \layout {
193 \context {
194 \name PseudoVoice
195 \alias Voice
196 \type Engraver_group
197 \consists Note_heads_engraver
198 \consists Pitch_squash_engraver
199 squashedPosition = #0
200 \override NoteHead #'stencil = #empty-stencil
202 \context {
203 \Staff
204 \accepts PseudoVoice
205 \remove Time_signature_engraver
207 \context {
208 \RhythmicStaff
209 \remove Time_signature_engraver
210 \remove Axis_group_engraver
211 \override VerticalAxisGroup #'remove-empty = ##t
212 \consists Hara_kiri_engraver
214 \context {
215 \DrumStaff
216 \remove Time_signature_engraver
217 \remove Axis_group_engraver
218 \override VerticalAxisGroup #'remove-empty = ##t
219 \consists Hara_kiri_engraver
221 \context {
222 \type Engraver_group
223 \name TopLine
224 \consists Output_property_engraver
225 \consists Axis_group_engraver
226 \consists Text_engraver
227 \consists Text_spanner_engraver
228 \consists Metronome_mark_engraver
229 \consists Time_signature_engraver
230 \override VerticalAxisGroup #'minimum-Y-extent = #'(-0.4 . 1.2 )
231 \override MetronomeMark #'side-axis = #Y
232 \override MetronomeMark #'direction = #UP
234 \context {
235 \Score
236 \accepts TopLine
237 %\accepts TextLine
238 \remove Metronome_mark_engraver
243 %%%%%%%%%%%%%%%%%%%%%%%%% Libretto Layout %%%%%%%%%%%%%%%%%%%%%%%%%%
245 includeLivretLayout = \layout {
246 %% Special contexts ----------------------------------------------%
247 \context {
248 \ChoirStaff
249 \remove System_start_delimiter_engraver
250 \override SystemStartBar #'stencil = ##f
252 \context {
253 \Staff
254 \remove Accidental_engraver
255 \remove Rest_collision_engraver
256 \remove Ledger_line_engraver
257 \remove Time_signature_engraver
258 \remove Key_engraver
259 \remove Clef_engraver
260 \remove Ottava_spanner_engraver
261 \remove Bar_engraver
262 \remove Instrument_name_engraver
263 \override StaffSymbol #'line-count = #1
264 \override StaffSymbol #'color = #(rgb-color 0.9 0.9 0.9)
265 \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1 )
266 %\consists Hara_kiri_engraver
267 %\override VerticalAxisGroup #'remove-empty = ##t
269 \context {
270 \Voice
271 \remove Grace_engraver
272 \remove Tuplet_engraver
273 \remove Tie_engraver
274 \remove Slur_engraver
275 \remove Phrasing_slur_engraver
276 \remove Script_engraver
277 \remove Dynamic_engraver
278 \remove New_dynamic_engraver
279 \remove Grace_beam_engraver
280 \remove Beam_engraver
281 \remove Stem_engraver
282 \remove Rest_engraver
283 \remove Dots_engraver
284 \remove Note_heads_engraver
285 \remove Breathing_sign_engraver
286 \remove Glissando_engraver
287 \remove Trill_spanner_engraver
288 \remove Text_engraver
289 \remove Text_spanner_engraver
290 \remove Multi_measure_rest_engraver
291 \remove Arpeggio_engraver
292 \remove Pitched_trill_engraver
294 \context {
295 \Score
296 \override SystemStartBar #'stencil = ##f
299 %% Text inclusion -------------------------------------------------%
300 \context {
301 \type Engraver_group
302 \name TopLine
303 \consists Output_property_engraver
304 \consists Axis_group_engraver
306 \context {
307 \Score
308 \remove Metronome_mark_engraver
309 \accepts TopLine
310 \override PaperColumn #'keep-inside-line = ##t
311 \override NonMusicalPaperColumn #'keep-inside-line = ##t
312 \override RehearsalMark #'side-axis = #Y
313 \override RehearsalMark #'direction = #DOWN
314 \override RehearsalMark #'outside-staff-priority = #900
315 \override RehearsalMark #'self-alignment-X = #left
316 \override MetronomeMark #'side-axis = #Y
317 \override MetronomeMark #'direction = #DOWN
318 \override TextScript #'outside-staff-priority = #900
319 \override TextSpanner #'outside-staff-priority = #1000
320 \override TextSpanner #'direction = #DOWN
323 \context {
324 \Lyrics
325 \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1 )
326 \override InstrumentName #'font-family = #'sans
327 \override InstrumentName #'font-series = #'bold
328 \override InstrumentName #'extra-X-extent = #'(0 . 2 )
329 \override InstrumentName #'extra-X-extent = #'(-1 . 1 )
332 %% Additional tweaks ---------------------------------------------%
333 \context {
334 \Score
335 \override BarNumber #'transparent = ##t
337 %%-----------------------------------------------------------------%