X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fproperty-init.ly;h=0f4d2c1901854e3dc2406dfafc8e0bcb684fdf6c;hb=f28cafbcff50518fb55b42d98774e819fa8c9495;hp=3b40500bb52df32d43f14f192783fa5e624c3f70;hpb=f57dab636c0caf18cc0ec1c95a3b2bddb61496fd;p=lilypond.git diff --git a/ly/property-init.ly b/ly/property-init.ly index 3b40500bb5..0f4d2c1901 100644 --- a/ly/property-init.ly +++ b/ly/property-init.ly @@ -1,30 +1,44 @@ % property-init.ly -\version "1.3.146" +\version "1.9.1" stemUp = \property Voice.Stem \set #'direction = #1 stemDown = \property Voice.Stem \set #'direction = #-1 stemBoth= \property Voice.Stem \revert #'direction -slurUp = \property Voice.Slur \override #'direction = #1 -slurDown = \property Voice.Slur \override #'direction = #-1 +slurUp = \property Voice.Slur \set #'direction = #1 +slurDown = \property Voice.Slur \set #'direction = #-1 slurBoth = \property Voice.Slur \revert #'direction -shiftOn = \property Voice.NoteColumn \override #'horizontal-shift = #1 -shiftOnn = \property Voice.NoteColumn \override #'horizontal-shift = #2 -shiftOnnn = \property Voice.NoteColumn \override #'horizontal-shift = #3 + +% There's also dash, but setting dash period/length should be fixed. +slurDotted = \property Voice.Slur \set #'dashed = #1 +slurSolid = \property Voice.Slur \revert #'dashed + + +phrasingSlurUp = \property Voice.PhrasingSlur \set #'direction = #1 +phrasingSlurDown = \property Voice.PhrasingSlur \set #'direction = #-1 +phrasingSlurBoth = \property Voice.PhrasingSlur \revert #'direction + +shiftOn = \property Voice.NoteColumn \set #'horizontal-shift = #1 +shiftOnn = \property Voice.NoteColumn \set #'horizontal-shift = #2 +shiftOnnn = \property Voice.NoteColumn \set #'horizontal-shift = #3 shiftOff = \property Voice.NoteColumn \revert #'horizontal-shift -tieUp = \property Voice.Tie \override #'direction = #1 -tieDown = \property Voice.Tie \override #'direction = #-1 +tieUp = \property Voice.Tie \set #'direction = #1 +tieDown = \property Voice.Tie \set #'direction = #-1 tieBoth = \property Voice.Tie \revert #'direction +tieDotted = \property Voice.Tie \set #'dashed = #1 +tieSolid = \property Voice.Tie \revert #'dashed + + dynamicUp = { - \property Voice.DynamicText \override #'direction = #1 - \property Voice.DynamicLineSpanner \override #'direction = #1 + \property Voice.DynamicText \set #'direction = #1 + \property Voice.DynamicLineSpanner \set #'direction = #1 } dynamicDown = { - \property Voice.DynamicText \override #'direction = #-1 - \property Voice.DynamicLineSpanner \override #'direction = #-1 + \property Voice.DynamicText \set #'direction = #-1 + \property Voice.DynamicLineSpanner \set #'direction = #-1 } dynamicBoth = { \property Voice.DynamicText \revert #'direction @@ -32,115 +46,58 @@ dynamicBoth = { } scriptUp = { - \property Voice.TextScript \override #'direction = #1 - \property Voice.Script \override #'direction = #1 + \property Voice.TextScript \set #'direction = #1 + \property Voice.Script \set #'direction = #1 } scriptDown = { - \property Voice.TextScript \override #'direction = #-1 - \property Voice.Script \override #'direction = #-1 + \property Voice.TextScript \set #'direction = #-1 + \property Voice.Script \set #'direction = #-1 } scriptBoth = { \property Voice.TextScript \revert #'direction \property Voice.Script \revert #'direction } -dotsUp = \property Voice.Dots \override #'direction = #1 -dotsDown = \property Voice.Dots \override #'direction = #-1 +dotsUp = \property Voice.Dots \set #'direction = #1 +dotsDown = \property Voice.Dots \set #'direction = #-1 dotsBoth = \property Voice.Dots \revert #'direction -% why doubly? -tupletUp = { - \property Voice.TupletBracket \override #'direction = #1 - \property Voice.TupletBracket \override #'direction = #1 -} -tupletDown = { - \property Voice.TupletBracket \override #'direction = #-1 - \property Voice.TupletBracket \override #'direction = #-1 -} -tupletBoth = { - \property Voice.TupletBracket \revert #'direction - \property Voice.TupletBracket \revert #'direction -} - - +tupletUp = \property Voice.TupletBracket \set #'direction = #1 +tupletDown = \property Voice.TupletBracket \set #'direction = #-1 +tupletBoth = \property Voice.TupletBracket \revert #'direction -cadenzaOn = \property Score.timing = ##f +cadenzaOn = \property Timing.timing = ##f cadenzaOff = { - \property Score.timing = ##t - \property Score.measurePosition = #(make-moment 0 1) + \property Timing.timing = ##t + \property Timing.measurePosition = #(ly:make-moment 0 1) } -newpage = { +newpage = \notes +{ \break % urg, only works for TeX output \context Score \outputproperty #(make-type-checker 'paper-column-interface) #'between-system-string = #"\\newpage" } -% dynamic dir? text script, articulation script dir? -oneVoice = { - \stemBoth - \slurBoth - \tieBoth - \shiftOff -} - -voiceOne = { - \stemUp - \slurUp - \tieUp - \dotsUp -} - -voiceTwo = { - \stemDown - \slurDown - \tieDown - \dotsDown -} - -voiceThree = { - \stemUp - \slurUp - \tieUp - \shiftOn - \dotsUp -} - -voiceFour = { - \stemDown - \slurDown - \tieDown - \shiftOn - \dotsDown -} - -% There's also dash, but setting dash period/length should be fixed. -slurDotted = \property Voice.Slur \override #'dashed = #1 -slurSolid = \property Voice.Slur \revert #'dashed -tieDotted = \property Voice.Tie \override #'dashed = #1 -tieSolid = \property Voice.Tie \revert #'dashed +% dynamic ly:dir? text script, articulation script ly:dir? +oneVoice = #(context-spec-music (make-voice-props-revert) 'Voice) +voiceOne = #(context-spec-music (make-voice-props-set 0) 'Voice) +voiceTwo = #(context-spec-music (make-voice-props-set 1) 'Voice) +voiceThree =#(context-spec-music (make-voice-props-set 2) 'Voice) +voiceFour = #(context-spec-music (make-voice-props-set 3) 'Voice) tiny = - \property Voice.fontSize= -2 - + \property Voice.fontSize= #-2 small = - \property Voice.fontSize= -1 - + \property Voice.fontSize= #-1 normalsize = { - \property Voice.fontSize= 0 + \property Voice.fontSize= #0 } -normalkey = { - \property Staff.keyOctaviation = ##f -} - -specialkey = { - \property Staff.keyOctaviation = ##t -} % End the incipit and print a ``normal line start''. endincipit = \notes{ @@ -150,46 +107,99 @@ endincipit = \notes{ \bar "" } -autoBeamOff = \property Voice.noAutoBeaming = ##t -autoBeamOn = \property Voice.noAutoBeaming = ##f - -emptyText = \property Voice.textNonEmpty = ##f -fatText = \property Voice.textNonEmpty = ##t +autoBeamOff = \property Voice.autoBeaming = ##f +autoBeamOn = \property Voice.autoBeaming = ##t -showStaffSwitch = \property PianoStaff.followVoice = ##t -hideStaffSwitch = \property PianoStaff.followVoice = ##f +fatText = \property Voice.TextScript \set #'no-spacing-rods = ##f +emptyText = \property Voice.TextScript \set #'no-spacing-rods = ##t -% FIXME: Move this docu (to where?) +showStaffSwitch = \property Voice.followVoice = ##t +hideStaffSwitch = \property Voice.followVoice = ##f % accidentals as they were common in the 18th century. defaultAccidentals = { - \property Score.extraNatural = ##t - \property Score.autoAccidentals = #'((measure-same-octave . 0)) - \property Score.autoCautionaries = #'() + \property Current.extraNatural = ##t + \property Current.autoAccidentals = #'(Staff (same-octave . 0)) + \property Current.autoCautionaries = #'() +} + +% accidentals in voices instead of staves. +% Notice that accidentals from one voice do NOT get cancelled in other voices +voiceAccidentals = { + \property Current.extraNatural = ##t + \property Current.autoAccidentals = #'(Voice (same-octave . 0)) + \property Current.autoCautionaries = #'() + } % accidentals as suggested by Kurt Stone, Music Notation in the 20th century. % This includes all the default accidentals, but accidentals also needs cancelling % in other octaves and in the next measure. modernAccidentals = { - \property Score.extraNatural = ##f - \property Score.autoAccidentals = #'((measure-same-octave . 0) (measure-any-octave . 0) (measure-any-octave . 1)) - \property Score.autoCautionaries = #'() + \property Current.extraNatural = ##f + \property Current.autoAccidentals = #'(Staff (same-octave . 0) (any-octave . 0) (same-octave . 1)) + \property Current.autoCautionaries = #'() } % the accidentals that Stone adds to the old standard as cautionaries modernCautionaries = { - \property Score.extraNatural = ##f - \property Score.autoAccidentals = #'((measure-same-octave . 0)) - \property Score.autoCautionaries = #'((measure-any-octave . 0) (measure-any-octave . 1)) + \property Current.extraNatural = ##f + \property Current.autoAccidentals = #'(Staff (same-octave . 0)) + \property Current.autoCautionaries = #'(Staff (any-octave . 0) (same-octave . 1)) +} + +% Multivoice accidentals to be read both by musicians playing one voice +% and musicians playing all voices. +% Accidentals are typeset for each voice, but they ARE cancelled across voices. +modernVoiceAccidentals = { + \property Current.extraNatural = ##f + \property Current.autoAccidentals = #'( + Voice (same-octave . 0) (any-octave . 0) (same-octave . 1) + Staff (same-octave . 0) (any-octave . 0) (same-octave . 1) + ) + \property Current.autoCautionaries = #'() +} + +% same as modernVoiceAccidental eccept that all special accidentals are typeset +% as cautionaries +modernVoiceCautionaries = { + \property Current.extraNatural = ##f + \property Current.autoAccidentals = #'( + Voice (same-octave . 0) + ) + \property Current.autoCautionaries = #'( + Voice (any-octave . 0) (same-octave . 1) + Staff (same-octave . 0) (any-octave . 0) (same-octave . 1) + ) +} + +% stone's suggestions for accidentals on grand staff. +% Accidentals are cancelled across the staves in the same grand staff as well +pianoAccidentals = { + \property Current.autoAccidentals = #'( + Staff (same-octave . 0) (any-octave . 0) (same-octave . 1) + GrandStaff (any-octave . 0) (same-octave . 1) + ) + \property Current.autoCautionaries = #'() +} + +pianoCautionaries = { + \property Current.autoAccidentals = #'( + Staff (same-octave . 0) + ) + \property Current.autoCautionaries = #'( + Staff (any-octave . 0) (same-octave . 1) + GrandStaff (any-octave . 0) (same-octave . 1) + ) } + % Do not reset the key at the start of a measure. Accidentals will be % printed only once and are in effect until overridden, possibly many % measures later. noResetKey = { - \property Score.autoAccidentals = #'((measure-same-octave . #t)) - \property Score.autoCautionaries = #'() + \property Current.autoAccidentals = #'(Staff (same-octave . #t)) + \property Current.autoCautionaries = #'() } % do not set localKeySignature when a note alterated differently from @@ -198,12 +208,57 @@ noResetKey = { % remembered for the duration of a measure. % accidentals not being remembered, causing accidentals always to be typeset relative to the time signature forgetAccidentals = { - \property Score.autoAccidentals = #'((measure-same-octave . -1)) - \property Score.autoCautionaries = #'() + \property Current.autoAccidentals = #'(Staff (same-octave . -1)) + \property Current.autoCautionaries = #'() } % To remove a Volta bracket or some other graphical object, % set it to turnOff. Example: \property Staff.VoltaBracket = \turnOff +%% +%% DO NOT USE THIS. IT CAN LEAD TO CRASHES. turnOff = #'() + +% For drawing vertical chord brackets with \arpeggio +% This is a shorthand for the value of the molecule-callback property +% of either Staff.Arpeggio or PianoStaff.Arpeggio, depending whether +% cross-staff brackets are desired. + +arpeggioBracket = #(lambda (grob) (Arpeggio::brew_chord_bracket grob)) +arpeggio = #(make-music-by-name 'ArpeggioEvent) +glissando = #(make-music-by-name 'GlissandoEvent) + +fermataMarkup = \markup { \musicglyph #"scripts-ufermata" } + +setMmRestFermata = + \once \property Voice.MultiMeasureRestNumber \override #'text = + #fermataMarkup + + +hideNotes =\sequential { + % hide notes, accidentals, etc. + \property Voice.Dots \override #'transparent = ##t + \property Voice.NoteHead \override #'transparent = ##t + \property Voice.Stem \override #'transparent = ##t + \property Voice.Beam \override #'transparent = ##t + \property Staff.Accidental \override #'transparent = ##t +} + + +unHideNotes = \sequential { + \property Staff.Accidental \revert #'transparent + \property Voice.Beam \revert #'transparent + \property Voice.Stem \revert #'transparent + \property Voice.NoteHead \revert #'transparent + \property Voice.Dots \revert #'transparent +} + +germanChords = { + \property ChordNames. chordRootNamer = #(chord-name->german-markup #t) + \property ChordNames. chordNoteNamer = #note-name->german-markup +} +semiGermanChords = { + \property ChordNames. chordRootNamer = #(chord-name->german-markup #f) + \property ChordNames. chordNoteNamer = #note-name->german-markup +}