]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/property-init.ly
Merge branch 'lilypond/translation' of ssh://git.sv.gnu.org/srv/git/lilypond into...
[lilypond.git] / ly / property-init.ly
index c0d43eb980f74b66856e5a2fa8c559320b89e8a4..f91c4b8d85dd760af497e4c99e95d66a71466b67 100644 (file)
@@ -1,6 +1,6 @@
 % property-init.ly
 
-\version "2.11.53"
+\version "2.12.0"
 
 stemUp = \override Stem #'direction = #UP
 stemDown = \override Stem #'direction = #DOWN 
@@ -10,18 +10,32 @@ slurUp = \override Slur #'direction = #UP
 slurDown = \override Slur #'direction = #DOWN
 slurNeutral = \revert Slur #'direction
 
-%% There's also dash, but setting dash period/length should be fixed.
+#(define (make-simple-dash-definition dash-fraction dash-period)
+    (list (list 0 1 dash-fraction dash-period)))
+
 slurDashed = {
-  \override Slur #'dash-period = #0.75
-  \override Slur #'dash-fraction = #0.4
-}
+  \override Slur #'dash-definition =  #'((0 1 0.4 0.75))
+}
+slurDashPattern = 
+#(define-music-function (parser location dash-fraction dash-period)
+  (number? number?)
+  #{
+     \override Slur #'dash-definition =
+       $(make-simple-dash-definition dash-fraction dash-period)
+  #})
 slurDotted = {
-  \override Slur #'dash-period = #0.75
-  \override Slur #'dash-fraction = #0.1
+  \override Slur #'dash-definition =  #'((0 1 0.1 0.75))
+}
+slurHalfDashed = {
+  \override Slur #'dash-definition =  #'((0 0.5 0.4 0.75)
+                                         (0.5 1 1 1))
+}
+slurHalfSolid = {
+  \override Slur #'dash-definition =  #'((0 0.5 1 1)
+                                         (0.5 1 0.4 0.75))
 }
 slurSolid = {
-  \revert Slur #'dash-period
-  \revert Slur #'dash-fraction
+  \revert Slur #'dash-definition
 }
 
 
@@ -29,6 +43,31 @@ phrasingSlurUp = \override PhrasingSlur #'direction = #UP
 phrasingSlurDown = \override PhrasingSlur #'direction = #DOWN
 phrasingSlurNeutral = \revert PhrasingSlur #'direction
 
+phrasingSlurDashed = {
+  \override PhrasingSlur #'dash-definition =  #'((0 1 0.4 0.75))
+}
+phrasingSlurDashPattern = 
+#(define-music-function (parser location dash-fraction dash-period)
+  (number? number?)
+  #{
+     \override PhrasingSlur #'dash-definition =
+       $(make-simple-dash-definition dash-fraction dash-period)
+  #})
+phrasingSlurDotted = {
+  \override PhrasingSlur #'dash-definition =  #'((0 1 0.1 0.75))
+}
+phrasingSlurHalfDashed = {
+  \override PhrasingSlur #'dash-definition =  #'((0 0.5 0.4 0.75)
+                                                 (0.5 1 1 1))
+}
+phrasingSlurHalfSolid = {
+  \override PhrasingSlur #'dash-definition =  #'((0 0.5 1 1)
+                                                 (0.5 1 0.4 0.75))
+}
+phrasingSlurSolid = {
+  \revert PhrasingSlur #'dash-definition
+}
+
 mergeDifferentlyDottedOn = {
   \override Staff.NoteCollision #'merge-differently-dotted = ##t
 }
