]> git.donarmstrong.com Git - lilypond.git/blob - input/manual/unfretted-strings-headword.ly
Merge branch 'master' of carldsorensen@git.sv.gnu.org:/srv/git/lilypond
[lilypond.git] / input / manual / unfretted-strings-headword.ly
1 %******************************************************
2 % Inspirational header for Unfretted Strings section  %
3 % of Lilypond Documentation.  This passage is taken   %
4 % from Ravel's String Quartet.                        %
5 % ****************************************************%
6
7 %\version "2.11.61"
8
9 #(set-global-staff-size 15)
10 \paper{
11  ragged-end=##t
12  line-width=17\cm
13  indent=0\cm
14 }
15
16 \layout {
17  \context { \Score
18    \remove "Bar_number_engraver"
19    \override PaperColumn #'keep-inside-line = ##t
20    \override NonMusicalPaperColumn #'keep-inside-line = ##t
21  }
22 }
23
24 %*************** MACROS ******************%
25
26 #(define (octave-up m t)
27  (let* ((octave (1- t))
28       (new-note (ly:music-deep-copy m))
29       (new-pitch (ly:make-pitch
30         octave
31         (ly:pitch-notename (ly:music-property m 'pitch))
32         (ly:pitch-alteration (ly:music-property m 'pitch)))))
33   (set! (ly:music-property new-note 'pitch) new-pitch)
34   new-note))
35
36 #(define (octavize-chord elements t)
37  (cond ((null? elements) elements)
38      ((eq? (ly:music-property (car elements) 'name) 'NoteEvent)
39        (cons (car elements)
40              (cons (octave-up (car elements) t)
41                    (octavize-chord (cdr elements) t))))
42      (else (cons (car elements) (octavize-chord (cdr elements ) t)))))
43
44 #(define (octavize music t)
45  (if (eq? (ly:music-property music 'name) 'EventChord)
46        (ly:music-set-property! music 'elements (octavize-chord
47 (ly:music-property music 'elements) t)))
48  music)
49
50 octaves = #(define-music-function (parser location arg mus) (integer? ly:music?)
51  (music-map (lambda (x) (octavize x arg)) mus))
52
53 %\relative c' { d e \octaves #-1 { \times 2/3 {f g c }}} % this is an example of the macro in practice
54
55 %*********************************************************************
56 % This is a sweet macro by Mark Polesky to make the 4th-string
57 % indication look like it did in the original score
58 %********************************************************************
59 #(define-markup-command (No layout props n) (string?)
60   (define (format-char c)
61     (let ((s (string c)))
62       (if (number? (string->number s))
63           (markup #:hspace 0.125 #:number s #:hspace 0.125)
64           (markup #:hspace 0 #:fontsize 2 s))))
65   (define (format-string s i)
66     (let ((n (string-length s)))
67       (if (= n 0)
68           (markup #:null)
69           (markup (format-char (string-ref s i))
70                   (if (= (+ i 1) n)
71                       (markup #:null)
72                       (format-string s (+ i 1)))))))
73   (let ((i (string-length n)))
74     (interpret-markup layout props
75       (markup
76         #:concat (
77           #:concat (
78             #:fontsize 3 "4"
79             #:hspace 0.5
80             #:override '(baseline-skip . 0.825)
81             #:override '(direction . 1)
82             #:dir-column (
83               #:fontsize 2 #:center-align "."
84               #:fontsize 1 #:center-align "e"
85             )
86           )
87           #:hspace 0.75
88           #:concat (
89             (format-string n 0)
90             #:fontsize 2 ""
91           )
92         )
93       )
94     )
95   )
96 )
97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
98
99
100 poco = \markup { \italic { \fontsize #+2.0 "poco" }}
101 apoco = \markup { \italic { \fontsize #+2.0 "a" }}
102 menovivo = \markup { \bold { \fontsize #+3.0 { "Poco meno vivo"} } }
103 pocorit = \markup { \bold { \fontsize #+3.0 { "poco rit."} } }
104 pocodim = \markup { \italic { \fontsize #+2.0 "un poco dim." }}
105
106 vlnOne = \relative c''' {
107   \key f \major
108   \time 4/4
109   \set Staff.midiInstrument = "violin"
110 %  \override TupletNumber #'stencil = ##f
111   \override TupletBracket #'bracket-visibility = ##f
112   \set tupletSpannerDuration = #(ly:make-moment 1 4)
113
114   \once \override TextScript #'extra-offset = #'( -3.8 . 0.5 )
115   es4^\apoco
116   \once \override TextScript #'extra-offset = #'( -1.0 . -0.8 )
117   \times 2/3 { c8(^\poco d es) } es4 \times 2/3 { c8( d es) } | % 1
118   es4\ff\< \times 2/3 { c8( d es) } es4 \times 2/3 { c8( d es)\! }  |   % 2
119   \grace { a,,8[( a'\fff]^\menovivo } a'4) g8( a) d,4 c8( d) |  % 3
120   a4 g8( a) d,4 c8( d) |                % 4
121   a4 g8( a) d,8^\pocorit r8 r4 |        % 5
122   ais16(\p\< e' ais e') e16(\f\> ais, e ais,)\! ais8 r r4 |     % 6
123 }
124
125 vlnTwo = \relative c' {
126   \key f \major
127   \time 4/4
128   \set Staff.midiInstrument = "violin"
129 %  \override TupletNumber #'stencil = ##f
130   \override TupletBracket #'bracket-visibility = ##f
131   \set tupletSpannerDuration = #(ly:make-moment 1 4)
132   \times 2/3 { \octaves #1 {fis8 fis fis fis fis fis fis fis fis fis fis fis }} |       % 1
133   \times 2/3 { \octaves #1 {fis8\ff\< fis fis fis fis fis fis fis fis fis fis fis\! }} |% 2
134   <ais, e' ais e'>16\fff( ais' e ais,) ais16( e' ais e') e16( ais, e ais,) ais16( e' ais e') | % 3
135   e16( ais, e ais,) ais16( e' ais e') e16( ais, e ais,) ais16( e' ais e') |     % 4
136   e16( ais, e ais,)
137   \set subdivideBeams = ##t
138   \set Score.beatLength = #(ly:make-moment 1 8)
139     ais16( e') e( ais,)
140     d4^\markup \No #"Corde"
141   \once \override TextScript #'extra-offset = #'( -5.5 . 4.4 )
142     c8(_\markup { \italic { \fontsize #+1.0 "vibrato" }} d) |   % 5
143   \set subdivideBeams = ##f
144   a2 ~ a8 g( c d)                       % 6
145 }
146 vlnTwoDyn = {
147   s1*4
148   s2 s4\f\< s8. s16\! |
149   s16 s16\> s8 s2 s8 s16 s32 s32\!
150
151 }
152
153 vla = \relative c'' {
154   \key f \major
155   \time 4/4
156   \clef "alto"
157   \set Staff.midiInstrument = "viola"
158   \override Stem #'length = #9.5
159   bes4:32 a4:32 gis4:32 a4:32 | % 1
160   bes4:32 a4:32 gis4:32 a4:32\! | % 2
161 \tweak #'extra-offset #'(-1.3 . -0.0)
162 %  \clef "treble"
163   \revert Stem #'length
164   \acciaccatura { a8 } a'4\fff g8( a) d,4 c8( d)  \clef "alto"  | %3
165   a4 g8( a) d,4 c8( d) |        % 4
166   a4 g8 a <e ais>2:32 |         % 5
167   <e ais>1:32           |       % 6
168 }
169
170 vlaDyn = {
171   s1 | s2\ff\< s4 s8 s16\! s32 s64 \clef "treble" s64 |
172   s1*2 | s2 s4\f\< s8 s16 s32 s32\! |   % 3-5
173   s16 s16\> s8 s2 s8 s16 s32 s32\! | %6
174
175 }
176
177 vc = \relative c' {
178   \key f \major
179   \time 4/4
180   \clef "bass"
181   \set Staff.midiInstrument = "cello"
182   \override Stem #'length = #9.5
183   c4:32 d4:32 es4:32 d4:32 |            % 1
184   c4:32 d4:32 es4:32 d4:32\! |  % 2
185   \revert Stem #'length
186   \set subdivideBeams = ##t
187   \set Score.beatLength = #(ly:make-moment 1 8)
188   <fis,, cis'>16\fff( <cis' ais'>) <cis ais'>( <fis, cis'>) % 3
189     <fis cis'>16( <cis' ais'>) <cis ais'>( <fis, cis'>) % 3
190     <fis c'>16( <c' ais'>) <c ais'>( <fis, c'>)         % 3
191     <fis c'>16( <c' ais'>) <c ais'>( <fis, c'>) |       % 3
192   <fis cis'>16( <cis' ais'>) <cis ais'>( <fis, cis'>)   % 4
193     <fis cis'>16( <cis' ais'>) <cis ais'>( <fis, cis'>) % 4
194     <fis c'>16( <c' ais'>) <c ais'>( <fis, c'>)         % 4
195     <fis c'>16( <c' ais'>) <c ais'>( <fis, c'>) |       % 4
196   <fis cis'>16( <cis' ais'>) <cis ais'>( <fis, cis'>)   % 5
197     <fis cis'>16( <cis' ais'>) <cis ais'>( <fis, cis'>) fis2^\( ~ | % 5
198   fis4 g c,\) r4        % 6
199 }
200 vcDyn = {
201   s1 | s2\ff\< s4 s8. s16\! |   % 1-2
202   s1*2  % 3-4
203   s2 s4\f\< s8 s16 s32 s32\! |  % 5
204   s4\> s4 s4\! s4            |  % 6
205 }
206
207
208 %%%%%%%%%%%%%%%% Score Block %%%%%%%%%%%%%%%%%%%%%%
209
210 \score {
211
212   << % creates new grand staff
213     \new StaffGroup = "strings" <<
214       \context Staff = "violinOne" \vlnOne
215       \context Staff = "violinTwo" <<
216         \context Voice = "violin 2" { \vlnTwo }
217         \context Voice = "violin 2 dynamics" { \vlnTwoDyn }
218       >>
219       \new Staff = "viola" <<
220         \context Voice = "viola" { \vla }
221         \context Voice = "viola dynamics" { \vlaDyn }
222       >>
223       \new Staff = "cello" <<
224         \context Voice = "cello" { \vc }
225         \context Voice = "cello dynamics" { \vcDyn }
226       >>
227     >> % end of "strings" staffgroup
228
229   >> % end of grand staff
230
231   \layout {
232     \context {
233       \Score
234       \override TimeSignature #'stencil = ##f
235       \override BarNumber #'padding = #3
236       \override RehearsalMark #'padding = #2
237         skipBars = ##t
238     } % context \Score \overrides end
239   } % layout end
240
241   \midi { }
242
243 } % score end
244