]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/ly-examples/tab-example.ly
More reductions in make doc
[lilypond.git] / Documentation / ly-examples / tab-example.ly
1 \version "2.15.10"
2
3 #(set-global-staff-size 22.45)
4
5 #(define (glissando::calc-extra-dy grob)
6    (let* ((original (ly:grob-original grob))
7           (left-bound (ly:spanner-bound original LEFT))
8           (right-bound (ly:spanner-bound original RIGHT))
9           (left-pitch (ly:event-property (event-cause left-bound) 'pitch))
10           (right-pitch (ly:event-property (event-cause right-bound) 'pitch)))
11
12      (if (and (= (ly:pitch-octave left-pitch) (ly:pitch-octave right-pitch))
13               (= (ly:pitch-notename left-pitch) (ly:pitch-notename right-pitch)))
14          (- (ly:pitch-alteration right-pitch) (ly:pitch-alteration left-pitch))
15          0 )))
16
17 % Hide fret number: useful to draw slide into/from a casual point of
18 % the fretboard.
19 hideFretNumber = {
20   \once \override TabNoteHead #'transparent = ##t
21   \once \override TabNoteHead #'whiteout = ##f
22   \once \override NoteHead #'transparent = ##t
23   \once \override Stem #'transparent = ##t
24   \once \override Flag #'transparent = ##t
25   \once \override NoteHead #'no-ledgers = ##t
26 }
27
28 \paper {
29   indent= #0
30   line-width= #180
31 }
32
33 upper= \relative c' {
34   \time 4/4
35   \key e \major
36   \set Staff.midiInstrument = #"acoustic guitar (steel)"
37   \set fingeringOrientations = #'(left)
38
39   \partial 4. \acciaccatura c16 \glissando cis8 e4
40   < cis-1 g'-3 >2 s8 \grace a16 ( \glissando < b-2 >8\3 ) < d-1 > ( b )
41   < e-3 >\2 ( <d-1> b ) \grace < ais-2 >16 ( \glissando a8 g ) s4.
42   s4. < d'\3 g\2 >8 < gis,\4  d'\3 fis\2 >2\arpeggio ~
43   < gis\4 d'\3 fis\2 >2 < b'\2\harmonic e\harmonic >2\fermata
44 }
45
46 lower= \relative c {
47   \set fingeringOrientations = #'(left)
48
49   \partial 4. s4.
50   s4 e,4 s2
51   s2 s8 < e'-3 >4. ~
52   e4 \hideFretNumber \grace { b8 \glissando s4 } < e-2 >4\5 e,2 ~
53   e2 < e'\6\harmonic >
54 }
55
56 \score {
57   \new StaffGroup <<
58     \new Staff = "guitar" <<
59       \context Voice = "upper guitar" {
60         \clef "G_8" \voiceOne
61         \override Glissando #'gap = #0.5
62         \override Glissando #'extra-offset = #'(-0.5 . 0)
63         \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods
64         \override Glissando #'minimum-length = #4
65         \override Glissando #'extra-dy = #glissando::calc-extra-dy
66         \upper
67       }
68       \context Voice = "lower guitar" {
69         \clef "G_8" \voiceTwo
70         \override Glissando #'bound-details #'right #'padding = #1
71         \override Glissando #'bound-details #'left #'padding = #0.2
72         \lower
73       }
74     >>
75     \new TabStaff = "tab" <<
76       \context TabVoice = "upper tab" { \clef "moderntab" \voiceOne \upper }
77       \context TabVoice = "lower tab" { \clef "moderntab" \voiceTwo \lower }
78     >>
79   >>
80
81   \layout {
82     \context {
83       \Staff
84       \override StringNumber #'transparent = ##t
85     }
86     \context {
87       \TabStaff
88       \revert Arpeggio #'stencil
89     }
90   }
91 }