%#(use-modules (guile-user))

%{
  #{ \include "file_with_\paper_block.ly" #} does not work
  so we define some wariables to be used in \paper block below
  as a workaround
%}

% default is A4
#(begin
  (define paper-width   210)
  (define paper-height  290)
  (define left-margin    10)
  (define line-width    190)
  (define indent         10.0)
  (set-global-staff-size 16)

  (ly:set-option (quote no-point-and-click))
  ;(define version-seen #t)
)

% alternative is choirbook format when to be included in latex documents
#(if (eq? 'eps (ly:get-option 'backend))
  (begin
   (set! paper-width     190)
   (set! paper-height    270)
   (set! left-margin      15)
   (set! line-width      153)
   (set-global-staff-size 12)

   ;; Theese are from "lilypond-book-preamble.ly" but
   ;; doing #{ \include "lilypond-book-preamble.ly" #} does not work

   (define default-toplevel-book-handler print-book-with-defaults-as-systems)

   ;(define toplevel-book-handler
   ; (lambda ( . rest) (set! output-empty-score-list #f) (apply print-book-with-defaults rest)))

   ;(define toplevel-music-handler
   ; (lambda ( . rest) (apply collect-music-for-book rest)))

   ;(define toplevel-score-handler
   ; (lambda ( . rest) (apply collect-scores-for-book rest)))

   ;(define toplevel-text-handler
   ; (lambda ( . rest) (apply collect-scores-for-book rest)))

   ;(set! output-empty-score-list #t)
   ;(define inside-lilypond-book #t)
 )
)

\paper {
  paper-width = #(* paper-width mm)
  paper-height = #(* paper-height mm)
  left-margin = #(* left-margin mm)
  line-width = #(* line-width mm)
  indent = #(* indent mm)
  ragged-bottom = ##t
}
\header {
  tagline = ""
}

Moff = { \set ignoreMelismata = ##t }
Mon  = { \set ignoreMelismata = ##f }
mel = \markup { \italic { Mel. } }
at  = \markup { \italic { a tempo } }
osv = \lyricmode {
  \override LyricText #'font-shape = #'italic
  osv.
  \revert LyricText #'font-shape
}

railroad = {
  \once\override Score.BreathingSign #'text =
  #(make-musicglyph-markup "scripts.caesura.curved")
%\override BreathingSign #'text = #(make-musicglyph-markup "scripts.caesura.straight")
  \breathe
}

#(define version-seen #t)
#(ly:set-option (quote no-point-and-click))
clefcs = { \clef treble }
clefca = { \clef treble }
clefct = { \clef "treble_8" }
clefcb = { \clef bass }

ss = {
  \override Score.BarNumber #'break-visibility = #end-of-line-invisible
  \override Score.BarNumber #'padding = #2
  \override Score.BarNumber #'self-alignment-X = #-1
%  \override Score.BarNumber #'self-alignment-X = #left

  \override Score.RehearsalMark #'padding = #5
  \override Score.RehearsalMark #'self-alignment-X = #-1
%  \override Score.RehearsalMark #'self-alignment-X = #left

%  \set Score.defaultBarType = ":"
%  \override Score.RehearsalMark  #'print-function = #(make-stencil-boxer 0.15 0.3 0.3 Text_interface::print)
%  \set Score.markFormatter = #format-mark-letters
%  \set Score.markFormatter = #format-mark-numbers
%  \override Score.TimeSignature #'style = #'()
%  \set Score.skipBars = ##t
%  #(override-auto-beam-setting '(end * * 2 2) 1 4 'Score)
%  #(override-auto-beam-setting '(end * * 3 4) 1 4 'Score)
%  #(override-auto-beam-setting '(end * * 3 4) 2 4 'Score)
%  #(override-auto-beam-setting '(end * * 3 4) 3 4 'Score)
%  #(override-auto-beam-setting '(end * * 4 4) 1 4 'Score)
%  #(override-auto-beam-setting '(end * * 3 8) 3 8 'Score)

%  #(override-auto-beam-setting '(end * * 12 8) 3 8 'Score)

%  \set tupletSpannerDuration = #(ly:make-moment 1 4)
%  \override Script #'inside-slur = ##t

  \set Score.printKeyCancellation = ##f

%  \override Score.DynamicText #'inside-slur = ##f
%  \override Staff.DynamicText #'slur-padding = #10.0
%  \override Score.DynamicText #'self-alignment-Y = #1
}

so = {
  \override Score.BarNumber #'break-visibility = #all-invisible
%  \override Score.RehearsalMark #'self-alignment-X = #left
%  #(override-auto-beam-setting '(end * * 3 4) 1 4 'Score)
%  #(override-auto-beam-setting '(end * * 3 4) 2 4 'Score)
%  #(override-auto-beam-setting '(end * * 3 4) 3 4 'Score)

%  #(override-auto-beam-setting '(end * * 4 4) 1 4 'Score)
%  #(override-auto-beam-setting '(end * * 4 4) 2 4 'Score)
%  #(override-auto-beam-setting '(end * * 4 4) 3 4 'Score)
  \set Score.printKeyCancellation = ##f
}

lcl = {
  \set tupletSpannerDuration = #(ly:make-moment 1 4)
%  #(override-auto-beam-setting '(end * * 4 4) 1 4 'Score)
%  #(override-auto-beam-setting '(end * * 4 4) 2 4 'Score)
%  #(override-auto-beam-setting '(end * * 4 4) 3 4 'Score)
%  #(override-auto-beam-setting '(end * * 4 4) 4 4 'Score)
}
