veltzer / openbook

OpenBook is an open source Jazz real book
https://veltzer.github.io/openbook/
GNU General Public License v3.0
281 stars 44 forks source link

Special rendering for LinnStrument #107

Open ad-si opened 4 years ago

ad-si commented 4 years ago

I'm working on an adaption of the OpenBook where I render the sheet-music especially for the LinnStrument. Which looks like this:

image

Are you interested to include this here, or shall I simply crate a separate repository?

veltzer commented 4 years ago

Just add another section called "LinnStrument" to the song (blue_bossa.ly.mako), send me a commit request and I will take care of rendering a special version of the book for LynnStrument and publish instructions about to render that version instead of the regular version.

ad-si commented 4 years ago

Cool, but I'm not quite sure how you want it structured. Maybe you can help me for the first one? This is a plain LilyPond version that looks good:

\version "2.20.0"

\header {
  title = "Blue Bossa"
  composer = "Kenny Dorham"
  enteredby = "Adrian Sieber"
  head = "LinnStrument"
}

linnstrument-fourths = \stringTuning <f,, bes,, ees, aes, des ges b e'>

melody = \relative g {
  \time 4/4
  \key ees \major

  r4 r4 r4 g,4 \bar ".|:" g'4. f8 ees d4 c8~ | c2. bes4 | aes2 g'4. f8~ | f1 |
  f4. ees 8 d c4 bes8~ | bes2. aes4 | g2 f'4. ees8~ | ees1 |
  ees4. des8 c bes4 aes8~ | aes2. ges4 |
  ges f8 bes ~ bes4 aes8 aes8~ | aes2. r4 |
  aes4 g8 bes8 ~ bes4. aes8 | aes4 g8 bes~ bes4. aes8 | g1~ | g2. r4 \bar ":|."
}

chord_progression = \chords {
  r1 | c1*2:m7 | f1*2:m7 |
  d1:m7.5- | g:7 | c1*2:m7 |
  ees1:m7 | aes:7 | des1*2:maj |
  d1:m7.5- | g:7 | c1:m7 | d2:m7.5- g:7
}

\paper {
  system-system-spacing = #'((basic-distance . 22))
  markup-system-spacing = #'((basic-distance . 22))
}

\score {
  \layout {
    indent = 3\cm
    #(layout-set-staff-size 25)
  }

  <<
  \chord_progression
  {
    \new TabStaff \with {
      instrumentName = #"LinnStrument"
    }
    {
      \tabFullNotation
      \set TabStaff.stringTunings = #linnstrument-fourths
      % No open strings on Linnstrument, first pad is fret 1
      \set TabStaff.minimumFret = #1
      \set TabStaff.restrainOpenStrings = ##t
      \melody
    }
  }
  >>
}
veltzer commented 4 years ago

Ok. A few questions.

  1. With what I understand from this example is that linnstrument in lilypond does not require it's own section or notation. Just the regular melody and telling lilypond with a few special instructions to layout tabs for linnstrument. Is my understanding correct?
  2. If (1) is correct then I don't need from you anything except this example since I have 151 tunes already entered in the project. I just need to add an option to render everything for linnstrument.
  3. My version of lilypond is 2.18.2. I have not tested on 2.20.0 (the version you use in the example). Does 2.18.2 have support for linnstrument or do I need to first move the project to 2.20.0?
ad-si commented 4 years ago
  1. Yeah, I think you're right. I was actually a little surprised that no special adaptions where needed, but I won't complain 😁
  2. This would be amazing 🤩
  3. I just read through all the changes from 2.18 to 2.20 and didn't see any dealbreaker, so I guess it should be fine.

Thanks for your help!

veltzer commented 4 years ago

Thanks. Just added it to the todo file. Will work on it. Not closing until this is done. This is the same as adding guitar tabs I assume so I will try and do them together.

ad-si commented 4 years ago

This is the same as adding guitar tabs I assume

Yes, pretty much!

so I will try and do them together

Good idea 👍

veltzer commented 4 years ago

working on it.

ad-si commented 4 years ago

How's the progress on this? Let me know if you need any help!

veltzer commented 4 years ago

Still working on it....