]> Shamusworld >> Repos - music/commitdiff
New chart "Linus and Lucy". :-D
authorShamus Hammons <jlhamm@acm.org>
Mon, 2 Nov 2015 14:00:37 +0000 (08:00 -0600)
committerShamus Hammons <jlhamm@acm.org>
Mon, 2 Nov 2015 14:00:37 +0000 (08:00 -0600)
linus-and-lucy.ly [new file with mode: 0644]

diff --git a/linus-and-lucy.ly b/linus-and-lucy.ly
new file mode 100644 (file)
index 0000000..1905681
--- /dev/null
@@ -0,0 +1,310 @@
+\version "2.16.0"
+\include "pop-chords.ly"
+\include "english.ly"
+
+% Good sizes are 16, 18, & 20
+staffSize = #18
+#(set-default-paper-size "letter")
+#(set-global-staff-size staffSize)
+#(ly:set-option (quote no-point-and-click))
+
+%{ Some useful characters: ‘ ’ “ ” – — † ‡ • … %}
+
+\header
+{
+%Let's bump up the title size and switch to the chord font. :-)
+
+       title    = \markup { \override #'(font-family . sans) \fontsize #3.5 "Linus and Lucy" }
+       subtitle = \markup { \override #'(font-family . sans) \fontsize #1.3 "Main Theme" }
+       composer = \markup { \override #'(font-family . sans) \fontsize #1.3 "Vince Guaraldi" }
+       arranger = \markup { \override #'(font-family . sans) \fontsize #1.3 "arr. S. Hammons" }
+       tagline  = $(string-append "Engraved by JLH and Lilypond " (lilypond-version))
+% Let's try a chord dictionary
+%      subtitle = \markup { \center-column { "F#m" \fret-diagram-terse #"x;x;4;2;2;2;" } "       " \center-column { "F#m/F" \fret-diagram-terse #"x;x;3;2;2;2;" } "       " \center-column { "F#m/E" \fret-diagram-terse #"x;x;2;2;2;2;" }  "       " \center-column { "F#m/Eb" \fret-diagram-terse #"x;x;1;2;2;2;" }  "       " \center-column { "Em7" \fret-diagram-terse #"o;2;2;o;3;o;" }  "       " \center-column { "A13" \fret-diagram-terse #"x;o;2;o;2;2;" }  }
+}
+
+% Useful tweak abbreviations (hn = harmony note)
+
+hn = #(define-music-function (parser location arg) (ly:music?)
+;; Harmony Note: Set the tweaks property of the passed in note to use a smaller font
+
+  (set! (ly:music-property arg 'tweaks)
+    (acons 'font-size -3.0 (ly:music-property arg 'tweaks))) arg)
+
+
+%
+% Song's structure
+%
+Global =
+{
+       \key af \major
+       \override Staff.TimeSignature #'style = #'()
+       \time 4/4
+
+       % Intro
+
+       \once \override TextScript #'padding = #2.0
+       s1*0^\markup { \large \bold { Lively } }
+% Capo 4 version
+%      s1*0^\markup { \hspace #0.0 \raise #2.0 \larger \bold { "Moderate pop (*** CAPO 4 ***)" } }
+
+       \repeat volta 2
+       {
+               s1*30 %\bar "||"   % 1-30
+       }
+%              \mark \markup { \override #'(font-family . sans) { \box { A } } }
+}
+
+
+%
+% Lead vocal
+%
+LeftHand = \relative c,
+{
+%      \set Staff.instrument = #"Lead vox"
+       \clef F
+       \override Staff.TimeSignature #'style = #'()
+%Hm. Needed anymore?
+%      \override Score.SpacingSpanner #'average-spacing-wishes = ##f
+
+       \ottava #-1
+       af8 ef' af af, ef' af4 af,8 ~ |
+       af8 ef' f af, ef' f4 af,8 ~ |
+       af8 ef' af af, ef' af4 af,8 ~ |
+       af8 ef' f af, ef' f4 af,8 ~ |
+
+       af8 ef' af af, ef' af4 af,8 ~ |
+       af8 ef' f af, ef' f4 af,8 ~ |
+       af8 ef' af af, ef' af4 af,8 ~ |
+       af8 ef' f af, ef' f4 af,8 ~ |
+
+       af8 ef' af af, ef' af4 af,8 ~ |
+       af8 ef' f af, ef' f4 cf8 ~ |
+       cf8 gf' c cf, gf' cf4 cf,8 ~ |
+       cf8 gf' af cf, gf' af4 af,8 ~ |
+       af8 ef' af af, ef' af4 af,8 ~ |
+       af8 ef' f af, ef' f4 af,8 ~ |
+
+       af8 ef' af af, ef' af4 af,8 ~ |
+       af8 ef' f af, ef' f4 af,8 ~ |
+       af8 ef' af af, ef' af4 af,8 ~ |
+       af8 ef' f af, ef' f4 af,8 ~ |
+
+       af8 ef' af af, ef' af4 af,8 ~ |
+       af8 ef' f af, ef' f4 cf8 ~ |
+       cf8 gf' c cf, gf' cf4 cf,8 ~ |
+       cf8 gf' af cf, gf' af4 af,8 ~ |
+       af8 ef' af af, ef' af4 af,8 ~ |
+       af8 ef' f af,4 bf8 c4 |
+
+       <df df'>8-^ r4 <ef ef'>8-^ r2 |
+       r2 r4 r8 <af, af'>8-^ |
+
+       <df df'>8-^ r4 <ef ef'>8-^ r2 |
+       r2 r4 r8 <af, af'>8-^ |
+
+       <df df'>8-^ r4 <ef ef'>8-^ r2 |
+       r1 |
+}
+
+
+%
+% Lead vocal
+%
+RightHand = \relative c'
+{
+%      \set Staff.instrument = #"Lead vox"
+       \clef G
+       \override Staff.TimeSignature #'style = #'()
+%Hm. Needed anymore?
+%      \override Score.SpacingSpanner #'average-spacing-wishes = ##f
+
+       r1 |
+       r1 |
+       r1 |
+       r2 r4 r8 <c af'> ~ |
+
+       <c af'>8 <ef bf'> <af c> r <af c> <ef bf'> <c af'> r |
+       <ef bf'>4. <c af'>8 ~ <c af'>4 r8 <c af'> ~ |
+       <c af'>8 <ef bf'> <af c> r <af c>2 ~ |
+       <af c>2. r8 <c, af'> ~ |
+
+       <c af'>8 <ef bf'> <af c> r <af c> <ef bf'> <c af'> r |
+       <ef bf'>4. <c af'>8 ~ <c af'>4 r8 <ef af> ~ |
+       <ef af>4 r8 <ef bf'> <ef bf'>2 ~ |
+       <ef bf'>2. r8 <c af'> ~ |
+       <c af'>4 r8 <ef bf'> <ef bf'>2 ~ |
+       <ef bf'>2. r8 <c af'> ~ |
+
+       <c af'>8 <ef bf'> <af c> r <af c> <ef bf'> <c af'> r |
+       <ef bf'>4. <c af'>8 ~ <c af'>4 r8 <c af'> ~ |
+       <c af'>8 <ef bf'> <af c> r <af c>2 ~ |
+       <af c>2. r8 <c, af'> ~ |
+
+       <c af'>8 <ef bf'> <af c> r <af c> <ef bf'> <c af'> r |
+       <ef bf'>4. <c af'>8 ~ <c af'>4 r8 <ef af> ~ |
+       <ef af>4 r8 <ef bf'> <ef bf'>2 ~ |
+       <ef bf'>2. r8 <c af'> ~ |
+       <c af'>4 r8 <ef bf'> <ef bf'>2 ~ |
+       <ef bf'>2. r4 |
+
+       <f af df>8-^ <f af df>-^ <f af df>-^ <g bf ef>-^
+       r8 <ef' af>-. f-. <f af>-. |
+       <ef af>8-. f-. <f af>-. <ef af>-. f-. <f af>-. <ef af>-. r |
+
+       <f, af df>8-^ <f af df>-^ <f af df>-^ <g bf ef>-^
+       r8 <ef' af>-. f-. <f af>-. |
+       <ef af>8-. f-. <f af>-. <ef af>-. f-. <f af>-. <ef af>-. r |
+
+       <f, af df>8-^ <f af df>-^ <f af df>-^ <g bf ef>-^
+       r8 <ef' af>-. f-. <f af>-. |
+       <ef af>8-. f-. <f af>-. <ef af>-. f-. <f af>-. <ef af>-. r |
+}
+
+
+Riffs = \relative c''
+{
+       \clef G
+%Hm. Needed anymore?
+%      \override Score.SpacingSpanner #'average-spacing-wishes = ##f
+
+       % Intro
+
+%{
+       \tiny
+       \normalsize
+%}
+}
+
+
+%
+% Chord names
+%
+Chords = \chordmode
+{
+%Bah, can't we set this globally? YES!!!
+%      \popChords
+
+       s4. d8 g4/a |   % 0
+       d2 g4 |   % 1
+       a4:sus4 a b:m |   % 2
+       g4 a4. g8/a |   % 3
+       d2 g4/a |   % 4
+
+       d4 d/cs b:m |   % 5
+       g4:6 a b:m |   % 6
+       g4 a4. g8/a |   % 7
+       d2 d4/fs |   % 8
+
+       g2 d4/a |   % 9
+       a2 d8/fs fs:m7 |   % 10
+       g2 b4:m7 |   % 11
+       a2 g4/a |   % 12
+
+       d4:sus4 d g |   % 13
+       a4:sus4 a b:m |   % 14
+       g4 a4. g8/a |   % 15
+       d4. s |   % 16
+}
+
+
+%
+% Chord rhythms
+%
+% Use a RhythmicStaff on the chords instead of this?
+% It almost works, but not quite. Doesn't collapse chords above to single notes...
+%
+Rhythm = \relative c
+{
+%%     \set Voice.autoBeaming = ##f
+%%     \set Staff.instrument = #"Rhythm"
+       \override Staff.TimeSignature #'style = #'()
+       \override NoteHead #'style = #'slash
+
+       r4 r8 c c4 |   % 0
+       c4 c c |   % 1
+       c4 c c |   % 2
+       c4 c4. c8 |   % 3
+       c4 c c |   % 4
+
+       c4 c c |   % 5
+       c4 c c |   % 6
+       c4 c4. c8 |   % 7
+       c4 c c |   % 8
+
+       c4 c c |   % 9
+       c4 c c8 c |   % 10
+       c4 c c |   % 11
+       c4 c c |   % 12
+
+       c4 c c |   % 13
+       c4 c c |   % 14
+       c4 c4. c8 |   % 15
+       c4. r |   % 16
+}
+
+
+Dynamics =
+{
+%{
+       s4_\markup { \italic { snare pat. } } s2 |   % 1
+       s4_\markup { \italic { simile } } s2 |   % 2
+       s2.*19
+       s4_\markup { \italic { spacey } } s2 |   % 22
+       s2.*5
+       s4 s \< s \! |   % 28
+       s2.*22
+       s4_\markup { \italic { Last time } } s2 |   % 51
+%}
+}
+
+
+\score
+{
+       <<
+               \set Score.skipBars = ##t
+               \set Score.melismaBusyProperties = #'()
+
+%              \new Staff
+               %               <<
+               %                       \new ChordNames \Chords
+%Capo 4 edition
+%                      \new ChordNames \transpose b g \Chords
+               %                       \new RhythmicStaff << \Rhythm \Dynamics >>
+               %               >>
+
+               \new Staff
+               <<
+                       \Global                                         % The "roadmap" that everything else depends on
+                       \new Voice = "lead" \RightHand
+                       %                       \new Voice \Riffs
+               >>
+               \new Staff
+               <<
+                       \Global                                         % The "roadmap" that everything else depends on
+                       \new Voice = "lead" \LeftHand
+               >>
+       >>
+}
+
+
+\paper
+{
+  #(define fonts (make-pango-font-tree
+    "Times New Roman"
+    "DomCasual BT"
+    "Luxi Mono"
+    (/ staffSize 20)))
+
+% Spread staves vertically across last page (default: t)
+       ragged-last-bottom = ##f
+% Don't spread staves vertically across the page (default: f)
+%      ragged-bottom = ##t
+% Allow partial line for last stave (default: f)
+%      ragged-last = ##t
+
+% To find out what's eating the space at the top...
+%      annotate-spacing = ##t
+%let's try this: [It works! Huzzah!]
+       obsolete-page-top-space = 0  top-system-spacing #'basic-distance = #(/ obsolete-page-top-space staff-space)
+}