X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fproperty-init.ly;h=ef1bea45deede7a3edcad72d6e10b9bd6c75658d;hb=74cbe8bda3ed399631fac1fff7abee12ccc2ab5a;hp=85ae984374b58e02894c76b4eb042ced9482e096;hpb=b586253323a60a4ca9acab1a53759504af88b944;p=lilypond.git diff --git a/ly/property-init.ly b/ly/property-init.ly index 85ae984374..ef1bea45de 100644 --- a/ly/property-init.ly +++ b/ly/property-init.ly @@ -1,6 +1,6 @@ % property-init.ly -\version "2.17.6" +\version "2.17.24" %% for dashed slurs, phrasing slurs, and ties #(define (make-simple-dash-definition dash-fraction dash-period) @@ -124,17 +124,9 @@ bassFigureStaffAlignmentNeutral = %% cadenzas -cadenzaOn = { - \set Timing.timing = ##f - \set Timing.autoBeaming = ##f -} - -cadenzaOff = { - \set Timing.timing = ##t - \set Timing.measurePosition = #ZERO-MOMENT - \set Timing.autoBeaming = ##t -} +cadenzaOn = \set Timing.timing = ##f +cadenzaOff = \set Timing.timing = ##t %% chord names @@ -204,29 +196,14 @@ easyHeadsOff = { } -%% endincipit - -%% End the incipit and print a ``normal line start''. -endincipit = \context Staff { - \partial 16 s16 % Hack to handle e.g. \bar ".|" \endincipit - \once \override Staff.Clef.full-size-change = ##t - \once \override Staff.Clef.non-default = ##t - \bar "" -} - - %% fermata markup fermataMarkup = #(make-music 'MultiMeasureTextEvent - 'tweaks (list - ;; Set the 'text based on the 'direction - (cons 'text (lambda (grob) - (if (eq? (ly:grob-property grob 'direction) DOWN) - (markup #:musicglyph "scripts.dfermata") - (markup #:musicglyph "scripts.ufermata")))) - (cons 'outside-staff-priority 40) - (cons 'outside-staff-padding 0))) + ;; Set the 'text based on the 'direction + 'text (make-fermata-markup) + 'tweaks '((outside-staff-priority . 40) + (outside-staff-padding . 0))) %% font sizes @@ -263,18 +240,15 @@ hideNotes = { \override Dots.transparent = ##t \override NoteHead.transparent = ##t \override NoteHead.no-ledgers = ##t + % assume that any Beam inherits transparency from its parent Stem \override Stem.transparent = ##t - \override Flag.transparent = ##t - \override Beam.transparent = ##t \override Accidental.transparent = ##t \override Rest.transparent = ##t \override TabNoteHead.transparent = ##t } unHideNotes = { \revert Accidental.transparent - \revert Beam.transparent \revert Stem.transparent - \revert Flag.transparent \revert NoteHead.transparent \revert NoteHead.no-ledgers \revert Dots.transparent @@ -288,16 +262,66 @@ unHideNotes = { improvisationOn = { \set squashedPosition = #0 \override NoteHead.style = #'slash + \override TabNoteHead.style = #'slash \override Accidental.stencil = ##f \override AccidentalCautionary.stencil = ##f } improvisationOff = { \unset squashedPosition \revert NoteHead.style + \revert TabNoteHead.style \revert Accidental.stencil \revert AccidentalCautionary.stencil } +%% incipit + +incipit = +#(define-music-function (parser location incipit-music) (ly:music?) + #{ + \once \override Staff.InstrumentName.stencil = + #(lambda (grob) + (let* ((instrument-name (ly:grob-property grob 'long-text)) + (align-x (ly:grob-property grob 'self-alignment-X 0)) + (align-y (ly:grob-property grob 'self-alignment-Y 0))) + (set! (ly:grob-property grob 'long-text) + #{ \markup { + \score + { + \new MensuralStaff \with { + \override InstrumentName.self-alignment-X = #align-x + \override InstrumentName.self-alignment-Y = #align-y + instrumentName = #instrument-name + } + { + $incipit-music + } + \layout { + $(ly:grob-layout grob) + indent-incipit-default = 15\mm + line-width = #(primitive-eval + '(or (false-if-exception indent) + indent-incipit-default)) + indent = #(primitive-eval + '(or (false-if-exception (- line-width incipit-width)) + (* 0.5 line-width))) + ragged-right = ##f + ragged-last = ##f + system-count = 1 + \context { + \Score + \remove "Default_bar_line_engraver" + } + } + } + } + #}) + (set! (ly:grob-property grob 'self-alignment-Y) #f) + (set! (ly:grob-property grob 'self-alignment-X) RIGHT) + (system-start-text::print grob))) + #} +) + %% kievan kievanOn = { \override NoteHead.style = #'kievan @@ -328,6 +352,24 @@ kievanOff = { \revert NoteHead.duration-log } +%% line and page breaking controls + +autoLineBreaksOff = { + \overrideProperty Score.NonMusicalPaperColumn.line-break-permission ##f + \override Score.NonMusicalPaperColumn.line-break-permission = ##f +} +autoLineBreaksOn = { + \overrideProperty Score.NonMusicalPaperColumn.line-break-permission #'allow + \override Score.NonMusicalPaperColumn.line-break-permission = #'allow +} +autoPageBreaksOff = + \override Score.NonMusicalPaperColumn.page-break-permission = ##f +autoPageBreaksOn = + \override Score.NonMusicalPaperColumn.page-break-permission = #'allow +autoBreaksOff = { \autoLineBreaksOff \autoPageBreaksOff } +autoBreaksOn = { \autoLineBreaksOn \autoPageBreaksOn } + + %% merging mergeDifferentlyDottedOn = @@ -440,10 +482,10 @@ walkerHeadsMinor = %% shifts +shiftOff = \override NoteColumn.horizontal-shift = #0 shiftOn = \override NoteColumn.horizontal-shift = #1 shiftOnn = \override NoteColumn.horizontal-shift = #2 shiftOnnn = \override NoteColumn.horizontal-shift = #3 -shiftOff = \revert NoteColumn.horizontal-shift %% slurs @@ -485,6 +527,22 @@ stemDown = \override Stem.direction = #DOWN stemNeutral = \revert Stem.direction +%% string numbers + +romanStringNumbers = { + \override StringNumber.number-type = #'roman-upper + \override StringNumber.stencil = #ly:text-interface::print + \override StringNumber.font-encoding = #'latin1 + \override StringNumber.font-shape = #'italic +} +arabicStringNumbers = { + \revert StringNumber.number-type + \revert StringNumber.stencil + \revert StringNumber.font-encoding + \revert StringNumber.font-shape +} + + %% tablature % switch to full notation @@ -492,45 +550,45 @@ tabFullNotation = { % time signature \revert TabStaff.TimeSignature.stencil % stems (the half note gets a double stem) - \revert TabVoice.Stem.length - \revert TabVoice.Stem.no-stem-extend - \revert TabVoice.Flag.style - \revert TabVoice.Stem.details - \revert TabVoice.Stem.stencil - \revert TabVoice.Flag.stencil - \override TabVoice.Stem.stencil = #tabvoice::draw-double-stem-for-half-notes - \override TabVoice.Stem.X-extent = #tabvoice::make-double-stem-width-for-half-notes - \set TabVoice.autoBeaming = ##t - \revert TabVoice.NoteColumn.ignore-collision + \revert TabStaff.Stem.length + \revert TabStaff.Stem.no-stem-extend + \revert TabStaff.Flag.style + \revert TabStaff.Stem.details + \revert TabStaff.Stem.stencil + \revert TabStaff.Flag.stencil + \override TabStaff.Stem.stencil = #tabvoice::draw-double-stem-for-half-notes + \override TabStaff.Stem.X-extent = #tabvoice::make-double-stem-width-for-half-notes + \set TabStaff.autoBeaming = ##t + \revert TabStaff.NoteColumn.ignore-collision % beams, dots - \revert TabVoice.Beam.stencil - \revert TabVoice.StemTremolo.stencil - \revert TabVoice.Dots.stencil - \revert TabVoice.Tie.stencil - \revert TabVoice.Tie.after-line-breaking - \revert TabVoice.RepeatTie.stencil - \revert TabVoice.RepeatTie.after-line-breaking - \revert TabVoice.LaissezVibrerTie.stencil - \revert TabVoice.Slur.stencil - \revert TabVoice.PhrasingSlur.stencil + \revert TabStaff.Beam.stencil + \revert TabStaff.StemTremolo.stencil + \revert TabStaff.Dots.stencil + \revert TabStaff.Tie.stencil + \revert TabStaff.Tie.after-line-breaking + \revert TabStaff.RepeatTie.stencil + \revert TabStaff.RepeatTie.after-line-breaking + \revert TabStaff.LaissezVibrerTie.stencil + \revert TabStaff.Slur.stencil + \revert TabStaff.PhrasingSlur.stencil % tuplet stuff - \revert TabVoice.TupletBracket.stencil - \revert TabVoice.TupletNumber.stencil + \revert TabStaff.TupletBracket.stencil + \revert TabStaff.TupletNumber.stencil % dynamic signs - \revert TabVoice.DynamicText.stencil - \revert TabVoice.DynamicTextSpanner.stencil - \revert TabVoice.DynamicTextSpanner.stencil - \revert TabVoice.Hairpin.stencil + \revert TabStaff.DynamicText.stencil + \revert TabStaff.DynamicTextSpanner.stencil + \revert TabStaff.DynamicTextSpanner.stencil + \revert TabStaff.Hairpin.stencil % rests - \revert TabVoice.Rest.stencil - \revert TabVoice.MultiMeasureRest.stencil - \revert TabVoice.MultiMeasureRestNumber.stencil - \revert TabVoice.MultiMeasureRestText.stencil + \revert TabStaff.Rest.stencil + \revert TabStaff.MultiMeasureRest.stencil + \revert TabStaff.MultiMeasureRestNumber.stencil + \revert TabStaff.MultiMeasureRestText.stencil % markups etc. - \revert TabVoice.Glissando.stencil - \revert TabVoice.Script.stencil - \revert TabVoice.TextScript.stencil - \revert TabVoice.TextSpanner.stencil + \revert TabStaff.Glissando.stencil + \revert TabStaff.Script.stencil + \revert TabStaff.TextScript.stencil + \revert TabStaff.TextSpanner.stencil \revert TabStaff.Arpeggio.stencil \revert TabStaff.NoteColumn.ignore-collision } @@ -634,35 +692,30 @@ voiceOneStyle = { \override NoteHead.style = #'diamond \override NoteHead.color = #red \override Stem.color = #red - \override Flag.color = #red \override Beam.color = #red } voiceTwoStyle = { \override NoteHead.style = #'triangle \override NoteHead.color = #blue \override Stem.color = #blue - \override Flag.color = #blue \override Beam.color = #blue } voiceThreeStyle = { \override NoteHead.style = #'xcircle \override NoteHead.color = #green \override Stem.color = #green - \override Flag.color = #green \override Beam.color = #green } voiceFourStyle = { \override NoteHead.style = #'cross \override NoteHead.color = #magenta \override Stem.color = #magenta - \override Flag.color = #magenta \override Beam.color = #magenta } voiceNeutralStyle = { \revert NoteHead.style \revert NoteHead.color \revert Stem.color - \revert Flag.color \revert Beam.color }