]> git.donarmstrong.com Git - lilypond.git/blob - ly/declarations-init.ly
Doc: CG added spacing clarification for @lilypond
[lilypond.git] / ly / declarations-init.ly
1 %%%% This file is part of LilyPond, the GNU music typesetter.
2 %%%%
3 %%%% Copyright (C) 1996--2010 Han-Wen Nienhuys <hanwen@xs4all.nl>
4 %%%%                          Jan Nieuwenhuizen <janneke@gnu.org>
5 %%%%
6 %%%% LilyPond is free software: you can redistribute it and/or modify
7 %%%% it under the terms of the GNU General Public License as published by
8 %%%% the Free Software Foundation, either version 3 of the License, or
9 %%%% (at your option) any later version.
10 %%%%
11 %%%% LilyPond is distributed in the hope that it will be useful,
12 %%%% but WITHOUT ANY WARRANTY; without even the implied warranty of
13 %%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 %%%% GNU General Public License for more details.
15 %%%%
16 %%%% You should have received a copy of the GNU General Public License
17 %%%% along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
18
19 \version "2.12.0"
20
21 %% < 1.8 compatibility switch
22 #(ly:set-option 'old-relative)
23
24 %% named durations
25 breve = #(ly:make-duration -1 0)
26 longa = #(ly:make-duration -2 0)
27 maxima = #(ly:make-duration -3 0)
28
29 \include "music-functions-init.ly"
30 \include "toc-init.ly"
31
32 \include "language-init.ly"
33 pitchnames = #default-language
34 #(ly:parser-set-note-names parser pitchnames)
35
36 \include "drumpitch-init.ly"
37 \include "chord-modifiers-init.ly"
38 \include "script-init.ly"
39
40 \include "chord-repetition-init.ly"
41
42 % declarations for standard directions
43 left = #-1
44 right = #1
45 up = #1
46 down = #-1
47 start = #-1
48 stop = #1
49 smaller = #-1
50 bigger = #1
51 center = #0
52
53 %% FIXME
54 %% should also set \override Beam #'breakable, but how to do it "portably"? (ie. also
55 %% working with lyric sections)
56 %%
57 %% try \once \override Score.Beam #'breakable = ##t
58
59 %% rather name \newline, \pageBreak ?
60 break = #(make-event-chord (list (make-music 'LineBreakEvent 'break-permission 'force)))
61 noBreak = #(make-event-chord (list (make-music 'LineBreakEvent 'break-permission '())))
62 %% \pageBreak, \noPageBreak, \pageTurn, \noPageTurn, \allowPageTurn are defined
63 %% as music functions
64
65 stopStaff = #(make-event-chord (list (make-span-event 'StaffSpanEvent STOP)))
66 startStaff = #(make-event-chord (list (make-span-event 'StaffSpanEvent START)))
67
68
69 %
70 % Code articulation definitions
71 %
72 noBeam = #(make-music 'BeamForbidEvent)
73 pipeSymbol = #(make-music 'BarCheck)
74 bracketOpenSymbol = #(make-span-event 'BeamEvent START)
75 bracketCloseSymbol = #(make-span-event 'BeamEvent STOP)
76 tildeSymbol = #(make-music 'TieEvent)
77 parenthesisOpenSymbol =  #(make-span-event 'SlurEvent START)
78 parenthesisCloseSymbol = #(make-span-event 'SlurEvent STOP)
79 escapedExclamationSymbol = #(make-span-event 'CrescendoEvent STOP)
80 escapedParenthesisOpenSymbol = #(make-span-event 'PhrasingSlurEvent START)
81 escapedParenthesisCloseSymbol = #(make-span-event 'PhrasingSlurEvent STOP)
82 escapedBiggerSymbol = #(make-span-event 'DecrescendoEvent START)
83 escapedSmallerSymbol = #(make-span-event 'CrescendoEvent START)
84
85
86 #(define default-fret-table (make-hash-table 100))
87 #(define chord-shape-table (make-hash-table 100))
88
89 \include "scale-definitions-init.ly"
90
91 melisma = #(context-spec-music (make-property-set 'melismaBusy #t) 'Bottom)
92 melismaEnd = #(context-spec-music (make-property-unset 'melismaBusy) 'Bottom)
93
94 laissezVibrer = #(make-music 'LaissezVibrerEvent)
95 repeatTie = #(make-music 'RepeatTieEvent)
96
97 \include "grace-init.ly"
98 \include "midi-init.ly"
99 \include "paper-defaults-init.ly"
100
101 \layout {
102     mm = #(ly:output-def-lookup $defaultpaper 'mm)
103     unit = #(ly:output-def-lookup $defaultpaper 'unit)
104
105     in = #(* 25.4 mm)
106     pt = #(/  in 72.27)
107     cm = #(* 10 mm)
108
109     \include "engraver-init.ly"
110
111     #(set-paper-dimension-variables (current-module))
112 }
113
114 #(set-default-paper-size (ly:get-option 'paper-size))
115
116 partCombineListener = \layout {
117     \context {
118         \Score
119         skipTypesetting = ##t
120         ignoreBarChecks = ##t
121         \alias "Timing"
122     }
123 }
124
125 \include "dynamic-scripts-init.ly"
126 \include "spanners-init.ly"
127 \include "property-init.ly"
128
129 setDefaultDurationToQuarter = { c4 }
130
131 %% MAKE-HASH-TABLE in GUILE 1.6 takes mandatory size parameter.
132 #(define musicQuotes (make-hash-table 29))
133
134 #(define toplevel-book-handler print-book-with-defaults)
135 #(define toplevel-bookpart-handler collect-bookpart-for-book)
136 #(define toplevel-music-handler collect-music-for-book)
137 #(define toplevel-score-handler collect-scores-for-book)
138 #(define toplevel-text-handler collect-scores-for-book)
139
140 #(define book-bookpart-handler ly:book-add-bookpart!)
141 #(define book-music-handler collect-book-music-for-book)
142 #(define book-score-handler ly:book-add-score!)
143 #(define book-text-handler ly:book-add-score!)
144
145 #(define bookpart-score-handler ly:book-add-score!)
146 #(define bookpart-text-handler ly:book-add-score!)
147 #(define bookpart-music-handler collect-book-music-for-book)
148
149 \include "predefined-fretboards-init.ly"