X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fdeclarations-init.ly;h=5ce305aa5cc8e9603bff4d88e4046a16f3b8bc93;hb=8659a99f233f5c4684292728e7ad4206669b35b0;hp=1e47fb9e657b85ee56f71a8a5dcf32c5f240f682;hpb=d519250e6ba979578b1bc9406dcd70576f5652d5;p=lilypond.git diff --git a/ly/declarations-init.ly b/ly/declarations-init.ly index 1e47fb9e65..5ce305aa5c 100644 --- a/ly/declarations-init.ly +++ b/ly/declarations-init.ly @@ -1,136 +1,160 @@ -#(ly:set-option 'old-relative) - -\version "2.3.2" +%%%% This file is part of LilyPond, the GNU music typesetter. +%%%% +%%%% Copyright (C) 1996--2015 Han-Wen Nienhuys +%%%% Jan Nieuwenhuizen +%%%% +%%%% LilyPond is free software: you can redistribute it and/or modify +%%%% it under the terms of the GNU General Public License as published by +%%%% the Free Software Foundation, either version 3 of the License, or +%%%% (at your option) any later version. +%%%% +%%%% LilyPond is distributed in the hope that it will be useful, +%%%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%%%% GNU General Public License for more details. +%%%% +%%%% You should have received a copy of the GNU General Public License +%%%% along with LilyPond. If not, see . + +\version "2.19.22" + +%% named durations breve = #(ly:make-duration -1 0) -longa = #(ly:make-duration -2 0 ) +longa = #(ly:make-duration -2 0) maxima = #(ly:make-duration -3 0) \include "music-functions-init.ly" -\include "nederlands.ly" % dutch -\include "drumpitch-init.ly" -\include "chord-modifiers-init.ly" -\include "script-init.ly" +\include "toc-init.ly" -% declarations for standard directions -left = -1 -right = 1 -up = 1 -down = -1 -start = -1 -stop = 1 -smaller = -1 -bigger = 1 -center=0 +%% default note names are dutch +#(set! default-language "nederlands") +#(note-names-language default-language) -%{ +\include "drumpitch-init.ly" +\include "chord-modifiers-init.ly" +\include "script-init.ly" -should also set allowBeamBreak, but how to do it "portably"? (ie. also -working with lyric sections) +\include "chord-repetition-init.ly" -%} +#(define default-fret-table (make-hash-table 101)) +#(define chord-shape-table (make-hash-table 29)) +#(call-after-session + (lambda () + (hash-clear! default-fret-table) + (hash-clear! chord-shape-table))) -%% rather name \newline, \newpage ? -break = #(make-event-chord (list (make-penalty-music -10001 0))) -noBreak = #(make-event-chord (list (make-penalty-music 10001 0))) -pagebreak = #(make-event-chord (list (make-penalty-music -10001 -10001))) -noPagebreak = #(make-event-chord (list (make-penalty-music 0 10001))) +% declarations for standard directions +left = #-1 +right = #1 +up = #1 +down = #-1 +start = #-1 +stop = #1 +smaller = #-1 +bigger = #1 +center = #0 + +%% FIXME +%% should also set \override Beam.breakable, but how to do it "portably"? (ie. also +%% working with lyric sections) +%% +%% try \once \override Score.Beam.breakable = ##t + +%% rather name \newline, \pageBreak ? +break = #(make-music 'LineBreakEvent 'break-permission 'force) +noBreak = #(make-music 'LineBreakEvent 'break-permission '()) +%% \pageBreak, \noPageBreak, \pageTurn, \noPageTurn, \allowPageTurn are defined +%% as music functions + +stopStaff = #(make-span-event 'StaffSpanEvent STOP) +startStaff = #(make-span-event 'StaffSpanEvent START) + + +% +% Code articulation definitions +% +noBeam = #(make-music 'BeamForbidEvent) +"|" = #(make-music 'BarCheck) +"[" = #(make-span-event 'BeamEvent START) +"]" = #(make-span-event 'BeamEvent STOP) +"~" = #(make-music 'TieEvent) +"(" = #(make-span-event 'SlurEvent START) +")" = #(make-span-event 'SlurEvent STOP) +"\\!" = #(make-span-event 'CrescendoEvent STOP) +"\\(" = #(make-span-event 'PhrasingSlurEvent START) +"\\)" = #(make-span-event 'PhrasingSlurEvent STOP) +"\\>" = #(make-span-event 'DecrescendoEvent START) +"\\<" = #(make-span-event 'CrescendoEvent START) +"\\[" = #(make-span-event 'LigatureEvent START) +"\\]" = #(make-span-event 'LigatureEvent STOP) +"\\~" = #(make-music 'PesOrFlexaEvent) +"\\\\" = #(make-music 'VoiceSeparator) -noBeam = #(make-music 'BeamForbidEvent) -pipeSymbol = #(make-music 'BarCheck) \include "scale-definitions-init.ly" -melisma = #(make-span-event 'ManualMelismaEvent START) -melismaEnd = #(make-span-event 'ManualMelismaEvent STOP) - -\include "grace-init.ly" - -% ugh -\include "midi-init.ly" - -\include "book-paper-defaults.ly" +melisma = #(context-spec-music (make-property-set 'melismaBusy #t) 'Bottom) +melismaEnd = #(context-spec-music (make-property-unset 'melismaBusy) 'Bottom) -\paper { - mm = #(ly:output-def-lookup $defaultbookpaper 'mm) - unit = #(ly:output-def-lookup $defaultbookpaper 'unit) +laissezVibrer = #(make-music 'LaissezVibrerEvent) +repeatTie = #(make-music 'RepeatTieEvent) - in = #(* 25.4 mm) - pt = #(/ in 72.27) - cm = #(* 10 mm) - - \include "engraver-init.ly" -} - - -#(set-default-paper-size "a4") - - - -%{ - -%% these would supercede defaults in \bookpaper. -% let's comment this out for now. - - -paperEleven = \paper { - #(paper-set-staff-size (* 11.0 pt)) -} +\include "dynamic-scripts-init.ly" +\include "spanners-init.ly" -paperThirteen = \paper { - #(paper-set-staff-size (* 13.0 pt)) -} +%% MAKE-HASH-TABLE in GUILE 1.6 takes mandatory size parameter. +#(define musicQuotes (make-hash-table 29)) +#(call-after-session + (lambda () + (hash-clear! musicQuotes))) + +#(define toplevel-book-handler print-book-with-defaults) +#(define toplevel-bookpart-handler collect-bookpart-for-book) +#(define toplevel-music-handler collect-music-for-book) +#(define toplevel-score-handler collect-scores-for-book) +#(define toplevel-text-handler collect-scores-for-book) + +#(define book-bookpart-handler ly:book-add-bookpart!) +#(define book-music-handler collect-book-music-for-book) +#(define book-score-handler ly:book-add-score!) +#(define book-text-handler ly:book-add-score!) + +#(define bookpart-score-handler ly:book-add-score!) +#(define bookpart-text-handler ly:book-add-score!) +#(define bookpart-music-handler collect-book-music-for-book) +#(define output-def-music-handler context-defs-from-music) +#(define context-mod-music-handler context-mod-from-music) + +\include "predefined-fretboards-init.ly" +\include "string-tunings-init.ly" +\include "property-init.ly" -paperSixteen = \paper { - #(paper-set-staff-size (* 16.0 pt)) -} +\include "grace-init.ly" +\include "midi-init.ly" +\include "paper-defaults-init.ly" +\include "context-mods-init.ly" -paperEightteen = \paper { - #(paper-set-staff-size (* 18.0 pt)) -} +\layout { + mm = #(ly:output-def-lookup $defaultpaper 'mm) + unit = #(ly:output-def-lookup $defaultpaper 'unit) -paperTwenty = \paper { - #(paper-set-staff-size (* 20.0 pt)) -} + in = #(* 25.4 mm) + pt = #(/ in 72.27) + cm = #(* 10 mm) -paperTwentythree = \paper { - #(paper-set-staff-size (* 23.0 pt)) -} + \include "engraver-init.ly" -paperTwentysix = \paper { - #(paper-set-staff-size (* 26.0 pt)) + #(set-paper-dimension-variables (current-module)) } -\paper { \paperTwenty } - -%} - -partCombineListener = \paper { - \context { - \Voice - \consists Note_heads_engraver - \consists Rest_engraver - \type "Recording_group_engraver" - recordEventSequence = #notice-the-events-for-pc - } - \context { \Score skipTypesetting = ##t } +#(set-default-paper-size (ly:get-option 'paper-size)) +partCombineListener = \layout { + \context { + \Score + skipTypesetting = ##t + ignoreBarChecks = ##t + \alias "Timing" + } } -#(set-part-combine-listener partCombineListener) - -\include "dynamic-scripts-init.ly" -\include "spanners-init.ly" - -\include "property-init.ly" - -%% reset default duration -unusedEntry = \notes { c4 } - -%% must have size argument for GUILE 1.6 compat. -#(define musicQuotes (make-hash-table 29)) - -%%#(define-public toplevel-music-handler ly:parser-add-book-and-score) -#(define toplevel-book-handler default-toplevel-book-handler) -#(define toplevel-music-handler default-toplevel-music-handler) -#(define toplevel-score-handler default-toplevel-score-handler) - -#(define toplevel-score-handler default-toplevel-score-handler) +setDefaultDurationToQuarter = { c4 }