]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/script.scm
Web-ja: update introduction
[lilypond.git] / scm / script.scm
index 058f03aefd65eecec43db595e6f38e4841a47ad9..c8eb8b39b9a9f415bdd93c55ab9ca8cdd76016d8 100644 (file)
-;; (name . '((downindexstring . upindexstring)
-;;           follow-into-staff :: bool
-;;           dir-relative-to-stem :: int
-;;           force-dir :: int
-
-
-;;           priority :: int -- lower number means closer to the  note head. 
-
-;; TODO: generate Grob types for this, by prepending appropriate props
-;; on top of Script (?)  
-
-
-;; TODO: don't use 2 level indiriection, simply set
-;; thumb = \script #'((feta . ( . .. ) (follow-staff .  #f))
-
-
-(set! default-script-alist
-      (append 
-      '(("thumb" . ((feta . ("thumb"  . "thumb")) #f 0 1 0))
-       ("accent" . ((feta . ("sforzato" .  "sforzato")) #f -1 0 0))
-       ("marcato" . ((feta . ("dmarcato" . "umarcato")) #f -1 0  0))
-       ("staccatissimo" . ((feta . ("dstaccatissimo" . "ustaccatissimo")) #f  -1 0 0))
-       ("portato" . ((feta . ("dportato" . "uportato")) #f -1 0 0))
-       ("fermata" . ((feta . ("dfermata" . "ufermata")) #f 0 1 0))
-       ("stopped" . ((feta . ("stopped" . "stopped")) #f 0 1 0))
-       ("staccato" . ((feta . ("staccato" . "staccato")) #t -1 0 -100))
-       ("tenuto" . ((feta . ("tenuto" . "tenuto")) #t -1 0 0))
-       ("comma" . ((feta . ("lcomma" . "rcomma")) #t 0 1 0))
-       ("upbow" . ((feta . ("upbow" . "upbow")) #f 0 1 0))
-       ("downbow" . ((feta . ("downbow" . "downbow")) #f 0 1 0))
-       ("lheel" . ((feta . ("upedalheel" . "upedalheel")) #f 0 -1  0))
-       ("rheel" . ((feta . ("dpedalheel" . "dpedalheel")) #f 0 1 0))
-       ("ltoe" . ((feta . ("upedaltoe" . "upedaltoe")) #f 0 -1 0))
-       ("rtoe" . ((feta . ("dpedaltoe" . "dpedaltoe")) #f 0 1 0))
-       ("turn" . ((feta . ("turn" . "turn")) #f 0 1 0))
-       ("open" . ((feta . ("open" . "open")) #f 0 1 0))
-       ("flageolet" . ((feta . ("flageolet" . "flageolet")) #f 0 1 0))
-       ("reverseturn" . ((feta . ("reverseturn" . "reverseturn")) #f 0 1 0))
-       ("trill" . ((feta . ("trill" . "trill")) #f 0 1 2000))
-       ("prall" . ((feta . ("prall" . "prall")) #f 0 1 0))
-       ("mordent" . ((feta . ("mordent" . "mordent")) #f 0 1 0))
-       ("prallprall" . ((feta . ("prallprall" . "prallprall")) #f 0 1 0))
-       ("prallmordent" . ((feta . ("prallmordent" . "prallmordent")) #f 0 1 0))
-       ("upprall" . ((feta . ("upprall" . "upprall")) #f 0 1 0))
-       ("downprall" . ((feta . ("downprall" . "downprall")) #f 0 1 0))
-       ("upmordent" . ((feta . ("upmordent" . "upmordent")) #f 0 1 0))
-       ("downmordent" . ((feta . ("downmordent" . "downmordent")) #f 0 1 0))
-       ("lineprall" . ((feta . ("lineprall" . "lineprall")) #f 0 1 0))
-       ("pralldown" . ((feta . ("pralldown" . "pralldown")) #f 0 1 0))
-       ("prallup" . ((feta . ("prallup" . "prallup")) #f 0 1 0))
-       ("segno" . ((feta . ("segno" . "segno")) #f 0 1 0))
-       ("coda" . ((feta . ("coda" . "coda")) #f 0 1 0)))
-      default-script-alist)
-      )
-
-(set! default-script-alist
-      (append 
-      '(("accDiscant" . ((accordion "Discant" "") #f 0 1 0))
-       ("accDiscantF" . ((accordion "Discant" "F") #f 0 1 0))
-       ("accDiscantE" . ((accordion "Discant" "E") #f 0 1 0))
-       ("accDiscantEh" . ((accordion "Discant" "Eh") #f 0 1 0))
-       ("accDiscantFE" . ((accordion "Discant" "FE") #f 0 1 0))
-       ("accDiscantFEh" . ((accordion "Discant" "FEh") #f 0 1 0))
-       ("accDiscantEE" . ((accordion "Discant" "EE") #f 0 1 0))
-       ("accDiscantFEE" . ((accordion "Discant" "FEE") #f 0 1 0))
-       ("accDiscantEEE" . ((accordion "Discant" "EEE") #f 0 1 0))
-       ("accDiscantFEEE" . ((accordion "Discant" "FEEE") #f 0 1 0))
-       ("accDiscantS" . ((accordion "Discant" "S") #f 0 1 0))
-       ("accDiscantFS" . ((accordion "Discant" "FS") #f 0 1 0))
-       ("accDiscantES" . ((accordion "Discant" "ES") #f 0 1 0))
-       ("accDiscantEhS" . ((accordion "Discant" "EhS") #f 0 1 0))
-       ("accDiscantFES" . ((accordion "Discant" "FES") #f 0 1 0))
-       ("accDiscantFEhS" . ((accordion "Discant" "FEhS") #f 0 1 0))
-       ("accDiscantEES" . ((accordion "Discant" "EES") #f 0 1 0))
-       ("accDiscantFEES" . ((accordion "Discant" "FEES") #f 0 1 0))
-       ("accDiscantEEES" . ((accordion "Discant" "EEES") #f 0 1 0))
-       ("accDiscantFEEES" . ((accordion "Discant" "FEEES") #f 0 1 0))
-       ("accDiscantSS" . ((accordion "Discant" "SS") #f 0 1 0))
-       ("accDiscantESS" . ((accordion "Discant" "ESS") #f 0 1 0))
-       ("accDiscantEESS" . ((accordion "Discant" "EESS") #f 0 1 0))
-       ("accDiscantEEESS" . ((accordion "Discant" "EEESS") #f 0 1 0))
-       ("accFreebase" . ((accordion "Freebase" "") #f 0 -1 0))
-       ("accFreebaseF" . ((accordion "Freebase" "F") #f 0 -1 0))
-       ("accFreebaseE" . ((accordion "Freebase" "E") #f 0 -1 0))
-       ("accFreebaseFE" . ((accordion "Freebase" "FE") #f 0 -1 0))
-       ("accBayanbase" . ((accordion "Bayanbase" "") #f 0 -1 0))
-       ("accBayanbaseT" . ((accordion "Bayanbase" "T") #f 0 -1 0))
-       ("accBayanbaseE" . ((accordion "Bayanbase" "E") #f 0 -1 0))
-       ("accBayanbaseTE" . ((accordion "Bayanbase" "TE") #f 0 -1 0))
-       ("accBayanbaseEE" . ((accordion "Bayanbase" "EE") #f 0 -1 0))
-       ("accBayanbaseTEE" . ((accordion "Bayanbase" "TEE") #f 0 -1 0))
-       ("accStdbase" . ((accordion "Stdbase" "") #f 0 -1 0))
-       ("accStdbaseFE" . ((accordion "Stdbase" "FE") #f 0 -1 0))
-       ("accStdbaseTFE" . ((accordion "Stdbase" "TFE") #f 0 -1 0))
-       ("accStdbaseMES" . ((accordion "Stdbase" "MES") #f 0 -1 0))
-       ("accStdbaseTFMES" . ((accordion "Stdbase" "TFMES") #f 0 -1 0))
-       ("accSB" . ((accordion "SB" "") #f 0 -1 0))
-       ("accBB" . ((accordion "BB" "") #f 0 -1 0))
-       ("accOldEE" . ((accordion "OldEE" "") #f 0 -1 0))
-       ("accOldEES" . ((accordion "OldEES" "") #f 0 -1 0)))
-      default-script-alist)
-      )
+;;;; This file is part of LilyPond, the GNU music typesetter.
+;;;;
+;;;; Copyright (C) 2000--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;;
+;;;; 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 <http://www.gnu.org/licenses/>.
 
+(define-public default-script-alist
+  `(
+    ("accent"
+     . (
+        (avoid-slur . around)
+        (padding . 0.20)
+        (script-stencil . (feta . ("sforzato" . "sforzato")))
+        (side-relative-direction . ,DOWN)))
+    ("accentus"
+     . (
+        (script-stencil . (feta . ("uaccentus" . "uaccentus")))
+        (side-relative-direction . ,DOWN)
+        (avoid-slur . ignore)
+        (padding . 0.20)
+        (quantize-position . #t)
+        (script-priority . -100)
+        (direction . ,UP)))
 
+
+    ("circulus"
+     . (
+        (script-stencil . (feta . ("circulus" . "circulus")))
+        (side-relative-direction . ,DOWN)
+        (avoid-slur . ignore)
+        (padding . 0.20)
+        (quantize-position . #t)
+        (script-priority . -100)
+        (direction . ,UP)))
+    ("coda"
+     . (
+        (script-stencil . (feta . ("coda" . "coda")))
+        (padding . 0.20)
+        (avoid-slur . outside)
+        (direction . ,UP)))
+    ("comma"
+     . (
+        (script-stencil . (feta . ("lcomma" . "rcomma")))
+        (quantize-position . #t)
+        (padding . 0.20)
+        (avoid-slur . ignore)
+        (direction . ,UP)))
+
+
+    ("downbow"
+     . (
+        (script-stencil . (feta . ("downbow" . "downbow")))
+        (padding . 0.20)
+        (skyline-horizontal-padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)
+        (script-priority . 150)))
+    ("downmordent"
+     . (
+        (script-stencil . (feta . ("downmordent" . "downmordent")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)))
+    ("downprall"
+     . (
+        (script-stencil . (feta . ("downprall" . "downprall")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)))
+
+
+    ("espressivo"
+     . (
+        (avoid-slur . around)
+        (padding . 0.20)
+        (script-stencil . (feta . ("espr" .  "espr")))
+        (side-relative-direction . ,DOWN)))
+
+
+    ("fermata"
+     . (
+        (script-stencil . (feta . ("dfermata" . "ufermata")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (script-priority . 4000)
+        (direction . ,UP)))
+    ("flageolet"
+     . (
+        (script-stencil . (feta . ("flageolet" . "flageolet")))
+        (padding . 0.20)
+        (avoid-slur . around) ;guessing?
+        (direction . ,UP)))
+
+
+    ("halfopen"
+     . (
+        (avoid-slur . outside)
+        (padding . 0.20)
+        (script-stencil . (feta . ("halfopen" . "halfopen")))
+        (direction . ,UP)))
+
+    ("halfopenvertical"
+     . (
+        (avoid-slur . outside)
+        (padding . 0.20)
+        (script-stencil . (feta . ("halfopenvertical" . "halfopenvertical")))
+        (direction . ,UP)))
+
+
+    ("ictus"
+     . (
+        (script-stencil . (feta . ("ictus" . "ictus")))
+        (side-relative-direction . ,DOWN)
+        (quantize-position . #t)
+        (avoid-slur . ignore)
+        (padding . 0.20)
+        (script-priority . -100)
+        (direction . ,DOWN)))
+
+
+    ("lheel"
+     . (
+        (script-stencil . (feta . ("upedalheel" . "upedalheel")))
+        (padding . 0.20)
+        (avoid-slur . around) ;guessing?
+        (direction . ,DOWN)))
+    ("lineprall"
+     . (
+        (script-stencil . (feta . ("lineprall" . "lineprall")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)))
+    ("longfermata"
+     . (
+        (script-stencil . (feta . ("dlongfermata" . "ulongfermata")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)))
+    ("ltoe"
+     . (
+        (script-stencil . (feta . ("upedaltoe" . "upedaltoe")))
+        (padding . 0.20)
+        (avoid-slur . around) ;guessing?
+        (direction . ,DOWN)))
+
+
+    ("marcato"
+     . (
+        (script-stencil . (feta . ("dmarcato" . "umarcato")))
+        (padding . 0.20)
+        (avoid-slur . inside)
+        ;;(staff-padding . ())
+        (quantize-position . #t)
+        (side-relative-direction . ,DOWN)))
+    ("mordent"
+     . (
+        (script-stencil . (feta . ("mordent" . "mordent")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)))
+
+
+    ("open"
+     . (
+        (avoid-slur . outside)
+        (padding . 0.20)
+        (script-stencil . (feta . ("open" . "open")))
+        (direction . ,UP)))
+
+
+    ("portato"
+     . (
+        (script-stencil . (feta . ("uportato" . "dportato")))
+        (avoid-slur . around)
+        (padding . 0.45)
+        (side-relative-direction . ,DOWN)))
+    ("prall"
+     . (
+        (script-stencil . (feta . ("prall" . "prall")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)))
+    ("pralldown"
+     . (
+        (script-stencil . (feta . ("pralldown" . "pralldown")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)))
+    ("prallmordent"
+     . (
+        (script-stencil . (feta . ("prallmordent" . "prallmordent")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)))
+    ("prallprall"
+     . (
+        (script-stencil . (feta . ("prallprall" . "prallprall")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)))
+    ("prallup"
+     . (
+        (script-stencil . (feta . ("prallup" . "prallup")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)))
+
+
+    ("reverseturn"
+     . (
+        (script-stencil . (feta . ("reverseturn" . "reverseturn")))
+        (padding . 0.20)
+        (avoid-slur . inside)
+        (direction . ,UP)))
+    ("rheel"
+     . (
+        (script-stencil . (feta . ("dpedalheel" . "dpedalheel")))
+        (padding . 0.20)
+        (avoid-slur . around) ;guessing?
+        (direction . ,UP)))
+    ("rtoe"
+     . (
+        (script-stencil . (feta . ("dpedaltoe" . "dpedaltoe")))
+        (padding . 0.20)
+        (avoid-slur . around) ;guessing?
+        (direction . ,UP)))
+
+
+    ("segno"
+     . (
+        (script-stencil . (feta . ("segno" . "segno")))
+        (padding . 0.20)
+        (avoid-slur . outside)
+        (direction . ,UP)))
+    ("semicirculus"
+     . (
+        (script-stencil . (feta . ("dsemicirculus" . "dsemicirculus")))
+        (side-relative-direction . ,DOWN)
+        (quantize-position . #t)
+        (avoid-slur . ignore)
+        (padding . 0.20)
+        (script-priority . -100)
+        (direction . ,UP)))
+    ("shortfermata"
+     . (
+        (script-stencil . (feta . ("dshortfermata" . "ushortfermata")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)))
+    ("signumcongruentiae"
+     . (
+        (script-stencil . (feta . ("dsignumcongruentiae" . "usignumcongruentiae")))
+        (padding . 0.20)
+        (avoid-slur . outside)
+        (direction . ,UP)))
+    ("snappizzicato"
+     . (
+        (script-stencil . (feta . ("snappizzicato" . "snappizzicato")))
+        (padding . 0.20)
+        (avoid-slur . outside)
+        (direction . ,UP)))
+    ("staccatissimo"
+     . (
+        (avoid-slur . inside)
+        (quantize-position . #t)
+        (script-stencil . (feta . ("dstaccatissimo" . "ustaccatissimo")))
+        (padding . 0.20)
+        (skyline-horizontal-padding . 0.10)
+        (side-relative-direction . ,DOWN)
+        (toward-stem-shift . 1.0)
+        (toward-stem-shift-in-column . 0.0)))
+    ("staccato"
+     . (
+        (script-stencil . (feta . ("staccato" . "staccato")))
+        (side-relative-direction . ,DOWN)
+        (quantize-position . #t)
+        (avoid-slur . inside)
+        (toward-stem-shift . 1.0)
+        (toward-stem-shift-in-column . 0.0)
+        (padding . 0.20)
+        (skyline-horizontal-padding . 0.10)
+        (script-priority . -100)))
+    ("stopped"
+     . (
+        (script-stencil . (feta . ("stopped" . "stopped")))
+        (avoid-slur . inside)
+        (padding . 0.20)
+        (direction . ,UP)))
+
+
+    ("tenuto"
+     . (
+        (script-stencil . (feta . ("tenuto" . "tenuto")))
+        (quantize-position . #t)
+        (avoid-slur . inside)
+        (padding . 0.20)
+        (side-relative-direction . ,DOWN)))
+    ("trill"
+     . (
+        (script-stencil . (feta . ("trill" . "trill")))
+        (direction . ,UP)
+        (padding . 0.20)
+        (avoid-slur . outside)
+        (script-priority . 2000)))
+    ("turn"
+     . (
+        (script-stencil . (feta . ("turn" . "turn")))
+        (avoid-slur . inside)
+        (padding . 0.20)
+        (direction . ,UP)))
+
+
+    ("upbow"
+     . (
+        (script-stencil . (feta . ("upbow" . "upbow")))
+        (avoid-slur . around)
+        (padding . 0.20)
+        (direction . ,UP)
+        (script-priority . 150)))
+    ("upmordent"
+     . (
+        (script-stencil . (feta . ("upmordent" . "upmordent")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)))
+    ("upprall"
+     . (
+        (script-stencil . (feta . ("upprall" . "upprall")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)))
+
+
+    ("varcoda"
+     . (
+        (script-stencil . (feta . ("varcoda" . "varcoda")))
+        (padding . 0.20)
+        (avoid-slur . outside)
+        (direction . ,UP)))
+    ("varcomma"
+     . (
+        (script-stencil . (feta . ("lvarcomma" . "rvarcomma")))
+        (quantize-position . #t)
+        (padding . 0.20)
+        (avoid-slur . ignore)
+        (direction . ,UP)))
+    ("verylongfermata"
+     . (
+        (script-stencil . (feta . ("dverylongfermata" . "uverylongfermata")))
+        (padding . 0.20)
+        (avoid-slur . around)
+        (direction . ,UP)))
+    ))