Hi all,

How can I achieve proportional spacing when I only have chord names
and bar lines, and no staff or notes?  Attached is a file with a very
naive attempt which fails to achieve this; corrections would be most
welcome.

For the curious, the background and motivation behind this question is
as follows:

I have a transcription of a jazz solo by John Coltrane which I made
several years ago.[0]  It contains chord symbols which I produced via
manual analysis to match the harmony of his improvisation, rather than
the (much simpler) chord progression of the 12-bar blues over which he
was improvising.  Therefore the chords are different for each of the 8
choruses of the solo.

It would be very instructive to produce a clear visualisation of the
harmonic variations he uses in each chorus, so I have dropped the
notes of the solo from the .ly file, leaving only the chords, rendered
in landscape, with all the choruses vertically stacked on top of each
other, one per line.  This should allow easy visual comparison of any
part of the 12-bar progression simply by scanning vertically at that
point within the progression.  However this vertical scan only works
effectively if all the choruses are vertically aligned, hence the need
for proportional spacing.

Thanks a lot in advance for any hints!
Adam

[0] http://blog.adamspiers.org/2013/01/28/cello-lessons-from-a-dead-genius/
\include "english.ly"

\header {
  composer = "John Coltrane"
  title = "Blue Train"
  arranger = \markup {
    \right-column {
      "transcribed for cello by Adam Spiers"
      \italic \small "chords represent harmonic analysis of the solo, not changes"
    }
  }
}

global = {
  \key ef \major
  \time 4/4
}

allchords = {
  \new ChordNames = "chords" \with {
    \override BarLine.bar-extent = #'(-2 . 2)
    \consists "Bar_engraver"
  } {
    \chordmode {
      \global
      \set minorChordModifier = \markup { "-" }
      %\set additionalPitchPrefix = ""

      % chorus 1
      \mark \markup { \box "1" }
      | ef1:m9   | af:7           | ef1:m9 | s
      | af:13    | s              | ef:m7  | s2 ef2:m9
      | bf1:7   | af2:m7/bf bf:9+ | ef1    | s
      \bar "||"
      \break
      % chorus 2
      \mark \markup { \box "2" }
      | ef:7     | af2.:7 a4:dim  | ef1    | bf2:m7+ ef:m
      | af1:7.9  | s2 a:dim       | ef1    | s2 c:7.9-
      | f1:m7+   | f2:m7+ bf:7    | ef1:7  | s
      \bar "||"
      \break
      % chorus 3
      \mark \markup { \box "3" }
      | ef:7     | af2:7 af:7.11+ | bf1:m11/ef   | e:maj7.5+/bf
      | af:7.11+ | s2 af:7.9-     | ef1:maj7     | s2. c4:7.9-
      | f2:sus4 f:m7+ | bf1:7     | s2. f4:m7/bf | bf:7 f:m7/bf bf2:7
      \bar "||"
      \break
      % chorus 4
      \mark \markup { \box "4" }
      | ef1:7    | bf:7.9-                | ef:7              | s4 e2.:m7/ef
      | af1:7.9- | af4:7.11+ gf2.:maj7/af | ef2.:maj7 c4:7.9- | s8 ef:maj7 s4 bf2:7.9-.9+
      | f1:m7+  | bf2.:7 bf4:9-.10-.11+.13- | ef1:maj7        | s2 bf:7.9-
      \bar "||"
      \break
      % chorus 5
      \mark \markup { \box "5" }
      | ef1:7    | af2:7 ef:m7.6-    | ef1:7            | bf2:m7 ef:7
      | af1:7.9  | bf:7.9-.13-       | bf4 ef f:m c:m7  | bf4:7 b2.:7
      | f1:m7    | b2.:maj/bf bf4:m7 | bf4:m ef2.:6-.9  | bf1:7
      \bar "||"
      \break
      % chorus 6
      \mark \markup { \box "6" }
      | ef1:7    | af:9                    | ef:m7                  | bf2:m7 ef:7.9-.10-.11+.13-
      | af1:13   | bf4.:7.9- ef4:m7 bf4.:7 | ef4.:maj f8.:m7+ g4..:m | s4 g:m fs:m f:m7+
      | f1:m7.7+ | bf:7.9-.10-.11+.13-     | ef2. e4                | f2:m bf:7.9-.10-.11+.13-
      \bar "||"
      \break
      % chorus 7
      \mark \markup { \box "7" }
      | s4 ef2.:7 | af1:m       | r4 bf2:m7 ef4 | bf2:m7 ef4:7 e/ef
      | af1:m7.9  | af:m7.9     | ef2.:maj f4:m | ef2.:maj/g fs4:m
      | f1:m7     | bf:m7       | ef:7          | f2:m7 bf:7.9-.13-
      \bar "||"
      \break
      % chorus 8
      \mark \markup { \box "8" }
      | ef1       | af                     | ef:7   | bf4:m ef2.:7
      | af1:7     | af:7                   | g:m7   | fs:m7
      | f:m7.11   | bf2:sus4.13- e:maj7/bf | ef1    | f2:m7+ bf:7
      \bar "||"
    }
  }
}

\paper {
  #(set-paper-size "a4" 'landscape)
}

\score {
  \allchords
  \layout {
    \context {
      \Score
      \remove "Bar_number_engraver"
      proportionalNotationDuration = #(ly:make-moment 64/256)
      \override SpacingSpanner.uniform-stretching = ##t
      \override Score.SpacingSpanner.strict-note-spacing = ##t
    }
    indent = #0
  }
}
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to