lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Tables with borders (chords structure)


From: Jacques Menu Muzhic
Subject: Re: Tables with borders (chords structure)
Date: Wed, 6 Sep 2017 14:26:14 +0200

Hello Sylvain,

You might use something like the following, but I don’t think it’s possible to have boxes around the measures.

iRealPro is much used in jazz jams, but it won’t provide boxes either, see attached PNG.

HTH!

JM


%%%%%%%%%%%%%%%%


%% LilyPond file generated by Denemo version 1.1.9


\version "2.18.0"

\paper {
  #(define fonts
     (set-global-fonts
      #:music "lilyjazz"
      #:brace "lilyjazz"
      #:roman "lilyjazz-text"
      #:sans "lilyjazz-chord"
      #:factor (/ staff-height pt 20)
      ))
}

DenemoGlobalTranspose =
#(define-music-function (parser location arg)(ly:music?) #{\transpose c c #arg #})

AutoBarline = {}
AutoEndMovementBarline = \bar "|."

\defineBarLine "|-RepeatEndHorned" #'(":|]" "" "")

\defineBarLine ":|]-RepeatEnd" #'(":|]" "|" "")

\defineBarLine "[|:-RepeatStart" #'("||" "[|:" "")

\defineBarLine "||-Double" #'("||" "|" "")

\defineBarLine "|-Single" #'("|" "|" "")

\defineBarLine "|" #'("|" "|" "|")
\markup \teeny "v 2"BarRepeatEndHorned = \bar "|-RepeatEndHorned"
BarRepeatEnd = \bar ":|]-RepeatEnd"
BarRepeatStart = \bar "[|:-RepeatStart"
BarDouble = \bar "||-Double"
BarSingle = \bar "|-Single"
% The music follows

MvmntIVoiceI = {
  <c' e' gis' bes'>1 -\markup \super "+7"         <f' aes' ees''>1 -\markup \super {{\bold  "–"} "7"}         <c'' e'' gis''>1 -\markup \super \bold "+"         <c'' ees'' g''>1 -\markup \super \bold "–"%5
  <ees' d''>1  -\markup {\hspace #0.5 \super \override #'(thickness . 0.6) \scale #'(0.6 . 0.8)\triangle ##f }
}



\addQuote "Unnamed Mvmnt 1" \MvmntIVoiceI


MvmntIIVoiceI = {
  \BarSingle

  \once \override Score.RehearsalMark #'self-alignment-X = #center
  \mark \markup {
    \line\large{\bold \box \fontsize #6 A }
  }

  <f' aes' ees''>2 <bes' aes''>\AutoBarline
  <f' aes' ees''> <bes' aes''>\AutoBarline
  <ees' c''> <d' fis' ais' c''>\AutoBarline
  <ees' c''> <c'' e'' gis''>\AutoBarline
  %5
  <f' ees''>1\AutoBarline
  <f' aes' ees''>2 <bes' aes''>\AutoBarline
  <ees' d''>1\AutoBarline

  \set Score.repeatCommands = #'((volta ""))
  <> ^\markup\scale #'(1.5 . 1.5)\column{
    \line\large{1.}
  }
  <f' aes' ees''>2 <bes' aes''>

  \set Score.repeatCommands = #'((volta #f))
  \BarRepeatEndHorned
  \break
  \skip 1 \bar ""%10
  \skip 1 \bar ""
  \skip 1\AutoBarline

  \set Score.repeatCommands = #'((volta ""))
  <> ^\markup\scale #'(1.5 . 1.5)\column{
    \line\large{2.}
  } <bes' aes''>2 <ees' des''> \BarDouble  \break

  \set Score.repeatCommands = #'((volta #f))
  \once \override Score.RehearsalMark #'self-alignment-X = #center \mark \markup {
    \line\large{\bold \box \fontsize #6 B}
  }
  <aes' g''>1\AutoBarline
  <c'' bes''>\AutoBarline
  %15
  <f' aes' ees''>\AutoBarline
  <a' c'' ees'' ges''> \break
  <c'' ees'' g''>2 <aes' ges''>\AutoBarline
  <f' ees''>1\AutoBarline
  <bes' aes''>2 <bes' des'' fes'' aeses''>\AutoBarline
  %20
  <bes' aes''>1 \BarDouble
  \break

  \newSpacingSection
  \revert Score.SpacingSpanner.spacing-increment
  \once \override Score.RehearsalMark #'self-alignment-X = #center
  \mark \markup {
    \line\large{\bold \box \fontsize #6 "A2"}
  }

  <f' aes' ees''>2 <bes' aes''>\AutoBarline
  <f' aes' ees''> <bes' aes''>\AutoBarline
  <ees' c''> <d' fis' ais' c''>\AutoBarline
  <ees' c''> <c'' e'' gis''>\AutoBarline
  %25
  <f' ees''>1\AutoBarline
  <g' bes' f''>2 <c'' bes''>\AutoBarline

  \set Score.repeatCommands = #'((volta ""))

  <f' aes' ees''>2 <bes' aes''>\AutoBarline
  \once \override ChordName.extra-offset =#'(1 . -2) < \tweak  font-size #6 ees'  \tweak  font-size #6 c''>4
  \once \override ChordName.extra-offset =#'(1.5 . -2) < \tweak  font-size #6 bes' aes''>4
  \once \override ChordName.extra-offset =#'(2 . -2) < \tweak  font-size #6 bes' des'' aes''>4 ^\markup\scale #'(1.5 . 1.5)\column{
    \line\large{back to \bold \box A}
  }
  \tweak ChordName.extra-offset  #'(0.5 . -2) < \tweak  font-size #6 c'' bes''>4

  \set Score.repeatCommands = #'((volta #f))

  \bar "||" \break         \skip 1 \bar ""%30
  \skip 1 \bar ""         \skip 1\AutoBarline

  \set Score.repeatCommands = #'((volta ""))
  <> ^\markup\scale #'(1.5 . 1.5)\column{
    \line\large{last time}
  }
  <f' aes' ees''>2 <bes' aes''>\AutoBarline
  <ees' c''>1\AutoBarline
  <des' ces''>2 <ees' c''>

  \set Score.repeatCommands = #'((volta #f))
  \BarDouble
}


