\version "2.14.0"

#(define (myChordNames  pitch lowercase?)

   (define (pitch-alteration-semitones pitch)
     (inexact->exact (round (* (ly:pitch-alteration pitch) 2))))
     
   (define (conditional-kern-before markup bool amount)
     (if bool
         (make-line-markup
          (list (make-hspace-markup amount)
          markup))
         markup))
      
   (define (accidental->markup alteration)
     (if (= alteration 0)
         (make-line-markup (list empty-markup))
         (conditional-kern-before
          (alteration->text-accidental-markup alteration)
          (= alteration FLAT) 0.2)))
     
   (let* ((name (ly:pitch-notename pitch))
          (alt-semitones  (pitch-alteration-semitones pitch))
          (n-a (cons name alt-semitones)))
     (make-line-markup
      (list
       (make-simple-markup
         (vector-ref #("C" "D" "E" "F" "G" "A" "B") (car n-a)))
         (make-hspace-markup 0.1)
         (make-fontsize-markup -3
         (make-raise-markup 1
         (accidental->markup (/ (cdr n-a) 2))))))))
         
myChords = {
  \set chordRootNamer = #myChordNames
  \set chordChanges = ##t
}


\layout {
            \context {
            	    \Lyrics
            	      %\override LyricText #'extra-offset = #'(0 . 0.9)
            	      \override LyricText #'font-size = #'-0.1
            	      %\override LyricHyphen #'extra-offset = #'(0 . 0.7)
            	      %\override LyricExtender #'extra-offset = #'(0 . 0.7)
            }
            \context {
            	    \ChordNames
            	      \override ChordName #'extra-offset = #'(0 . 0.7)
            	      %\override ChordName #'font-size = #'-1
            	     
            }
            \context {
                \Score
                   \override SpacingSpanner
                   #'base-shortest-duration = #(ly:make-moment 1 16)
%                   \remove "Volta_engraver"
                   
             }
}


\paper {
 page-breaking = #ly:optimal-breaking
 print-page-number = ##t
% ragged-bottom = ##t
 print-first-page-number = ##t
 oddHeaderMarkup = \markup \null
 evenHeaderMarkup = \markup \null
 oddFooterMarkup = \markup \bold {
  \fill-line {
  %  \fontsize #'2 
    \on-the-fly #print-page-number-check-first
    \fromproperty #'page:page-number-string
  }
 }
 evenFooterMarkup = \oddFooterMarkup
 tagline = \markup \fontsize #-3.5 {"Paul G. Janzen - 2011 | made with www.lilypond.org"}
 print-all-headers = ##t
 #(set-paper-size "a4")
 
 
%%% Vertical spacings
 markup-system-spacing = 
   #'((basic-distance . 16)
    (minimum-distance . 12)
    (padding . 2)
    (stretchability . 6))
    
   markup-markup-spacing = 
   #'((basic-distance . 12)
    (minimum-distance . 6)
    (padding . 2)
    (stretchability . 4)) 
    
 system-system-spacing =
   #'((basic-distance . 14)
    (minimum-distance . 8)
    (padding . 3)
    (stretchability . 6))
    
 score-markup-spacing =
  #'((basic-distance . 18)
    (minimum-distance . 12)
    (padding . 2)
    (stretchability . 6))
    
%%%    Margins
  top-margin = 15\mm
 bottom-margin = 15\mm
 left-margin = 20\mm
 line-width = 170\mm
 #(define fonts (make-pango-font-tree "Calibri" "Cambria" "Droid Mono" (/ 18 18)))

%%%   Table of Contents definitions

#(define-markup-command (paper-prop layout props name default)
  (symbol? markup?)
  "Get the value of a \\paper property, or defaults to some value"
  (let ((val (ly:output-def-lookup layout name)))
    (interpret-markup layout props (if (markup? val)
                                      val
                                      default))))

 tocTitleMarkup = \markup \bold \column {
  \fontsize #6 \fill-line { \paper-prop #'tocTitle "INHALTSVERZEICHNIS" }
  \vspace #2
  }
 tocItemMarkup = \markup \large \tocItemWithDotsMarkup 
 
} %%% paper closing




cross = { \override Staff.NoteHead  #'style = #'cross }
  
normal = {
  \override Staff.NoteHead  #'style = #'default
  }

fine = { 
 \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible
 \override Score.RehearsalMark #'self-alignment-X = #RIGHT
 \override Score.RehearsalMark #'font-size = #-2
\mark "Fine" } 

dcaf = { 
 \override Score.RehearsalMark #'break-visibility = #end-of-line-visible
 \override Score.RehearsalMark #'self-alignment-X = #RIGHT
 \override Score.RehearsalMark #'font-size = #-2
\mark "D.C. al Fine" } 

dcafc = { \mark \markup { \center-column { "D.C." "al Fine" } } }

kanon = #(define-music-function (parser location hAlign mrkp) (number? string?)
	(make-music
	 'TextScriptEvent
	 'text
	 (markup 
	   (#:override (cons 'circle-padding 0.5)
	    #:halign hAlign
	    #:circle
	        mrkp))
	 ))

empty = \markup { }

tm = "Text u. Melodie: "
mb = "Margret Birkenfeld"
pvw = "Peter van Woerden"
ms = "Manfred Siebald"
mu = "mündlich überliefert"
ns = "Negro Spiritual"



% wenn es nicht anders geht, kann man dann den Text mir folgenden code verschieben
%   \once\override Score.RehearsalMark #'extra-offset = #'(1 . 0)   \dcaf