@@ -53,16 +92,28 @@ tieDown = \override Tie #'direction = #DOWN
 tieNeutral = \revert Tie #'direction
 
 tieDashed = {
-  \override Tie #'dash-period = #0.75
-  \override Tie #'dash-fraction = #0.4
-}
+  \override Tie #'dash-definition = #'((0 1 0.4 0.75))
+}
+tieDashPattern = 
+#(define-music-function (parser location dash-fraction dash-period)
+  (number? number?)
+  #{
+     \override Tie #'dash-definition =
+       $(make-simple-dash-definition dash-fraction dash-period)
+  #})
 tieDotted = {
-  \override Tie #'dash-period = #0.75
-  \override Tie #'dash-fraction = #0.1
+  \override Tie #'dash-definition = #'((0 1 0.1 0.75))
+}
+tieHalfDashed = {
+  \override Tie #'dash-definition =  #'((0 0.5 0.4 0.75)
+                                        (0.5 1 1 1))
+}
+tieHalfSolid = {
+  \override Tie #'dash-definition =  #'((0 0.5 1 1)
+                                        (0.5 1 0.4 0.75))
 }
 tieSolid = {
-  \revert Tie #'dash-period
-  \revert Tie #'dash-fraction
+  \revert Tie #'dash-definition
 }
 
 easyHeadsOn = {
@@ -247,7 +298,8 @@ arpeggioArrowDown = {
 arpeggioNormal = {
   \revert Arpeggio #'stencil
   \revert Arpeggio #'X-extent
-  \revert Arpeggio  #'arpeggio-direction
+  \revert Arpeggio #'arpeggio-direction
+  \revert Arpeggio #'dash-definition
 }
 arpeggioBracket = {
   \revert Arpeggio #'X-extent
@@ -256,7 +308,15 @@ arpeggioBracket = {
 arpeggioParenthesis = {
   \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur
   \override Arpeggio #'X-extent = #ly:grob::stencil-width
+  \revert Arpeggio #'dash-definition
 }
+arpeggioParenthesisDashed = {
+  \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur
+  \override Arpeggio #'X-extent = #ly:grob::stencil-width
+  \override Arpeggio #'dash-definition = #'((0 1 0.4 0.75))
+}
+
+
 
 glissando = #(make-music 'GlissandoEvent)
 
@@ -301,6 +361,10 @@ italianChords = {
   \set chordPrefixSpacer = #0.4
 }
 
+harmonicsOn = \override NoteHead #'style = #'harmonic
+
+harmonicsOff = \revert NoteHead #'style
+
 improvisationOn = {
   \set squashedPosition = #0
   \override NoteHead #'style = #'slash
@@ -356,3 +420,84 @@ pointAndClickOff = #(define-music-function (parser location) ()
 pointAndClickOn = #(define-music-function (parser location) ()
                       (ly:set-option 'point-and-click #t)
                       (make-music 'SequentialMusic 'void #t))
+
+palmMuteOn = {
+  \override NoteHead #'style = #'do
+}
+
+palmMuteOff = {
+  \revert NoteHead #'style
+}
+
+palmMute =
+#(define-music-function (parser location note) (ly:music?)
+  ;; are we inside a <...>?
+  (if (eq? (ly:music-property note 'name) 'NoteEvent)
+      ;; yes -> add a tweak
+      (begin (set! (ly:music-property note 'tweaks)
+                    (acons 'style 'do (ly:music-property note 'tweaks)))
+      note)
+      ;; no -> use predefined commands to switch to triangle-shaped note heads
+      #{
+        \palmMuteOn
+        $note
+        \palmMuteOff
+      #}))
+
+deadNotesOn = {
+  \override TabNoteHead #'style = #'cross
+  \override NoteHead #'style = #'cross
+}
+
+deadNotesOff = {
+  \revert TabNoteHead #'style
+  \revert NoteHead #'style
+}
+
+deadNote =
+#(define-music-function (parser location note) (ly:music?)
+  ;; are we inside a <...>?
+  (if (eq? (ly:music-property note 'name) 'NoteEvent)
+      ;; yes -> add a tweak
+      (begin (set! (ly:music-property note 'tweaks)
+                    (acons 'style 'cross (ly:music-property note 'tweaks)))
+       note)
+       ;; no -> use predefined commmands for changing
+       ;; note head and tablature fret signs
+       #{
+         \deadNotesOn
+         $note
+         \deadNotesOff
+       #}))
+
+tabFullNotation = {
+  % time signature
+  \revert TabStaff.TimeSignature #'stencil
+  % stems (the half note gets a double stem)
+  \override TabVoice.Stem #'stencil = #tabvoice::draw-double-stem-for-half-notes
+  % beams, dots
+  \revert TabVoice.Beam #'stencil
+  \revert TabVoice.Dots #'stencil
+  \revert TabVoice.Tie #'stencil
+  \revert TabVoice.Tie #'after-line-breaking
+  \revert TabVoice.RepeatTie #'stencil
+  \revert TabVoice.RepeatTie #'after-line-braking
+  \revert TabVoice.LaissezVibrerTie #'stencil
+  \revert TabVoice.Slur #'stencil
+  \revert PhrasingSlur #'stencil
+  % tuplet stuff
+  \revert TabVoice.TupletBracket #'stencil
+  \revert TabVoice.TupletNumber #'stencil
+  % dynamic signs
+  \revert DynamicText #'transparent
+  \revert DynamicTextSpanner #'stencil
+  \revert TabVoice.DynamicTextSpanner #'stencil
+  \revert TabVoice.Hairpin #'transparent
+  % rests
+  \revert TabVoice.Rest #'stencil
+  \revert TabVoice.MultiMeasureRest #'stencil
+  % markups etc.
+  \revert TabVoice.Script #'stencil
+  \revert TabVoice.TextScript #'stencil
+  \revert TabStaff.Arpeggio #'stencil
+}