\addQuote "Unnamed Mvmnt 2" \MvmntIIVoiceI


%Default Score Layout

\header{DenemoLayoutName = "Default Score Layout"}

\header {
  tagline =
  \markup {"/home/rshann/musicScores/dom/As time goes by v 2.denemo" on \simple #(strftime "%x" (localtime (current-time)))}
  title =
  \markup { \with-url #'"scheme:(d-ScoreTitle)"  "As Time Goes By"}
}

\layout {indent = -7}

#(set-default-paper-size "a4")

%#(set-global-staff-size 24)
#(set-global-staff-size 20)

\paper {
  print-all-headers = ##t

  page-limit-inter-system-space = ##t
  page-limit-inter-system-space-factor = 1.2

  system-system-spacing.padding = #3
}

\void

\score {
  %Start of Movement
  <<

    <<
      \override Score.BarNumber.break-visibility = #end-of-line-invisible
      \set Score.barNumberVisibility = #(every-nth-bar-number-visible 10000)
      <<
        <<
          \set Score.proportionalNotationDuration = #(ly:make-moment 1/4)
          \set Score.bars-per-line-engraver = #'(4)
          %{ JMI
\layout {
            \set Score.bars-per-line-engraver '(4))
            }
        }
          %}

          <<
            %Start of Staff
            \new Staff = "Unnamed"  <<
              \set Staff.instrumentName = \markup {
                \with-url #'"scheme:(d-GoToPosition 1 1 1 1)(let ((choice (d-PopupMenu (list (cons (_ \"Change Name\") d-InstrumentName)   (cons (_ \"Change Indent\") d-ScoreIndent)))))
                    (if choice (choice)))    " \transparent {"Unnamed" }
              }
              \new Voice = "VoiceIMvmntI"  {
                \clef treble
                { \key c \major}
                { \time 4/4 }
                \MvmntIVoiceI
              } %End of voice

            >>
            %End of Staff

          >>
        >>
      >>
    >>
  >>

  \header {
    title = ##f
    instrument = ##f

  }

} %End of Movement

\score {
  %Start of Movement
  <<

    <<
      \override Score.BarNumber.break-visibility = #end-of-line-invisible
      \set Score.barNumberVisibility = #(every-nth-bar-number-visible 10000)
      <<
        <<
          \set Score.proportionalNotationDuration = #(ly:make-moment 1/4)

          <<
            \new ChordNames \with {
              chordNameExceptions = #(append
                                      (sequential-music-to-chord-exceptions MvmntIVoiceI #t)
                                      ignatzekExceptions)
              \consists "Bar_engraver"
              \consists "Script_engraver"
              \consists "Text_engraver"
              \consists "Time_signature_engraver"
              \consists "Multi_measure_rest_engraver"
              \override ChordName.font-size=#8
              \override ChordName.extra-offset = #'(0 . -2)
              \override BarLine.bar-extent = #'(-2 . 2)
              \override BarLine #'hair-thickness = #6
              \numericTimeSignature
            }


            \MvmntIIVoiceI
          >>
        >>
      >>
    >>
  >>

  \header {
    title = ##f
    instrument = ##f
    composer = \markup { \with-url #'"scheme:(d-GoToPosition 2 1 1 1)(d-MovementComposer)" "Herman Hupfeld"}
    subsubtitle = \markup { \with-url #'"scheme:(d-GoToPosition 2 1 1 1)(d-MovementSubtitle)" "in F"}

  }

  \layout {
    \set noChordSymbol = \markup \smaller \bold  "/"
  }

} %End of Movement

%%%%%%%%%%%%%




Le 6 sept. 2017 à 13:34, Johan Vromans <address@hidden> a écrit :

On Wed, 6 Sep 2017 11:33:56 +0200, Sylvain Brunerie
<address@hidden> wrote:

I want to generate a table showing the chords structure of a song or
instrumental tune in a simple way,

What you are looking for are the so-called "jazz grilles".

and I can't find how to do that using Lilypond.

LilyPond is not really suitable for this.

You may want to take a look at ChordPro 5.0 (https://www.chordpro.org) that
has basic support for grids.
https://github.com/sciurius/chordpro/wiki/Directives-env_grid

-- Johan
<Chinquapin_Hunting.pdf>_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user


reply via email to

[Prev in Thread] Current Thread [Next in Thread]