diff --git a/AllOfMe_test.ly b/AllOfMe_test.ly new file mode 100644 index 0000000..32b30df --- /dev/null +++ b/AllOfMe_test.ly @@ -0,0 +1,174 @@ +\version "2.18.2" +#(set-global-staff-size 18) +\include "jazzchords.ily" +\include "improviso.ily" +\include "jazzextras.ily" + +\paper { + #(set-paper-size "letter") +% paper-height = 11\in +% paper-width = 8.5\in + indent = 0\mm + between-system-space = 2.5\cm + between-system-padding = #0 + %%set to ##t if your score is less than one page: + ragged-last-bottom = ##f + ragged-bottom = ##f + markup-system-spacing = #'((basic-distance . 23) + (minimum-distance . 8) + (padding . 1)) +} + +title = #"All Of Me" +composer = #"-Simons & Marks" +meter = #" (Med. Swing)" + +realBookTitle = \markup { + \score { + { + \override TextScript.extra-offset = #'(0 . -4.5) + s4 + s^\markup { + \fill-line { + \fontsize #1 \lower #1 \rotate #7 \concat { " " #meter } + \fontsize #8 + \override #'(offset . 7) + \override #'(thickness . 6) + \underline \larger \larger #title + \fontsize #1 \lower #1 \concat { #composer " " } + } + } + s + } + \layout { + \omit Staff.Clef + \omit Staff.TimeSignature + \omit Staff.KeySignature + ragged-right = ##f + } + } +} + +\header { + title = \realBookTitle + tagline = ##f +} + +theNotes = \relative c' { + \set Staff.midiInstrument = "flute" + \key c \major + \showStartRepeatBar \bar "[|:" + \repeat "volta" 2 { + c'4 g8 e ~ e2 ~ + e2 \times 2/3 { c'4 d c } + b4 gis8 e ~ e2 ~ + e1 \break + a4. g8 e2 ~ + e4 dis e8 bes' a4 + g2 f2 ~ + f1 \break + e4. ees8 d2 ~ + d2 e8 gis c4 + d2 c2 ~ + c1 \break + b4. bes8 a2 ~ + a2 a8 d b4 + a1 + b1 \bar "||" \break + + c4 g8 e ~ e2 ~ + e2 \times 2/3 { c'4 d c } + b4 gis8 e ~e2 ~ + e1 \break + a4. g8 e2 ~ + e4 dis e8 bes' a4 + g2 f2 ~ + f1 \break + } + \alternative { + { + d'2 c4 b + d2. c4 + b2 e,4 g4 + b2. a4 \break + c2 a4 c + e2 e2 + c1 ~ + c1 \bar ":|][|:" \break + } + { + d2 c4 b + d2. c4 + b2 e,4 g4 + b2. a4 \break + c2 a4 c + e2 e2 + c1 + ~c1 + \bar ":|]" + } + } +} + +theChords = \chordmode { + \repeat "volta" 2 { + c1:maj c1:maj e:7 e:7 | + a:7 a:7 d:m7 d:m7 | + e:7 e:7 a:m7 a:m7 | + d:7 d:7 d:m7 g:7 | + c1:maj c1:maj e:7 e:7 | + a:7 a:7 d:m7 d:m7 | + } + \alternative { + { + f1 f:m c2:maj e:m7 a1:7 | + d:m7 g:7 c2:6 ees:dim d2:m7 g:7 | + } + { + f1 f:m c2:maj e:m7 a1:7 | + d:m7 g:7 c1:6 c1:6 | + } + } +} + +theWords = \lyricmode { + All of me + Why not take all of me + Can't you see + I'm no good with -- out you + + Take my lips + I want to lose them + Take my arms + I ne -- ver use them + + Your Good -- bye + Left me with eyes that cry + How can I go on dear with -- out you + + % first repeat + You took the part + That once was my heart + So why not take all of me + + % second repeat + You took the best + So why not take the rest + Ba -- by take all of me. +} + +\score { + << + \new ChordNames \theChords + \new Voice = soloist \theNotes + \new Lyrics \lyricsto soloist \theWords + >> + \layout { + \override Score.Clef #'break-visibility = #'#(#f #f #f) % make only the first clef visible + \override Score.KeySignature #'break-visibility = #'#(#f #f #f) % make only the first time signature visible + \override Score.SystemStartBar #'collapse-height = #1 % allow single-staff system bars + } + \midi { + \tempo 4 = 88 + } +} diff --git a/AllOfMe_test.pdf b/AllOfMe_test.pdf new file mode 100644 index 0000000..6e48ad3 Binary files /dev/null and b/AllOfMe_test.pdf differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..8fb3d17 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# improviso lyp package + +This is a packaging of the improviso font packages and the lilyjazz stylesheet for use with the `lyp` package manager. + +Most of the contents is just a rearrangement of Steve Lacy's (@slacy) https://github.com/OpenLilyPondFonts/improviso repository (which itself is based on [Abraham Lee](mailto:tisimst.lilypond@gmail.com)'s font and lilypond work) to conform to `lyp` packing standards. + +The only added files are: + +* `package.ly`, the `lyp` packaging root. +* `jazzchords_test.ly`, a test sheet for a wide variety of jazz chords. +* `morejazz.ily`, a number of tweaks to the chord name display, notably + * Using a triangle instead of "M" for major 7th chords. + * Adding a few more exotic chord combinations. + * Defining stacked alterations in a way that is more robust to font size variations. + +To restore the chord naming in the original package, add `\set chordNameExceptions = #JazzChords` in your file. diff --git a/dorothy_test.ly b/dorothy_test.ly new file mode 100644 index 0000000..df43bf8 --- /dev/null +++ b/dorothy_test.ly @@ -0,0 +1,103 @@ +\version "2.18.2" + +\include "improviso.ily" +\include "jazzchords.ily" +\language "english" + +\paper { + ragged-last-bottom = ##f +} + +\header { + title = \markup { \fontsize #3 Dorothy } + composer = \markup { \fontsize #1 Lou Donaldson } + tagline = \markup { \fontsize #1 (For \concat { E { \raise #0.5 \teeny \flat } } instruments.) } +} + +vib = \markup \left-align \musicglyph #"scripts.prallprall" + +harmony = \new ChordNames \with { + \override ChordName #'font-size = #0 +} \chordmode { + + e2:m7 a2:7 e2:m7 a2:7 fs:m7 b2:7 fs2:m7 b2:7 + e2:m7 a2:7 fs2:m7.5- b2:7 e2:m7 a2:7 d2.:maj7 fs8:m7 f8:m7 + + e2:m7 a2:7 e2:m7 a2:7 fs:m7 b2:7 fs2:m7 b2:7 + e2:m7 a2:7 fs2:m7.5- b2:7 e2:m7 a2:7 d1:maj7 + + d2:m7 g2:7 c2:maj7 a2:7 d2:m7 g2:7 c1:maj7 + fs2:m7 b2:7 e1:maj7 e2:m7 a2:7 d2:maj7 fs4:m7 f4:m7 + + e2:m7 a2:7 e2:m7 a2:7 fs:m7 b2:7 fs2:m7 b2:7 + e2:m7 a2:7 fs2:m7.5- b2:7 e2:m7 a2:7 d1:maj7 +} + +melody = \relative c'' { + + \clef treble + \key d \major + \time 4/4 + + \set Score.markFormatter = #format-mark-box-alphabet + + % A + \mark \default + fs8 fs8 fs8 g8 ds2^\vib | + r4 fs16 fs16 fs16 g16 ds8 e8 fs8 g8 | + gs4(^\vib gs16) gs16 gs16 a16 f2^\vib | + r4 gs16 gs16 gs16 a16 f4^\vib b4^\vib | \break + + fs4(^\vib fs16) fs16 fs16 g16 ds2^\vib | + e8 e8 e8 fs8 f2^\vib | + r8 b,8->\< cs8 d8-> e8 fs-> g8 a8->\! | + a2^\vib r4 \times 2/3 { r8 gs8 g8 } | \break + + % A (0:39) + \mark #1 + fs4( fs16) fs16 fs16 g16 ds2^\vib | + r4 fs16 fs16 fs16 g16 ds8 e8 fs8 g8 | + gs8. gs16 \times 2/3 { gs8 b8 a8 } f2^\vib | + r4 gs16 gs16 gs16 a16 f4^\vib b4^\vib | \break + + fs4(^\vib fs16) fs16 fs16 g16 ds2^\vib | + e8 e8 e8 fs8 f2^\vib | + r8 b,8->\< cs8 d8-> e8 fs-> g8 a8->\! | + a2^\vib r4. a16 gs16 \bar "||" \break + + % B (1:17) + \mark \default + \times 2/3 { g8 g8 g8 } g8.^\vib a16 g4(^\vib g8) g,16 a16 | \noBreak + b4(^\vib b16) b16 b16 e16 bf2^\vib | \noBreak + r8 fs16 g16 g'16 g16 g16 a16 g4^\vib g,16 g16 a16 a16 | \noBreak + b2^\vib r2 | \break + + b'4(^\vib b8) b16 b16 d4(^\vib d16) b16 as16 a16 | + gs2^\vib r4 gs8 gs8 | + a4(^\vib a8) a16 a16 c4(^\vib c8) a16 g16 | + fs4^\vib r4 gs4 g4 \bar "||" \break + + % A (1:36) + \mark #1 + fs4(^\vib fs16) fs16 fs16 g16 ds2^\vib | + r4 fs16 fs16 fs16 g16 ds16 ds16 e16 e16 fs16 fs16 g16 g16 | + gs4(^\vib gs16) gs16 gs16 a16 f2^\vib | + r4 gs16 gs16 gs16 a16 f4^\vib b4^\vib | \break + + fs4(^\vib fs16) fs16 fs16 g16 ds2^\vib | + e8 e8 e8 fs8 f2^\vib | + r8 b,8->\< cs8 d8-> e8 fs-> g8 a8->\! | + a2^\vib r2 | \break +} + +\score { + << + \new ChordNames { + \harmony + } + + \new Staff { + \melody + } + >> +} \ No newline at end of file diff --git a/dorothy_test.pdf b/dorothy_test.pdf new file mode 100644 index 0000000..2139087 Binary files /dev/null and b/dorothy_test.pdf differ diff --git a/FONTLOG.md b/fontlogs/FONTLOG.md similarity index 100% rename from FONTLOG.md rename to fontlogs/FONTLOG.md diff --git a/supplementary-fonts/PeaMissywithaMarker.otf b/fonts/PeaMissywithaMarker.otf similarity index 100% rename from supplementary-fonts/PeaMissywithaMarker.otf rename to fonts/PeaMissywithaMarker.otf diff --git a/supplementary-fonts/PermanentMarker.ttf b/fonts/PermanentMarker.ttf similarity index 100% rename from supplementary-fonts/PermanentMarker.ttf rename to fonts/PermanentMarker.ttf diff --git a/supplementary-fonts/Thickmarker.otf b/fonts/Thickmarker.otf similarity index 100% rename from supplementary-fonts/Thickmarker.otf rename to fonts/Thickmarker.otf diff --git a/otf/improviso-11.otf b/fonts/improviso-11.otf similarity index 100% rename from otf/improviso-11.otf rename to fonts/improviso-11.otf diff --git a/svg/improviso-11.svg b/fonts/improviso-11.svg similarity index 100% rename from svg/improviso-11.svg rename to fonts/improviso-11.svg diff --git a/svg/improviso-11.woff b/fonts/improviso-11.woff similarity index 100% rename from svg/improviso-11.woff rename to fonts/improviso-11.woff diff --git a/otf/improviso-13.otf b/fonts/improviso-13.otf similarity index 100% rename from otf/improviso-13.otf rename to fonts/improviso-13.otf diff --git a/svg/improviso-13.svg b/fonts/improviso-13.svg similarity index 100% rename from svg/improviso-13.svg rename to fonts/improviso-13.svg diff --git a/svg/improviso-13.woff b/fonts/improviso-13.woff similarity index 100% rename from svg/improviso-13.woff rename to fonts/improviso-13.woff diff --git a/otf/improviso-14.otf b/fonts/improviso-14.otf similarity index 100% rename from otf/improviso-14.otf rename to fonts/improviso-14.otf diff --git a/svg/improviso-14.svg b/fonts/improviso-14.svg similarity index 100% rename from svg/improviso-14.svg rename to fonts/improviso-14.svg diff --git a/svg/improviso-14.woff b/fonts/improviso-14.woff similarity index 100% rename from svg/improviso-14.woff rename to fonts/improviso-14.woff diff --git a/otf/improviso-16.otf b/fonts/improviso-16.otf similarity index 100% rename from otf/improviso-16.otf rename to fonts/improviso-16.otf diff --git a/svg/improviso-16.svg b/fonts/improviso-16.svg similarity index 100% rename from svg/improviso-16.svg rename to fonts/improviso-16.svg diff --git a/svg/improviso-16.woff b/fonts/improviso-16.woff similarity index 100% rename from svg/improviso-16.woff rename to fonts/improviso-16.woff diff --git a/otf/improviso-18.otf b/fonts/improviso-18.otf similarity index 100% rename from otf/improviso-18.otf rename to fonts/improviso-18.otf diff --git a/svg/improviso-18.svg b/fonts/improviso-18.svg similarity index 100% rename from svg/improviso-18.svg rename to fonts/improviso-18.svg diff --git a/svg/improviso-18.woff b/fonts/improviso-18.woff similarity index 100% rename from svg/improviso-18.woff rename to fonts/improviso-18.woff diff --git a/otf/improviso-20.otf b/fonts/improviso-20.otf similarity index 100% rename from otf/improviso-20.otf rename to fonts/improviso-20.otf diff --git a/svg/improviso-20.svg b/fonts/improviso-20.svg similarity index 100% rename from svg/improviso-20.svg rename to fonts/improviso-20.svg diff --git a/svg/improviso-20.woff b/fonts/improviso-20.woff similarity index 100% rename from svg/improviso-20.woff rename to fonts/improviso-20.woff diff --git a/otf/improviso-23.otf b/fonts/improviso-23.otf similarity index 100% rename from otf/improviso-23.otf rename to fonts/improviso-23.otf diff --git a/svg/improviso-23.svg b/fonts/improviso-23.svg similarity index 100% rename from svg/improviso-23.svg rename to fonts/improviso-23.svg diff --git a/svg/improviso-23.woff b/fonts/improviso-23.woff similarity index 100% rename from svg/improviso-23.woff rename to fonts/improviso-23.woff diff --git a/otf/improviso-26.otf b/fonts/improviso-26.otf similarity index 100% rename from otf/improviso-26.otf rename to fonts/improviso-26.otf diff --git a/svg/improviso-26.svg b/fonts/improviso-26.svg similarity index 100% rename from svg/improviso-26.svg rename to fonts/improviso-26.svg diff --git a/svg/improviso-26.woff b/fonts/improviso-26.woff similarity index 100% rename from svg/improviso-26.woff rename to fonts/improviso-26.woff diff --git a/otf/improviso-brace.otf b/fonts/improviso-brace.otf similarity index 100% rename from otf/improviso-brace.otf rename to fonts/improviso-brace.otf diff --git a/svg/improviso-brace.svg b/fonts/improviso-brace.svg similarity index 100% rename from svg/improviso-brace.svg rename to fonts/improviso-brace.svg diff --git a/svg/improviso-brace.woff b/fonts/improviso-brace.woff similarity index 100% rename from svg/improviso-brace.woff rename to fonts/improviso-brace.woff diff --git a/improviso.ily b/improviso.ily new file mode 100644 index 0000000..68b6ab4 --- /dev/null +++ b/improviso.ily @@ -0,0 +1,46 @@ +%%%% The stylesheet for IMPROVISO music font and PEAMISSYWITHAMARKER font +%%%% +%%%% In order for this to work, this file's directory needs to +%%%% be placed in LilyPond's path +%%%% +%%%% NOTE: If a change in the staff-size is needed, include +%%%% this file after it, like: +%%%% +%%%% #(set-global-staff-size 17) +%%%% \include "improviso.ily" +%%%% +%%%% Copyright (C) 2014-2016 Abraham Lee (tisimst.lilypond@gmail.com) + +\version "2.19.12" + +\paper { + #(define fonts + (set-global-fonts + #:music "improviso" + #:brace "improviso" + #:roman "thickmarker" + #:sans "permanentmarker" + #:factor (/ staff-height pt 20) + )) +} + +\layout { + \override Score.Hairpin.thickness = #2 + \override Score.Stem.thickness = #2 + \override Score.TupletBracket.thickness = #2 + \override Score.VoltaBracket.thickness = #2 + \override Score.SystemStartBar.thickness = #4 + \override StaffGroup.SystemStartBracket.padding = #0.25 + \override ChoirStaff.SystemStartBracket.padding = #0.25 + %\override Staff.Tie.thickness = #3 + \override Staff.Tie.line-thickness = #2 + \override Staff.Slur.thickness = #3 + \override Staff.PhrasingSlur.thickness = #3 + \override Staff.BarLine.hair-thickness = #4 + \override Staff.BarLine.thick-thickness = #8 + \override Staff.MultiMeasureRest.hair-thickness = #3 + \override Staff.MultiMeasureRestNumber.font-size = #2 + \override LyricHyphen.thickness = #3 + \override LyricExtender.thickness = #3 + \override PianoPedalBracket.thickness = #2 +} diff --git a/jazzchords.ily b/jazzchords.ily new file mode 100644 index 0000000..43bdfff --- /dev/null +++ b/jazzchords.ily @@ -0,0 +1,144 @@ +\version "2.19.12" + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Creating jazz-style chords +% Borrowed from Jean-Pierre's good work at: +% https://sites.google.com/site/jpgzic/home +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% modification of the procedure "chordRootNamer" +%---- Definition of chord alterations ------- +#(define (JazzChordNames pitch majmin) ;majmin is a required argument for "chordNamer", but not used here + (let* ((alt (ly:pitch-alteration pitch))) + (make-line-markup + (list + (make-simple-markup + (vector-ref #("C" "D" "E" "F" "G" "A" "B") + (ly:pitch-notename pitch))) + (if (= alt 0) ; alteration ? + (markup "") ; do nothing + (if (= alt FLAT) ; flat or sharp + (markup ">") + (markup "<") + ) + ) + ) + ) + ) +) + +%----- markup commands to make it easier to write chords ----- +%----- this section can be adapted as desired (I don't like "MI" and "MA", for example) +% for minor chords, use "acMin" to print a small "m" +#(define-markup-command (acMin layout props extension) (string?) + (interpret-markup layout props + (markup #:small "m" #:super extension))) + +% for major chords, use "acMaj" to print a small "M" +#(define-markup-command (acMaj layout props extension) (string?) + (interpret-markup layout props + (markup #:super "M" #:super extension))) + +% for chords with up to three alterations, stacked on top of each other +#(define-markup-command (acAlt layout props strA strB strC) (string? string? string?) + (interpret-markup layout props + (markup + #:super strA + #:fontsize 1.5 "[" + #:fontsize -4 + #:raise 1.2 + #:column (strB strC) + #:fontsize 1.5 "]" + ) + ) +) + +% modify the built-in "chordNameExceptions" +%----- change chord exceptions for jazz notation ----- +% +% degrés markup % écriture +JazzChordsList = { +% minor third chords - 3 notes + 1-\markup { \super "dim." } % :dim + -\markup { \acMin #"" } % :m + +% minor third chords - 4 notes + -\markup { \super "7dim" } % :dim7 + -\markup { \acMin #"aug" } % :m5+ (Ab/C) + -\markup { \acMin #"6" } % :m6 + -\markup { \acMin #"7 >5" } % :m7.5- + -\markup { \acMin #"7" } % :m7 + -\markup { \acMin #"7 <5" } % :m7.5+ + -\markup { \acMin #"M7" } % :m7+ + -\markup { \acMin #"add9" } % :m5.9 + +% minor third chords - 5+ notes + -\markup { \acMin #"6/9" } % :m6.9 + -\markup { \acMin #"7(>9)" } % :m7.9- + -\markup { \acMin #"9" } % :m9 + -\markup { \acMin #"9(>5)" } % :m9.5- + -\markup { \acMin #"9(M7)" } % :m9.7+ + -\markup { \acMin #"7(<9)" } % :m7.9+ + -\markup { \acMin #"7(add 11)" } % :m7.11 + -\markup { \acMin #"7(add 13)" } % :m7.13 + -\markup { \acMin #"11" } % :m11 + -\markup { \acMin #"11(>5)" } % :m11.5- + -\markup { \acMin #"13" } % :m13 + +% major third chords - 3 notes + -\markup { \super ">5" } % :5- + -\markup { \super "aug" } % :aug + +% major third chords - 4 notes + -\markup { + \super "6" + \hspace #-0.5 \raise #0.7 \tiny "/" + \hspace #-0.5 \tiny "9" + } % :6.9 +% special chords + -\markup { \super "7(Alt)" } % :c:8 + -\markup { \acMaj #"7" } % :maj + -\markup { \acMaj #"7>5" } % :maj.5- + -\markup { \acMaj #"7<5" } % :maj.5+ + + -\markup { \super "7(>5)" } % :7.5- + -\markup { \super "7(<5)" } % :7.5+ + -\markup { \super "add9" } % :5.9 + +% major third chords - 5+ notes + -\markup { \acMaj #"9" } % :maj9 + -\markup { \super "7(>9)" } % :9- + -\markup { \override #'(baseline-skip . 2) \acAlt #"7" #">9" #">5" } % :9-.5- + -\markup { \override #'(baseline-skip . 2) \acAlt #"7" #">9" #"<5" } % :9-.5+ + -\markup { \super "9(<11)" } % :9.11+ + -\markup { \super "7(<9)" } % :9+ + -\markup { \override #'(baseline-skip . 2) \acAlt #"7" #"<9" #">5" } % :9+.5- + -\markup { \override #'(baseline-skip . 2) \acAlt #"7" #"<9" #"<5" } % :9+.5+ + -\markup { \super "7(<11)" } % :7.11+ + -\markup { \super "7(>13)" } % :7.13- + -\markup { \acMaj #"11" } % :maj11 + -\markup { \acMaj #"13" } % :maj13 + -\markup { \super "13" } % :13 + -\markup { \super "13(>9)" } % :13.9- + +% sustained chords + -\markup { \super "sus2" } % :sus2 + -\markup { \super "sus" } % :sus4 + -\markup { \super "7sus" } % :sus4.7 + -\markup { \super "9sus" } % :sus4.7.9 + -\markup { \super "<9sus" } % :sus4.9+ +} + +% variable needed to use chord exceptions +JazzChords = #(append (sequential-music-to-chord-exceptions JazzChordsList #t) ignatzekExceptions) + +% modify the default ChordNames context +\layout { + \context { + \ChordNames + chordRootNamer = #JazzChordNames % update the chord names + chordNameExceptions = #JazzChords % update the chord exceptions + \override ChordName.font-name = #"lilyjazz-chord" % use the custom font for displaying the chords + } +} diff --git a/jazzchords_test.ly b/jazzchords_test.ly new file mode 100644 index 0000000..3abf041 --- /dev/null +++ b/jazzchords_test.ly @@ -0,0 +1,46 @@ +\version "2.19.2" +#(set-global-staff-size 20) +\require "improviso:." + +\paper { + #(set-paper-size "a4") + indent = 0\mm +} + +\header { + title = #"Jazz Chords" +} + +theChords = \chordmode { + c1 c1:6 c1:6.9 c1:9 c1:maj c1:maj7.13 \break + c1:maj9 c1:maj13 c1:7 c1:9 c1:13 c1:m \break + c1:m6 c1:m6.9 c1:m9^7 c1:m7 c1:m7.11 c1:m7.13 \break + c1:m9 c1:m11 c1:m13 c1:m7+ c1:m7+.9 c1:m7.5- \break + c1:m9.5- c1:m11.5- c1:dim c1:dim7 c1:aug c1:sus \break + c1:7.4^3 c1:9.4^3 c1:13.4^3 c:maj7.5- c1:maj7.5+ c1:maj7.11+ \break + c1:maj9.11+ c1:maj13.11+ c1:7.5- c1:9.5- c1:7.5+ c1:9.5+ \break + c1:7.9- c1:7.9+ c1:7.9-.5- c1:7.9+.5+ c1:7.9-.5+ c1:7.11+ \break + c1:9.11+ c1:7.11+.9- c1:7.11+.9+ c1:13.5- c1:13.9- c1:13.11+ \break + c1:sus4.7.9- c1:sus4.13.9-.7 c'1/e c'1/g e1/c + + \pageBreak \set chordNameExceptions = #JazzChords + + c1 c1:6 c1:6.9 c1:9 c1:maj c1:maj7.13 \break + c1:maj9 c1:maj13 c1:7 c1:9 c1:13 c1:m \break + c1:m6 c1:m6.9 c1:m9^7 c1:m7 c1:m7.11 c1:m7.13 \break + c1:m9 c1:m11 c1:m13 c1:m7+ c1:m7+.9 c1:m7.5- \break + c1:m9.5- c1:m11.5- c1:dim c1:dim7 c1:aug c1:sus \break + c1:7.4^3 c1:9.4^3 c1:13.4^3 c:maj7.5- c1:maj7.5+ c1:maj7.11+ \break + c1:maj9.11+ c1:maj13.11+ c1:7.5- c1:9.5- c1:7.5+ c1:9.5+ \break + c1:7.9- c1:7.9+ c1:7.9-.5- c1:7.9+.5+ c1:7.9-.5+ c1:7.11+ \break + c1:9.11+ c1:7.11+.9- c1:7.11+.9+ c1:13.5- c1:13.9- c1:13.11+ \break + c1:sus4.7.9- c1:sus4.13.9-.7 c'1/e c'1/g e1/c +} + +\score { + << + \override Score.ChordName #'font-size = #3.000000 + \new ChordNames \theChords + \new Voice \theChords + >> +} diff --git a/jazzchords_test.pdf b/jazzchords_test.pdf new file mode 100644 index 0000000..219c623 Binary files /dev/null and b/jazzchords_test.pdf differ diff --git a/jazzextras.ily b/jazzextras.ily new file mode 100644 index 0000000..7968d7b --- /dev/null +++ b/jazzextras.ily @@ -0,0 +1,42 @@ +% Extra Jazz-related commands that aren't specific to any font + +\version "2.19.12" + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Start with a repeat Barline +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +showStartRepeatBar = { + \once \override Score.BreakAlignment.break-align-orders = + #(make-vector 3 '(instrument-name + left-edge + ambitus + breathing-sign + clef + key-signature + time-signature + staff-bar + custos)) + \once \override Staff.TimeSignature.space-alist = + #'((first-note . (fixed-space . 2.0)) + (right-edge . (extra-space . 0.5)) + ;; free up some space between time signature + ;; and repeat bar line + (staff-bar . (extra-space . 1))) +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Creating jazz-style repeats +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%=> http://lsr.di.unimi.it/LSR/Item?id=753 +#(define (white-under grob) (grob-interpret-markup grob + (markup #:vcenter #:whiteout #:pad-x 1 (ly:grob-property grob 'text)))) + +inlineMMR = { + \once \override MultiMeasureRest.layer = #-2 + \once \override MultiMeasureRestNumber.layer = #-1 + \once \override MultiMeasureRestNumber.Y-offset = #0 + \once \override MultiMeasureRestNumber.stencil = #white-under + \once \override MultiMeasureRest.rotation = #'(2 0 0) +} diff --git a/morejazz.ily b/morejazz.ily new file mode 100644 index 0000000..a0d27bf --- /dev/null +++ b/morejazz.ily @@ -0,0 +1,83 @@ +#(define-markup-command (acMin layout props extension) (string?) + (interpret-markup layout props + (markup #:fontsize -2 "m" #:super extension))) + +#(define-markup-command (acMaj layout props extension) (string?) + (interpret-markup layout props + (markup #:super "^" #:super extension))) + +#(define-markup-command (acAlt layout props strA strB strC) (string? string? string?) + (interpret-markup layout props + (markup + #:super strA + #:fontsize 1.5 "[" + #:fontsize -4 + #:translate-scaled (cons 0 2.5) + (#:column (strB strC)) + #:fontsize 1.5 "]" + ) + ) +) + +MoreJazzChordsList = { +% Use dim7, not 7dim + 1-\markup { \super "dim" } % :dim + -\markup { \super "dim7" } % :dim7 +% Use 7(#5) not 7 #5 + -\markup { \acMin #"7(>5)" } % :m7.5- + -\markup { \acMin #"7(<5)" } % :m7.5+ +% Use scalable m in acMin + -\markup { \acMin #"" } % :m + -\markup { \acMin #"aug" } % :m5+ (Ab/C) + -\markup { \acMin #"6" } % :m6 + -\markup { \acMin #"7" } % :m7 + -\markup { \acMin #"add9" } % :m5.9 + -\markup { \acMin #"6/9" } % :m6.9 + -\markup { \acMin #"7(>9)" } % :m7.9- + -\markup { \acMin #"9" } % :m9 + -\markup { \acMin #"9(>5)" } % :m9.5- + -\markup { \acMin #"9(M7)" } % :m9.7+ + -\markup { \acMin #"7(<9)" } % :m7.9+ + -\markup { \acMin #"7(add 11)" } % :m7.11 + -\markup { \acMin #"7(add 13)" } % :m7.13 + -\markup { \acMin #"11" } % :m11 + -\markup { \acMin #"11(>5)" } % :m11.5- + -\markup { \acMin #"13" } % :m13 +% Use a triangle to represent Maj7 chords, not capital M + -\markup { \acMaj #"" } % :maj + -\markup { \acMaj #"7(>5)" } % :maj.5- + -\markup { \acMaj #"7(<5)" } % :maj.5+ + -\markup { \acMaj #"(add 13)" } % :maj13 + -\markup { \acMaj #"9" } % :maj9 + -\markup { \acMaj #"11" } % :maj11 + -\markup { \acMaj #"9(<11)" } % :maj9.11+ + -\markup { \acMaj #"13" } % :maj13 + -\markup { \acMaj #"13(<11)" } % :maj13.11+ + -\markup { \acMin #"^" } % :m7+ + -\markup { \acMin #"^9" } % :m9.7+ +% More major third chords + -\markup { \super "6/9" } % :6.9 + -\markup { \super "9(>5)" } % :9.5- + -\markup { \super "13(>5)" } % :13.5- + -\markup { \super "13(<11)" } % :13.11+ + -\markup { \super "9(<5)" } % :9.5+ + -\markup { \override #'(baseline-skip . 2) \acAlt #"7" #"<11" #">9" } % :9-.11- + -\markup { \override #'(baseline-skip . 2) \acAlt #"7" #"<11" #"<9" } % :9-.11+ +% More sus chords + -\markup { \super "13sus" } % :sus4.13.9.7 + -\markup { \super "7sus(>9)" } % :sus4.7.9- + -\markup { \super "13sus(>9)" } % :sus4.13.9-.7 +% Tweaked multi-alteration chords + -\markup { \override #'(baseline-skip . 2) \acAlt #"7" #">9" #">5" } % :9-.5- + -\markup { \override #'(baseline-skip . 2) \acAlt #"7" #">9" #"<5" } % :9-.5+ + -\markup { \override #'(baseline-skip . 2) \acAlt #"7" #"<9" #">5" } % :9+.5- + -\markup { \override #'(baseline-skip . 2) \acAlt #"7" #"<9" #"<5" } % :9+.5+ +} +MoreJazzChords = #(append (sequential-music-to-chord-exceptions MoreJazzChordsList #t) JazzChords) + +\layout { + \context { + \ChordNames + chordNameExceptions = #MoreJazzChords % update the chord exceptions + } +} diff --git a/package.ly b/package.ly new file mode 100644 index 0000000..3042268 --- /dev/null +++ b/package.ly @@ -0,0 +1,4 @@ +\pinclude "jazzchords.ily" +\pinclude "jazzextras.ily" +\pinclude "improviso.ily" +\pinclude "morejazz.ily"