lilypond-user
[Top][All Lists]
Advanced

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

Re: setting fretboard diagrams at the top of the page


From: Mr Tim
Subject: Re: setting fretboard diagrams at the top of the page
Date: Sat, 19 Jan 2019 17:52:15 -0500

Oops, forgot to include the community.

On Sat, Jan 19, 2019 at 5:51 PM Mr Tim <address@hidden> wrote:
This is fantastic.  I just changed how I do my chords.  I used to have "invisible" staff, notes, etc to do this.  This is very helpful.  I actually put all the "define" stuff in a separate file with definitions of all the different chords I have used so far for all my songs.  Then I include it in my typset file and put the "name-and-fret-markup" lines there for just the chords I need for that song.  

Thanks!

On Thu, Jan 17, 2019 at 2:35 PM Carl Sorensen <address@hidden> wrote:
Hi Evan,

Welcome to LilyPond!

On 1/15/19, 11:10 AM, "Evan Levine" <address@hidden> wrote:

    Good afternoon! I've got a few things I'm brewing right now, but the
    most pressing is that I'm looking to set all of the chord diagrams for a
    lead sheet at the top of the page under the title, and modify the
    spacing of the diagrams to be centered on the page and have padding
    between each diagram.

The key here, in my opinion, is to set the fret diagrams as markups, rather than as music.   

    Thanks so much! Here's my code:

Great job on providing a small example!  That was helpful to see what you intended.

The only problem with the example is that it wouldn't completely compile, because the music and lyrics were missing.  It's much easier if you provide those.


    Please forgive me for any oversight of the protocol here, as this is my
    first interaction with the mailing list.

The only oversight I see is that you put your mail at the top of another unrelated post.  Please don't post your reply to the top of a full post, and when you start a new thread, don't do it by replying to a previous post. 

With that said, here's how I'd attack your problem.  I've created some markup functions to allow you to have control over size, spacing, etc.

%%%% Beginning of sample code

\version "2.19.82"

\header {
  title = "Steven Universe Theme"
  composer = "Rebecca Sugar, Aivi & Surasshu"
  tagline = ##t
}

#(define chord-name-fontsize 6)
#(define name-fretboard-separation .75)
#(define different-separation 8)
#(define same-separation 2)
#(define or-vspace 1.75)

#(define fret-formatting "s:2.2;w:4;h:3;d:0.37;f:1;")

#(define c-fret "4-x;3-4-2;2-3-2;1-x;")
#(define e-one-fret "c:4-2-4;4-4-3;3-4-3;2-4-3;1-x;")
#(define e-two-fret "4-x;3-4-2;2-4-3;1-2-1;")
#(define f-fret "4-x;3-5-2;2-5-3;1-3-1;")
#(define fm-fret "4-x;3-5-2;2-4-3;1-3-1;")

#(define-markup-command  (chord-name-markup layout props chord-name)
   (markup?)
   "Display a chord name in the desired formatting"
   (interpret-markup layout props
    #{ \markup \sans \fontsize #chord-name-fontsize $chord-name #} ))

#(define-markup-command (name-and-fret-markup layout props chord-name fret-diagram)
   (markup? markup?)
   "Display a chord name and fretboard as stacked markups separated by name-fretboard-separation"
   (interpret-markup layout props
     #{ \markup \center-column {
                          \chord-name-markup $chord-name
                          \vspace #name-fretboard-separation
                          $fret-diagram
        }
     #}))

 #(define-markup-command (or-markup layout props or-text)
   (markup?)
   "Display a separator between alternative fretboards"
   (interpret-markup layout props
     #{ \markup \center-column {
                          \vspace #or-vspace
                          \chord-name-markup $or-text
        }
     #}))

\markup \line {
  \name-and-fret-markup "C"  \fret-diagram #(string-append fret-formatting c-fret)
  \hspace #different-separation
  \center-column {
    \name-and-fret-markup "E" \line {
      \fret-diagram #(string-append fret-formatting e-one-fret)
      \hspace #same-separation
      \or-markup "or"
      \hspace #same-separation
      \fret-diagram#(string-append fret-formatting e-two-fret)
      \hspace #same-separation
      \or-markup "or"
      \hspace #same-separation
      \fret-diagram#(string-append fret-formatting e-two-fret)
    }
  }
  \hspace #different-separation
  \name-and-fret-markup "F"  \fret-diagram #(string-append fret-formatting f-fret)
  \hspace #different-separation
  \center-column {
    \name-and-fret-markup "Fm"  \fret-diagram #(string-append fret-formatting fm-fret)
  }

}


\score {
  <<
    \new ChordNames {
      c1 e f c f
    }
  \new Staff {
    \new Voice = "melody" {
    \repeat unfold 5 {c'4 d' e' f'}
    }
  }
    \new Lyrics {
      \lyricsto "melody" {
      \repeat unfold 5 {tra la la la }
      }
    }
  >>
}

%%%% end of sample code

HTH,

Carl


_______________________________________________
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]