LilyPond-Ruby 0.0.2.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1112) hide show
  1. checksums.yaml +4 -4
  2. data/etc/fonts/conf.d/10-hinting-slight.conf +15 -0
  3. data/etc/fonts/conf.d/10-scale-bitmap-fonts.conf +83 -0
  4. data/etc/fonts/conf.d/11-lcdfilter-default.conf +17 -0
  5. data/etc/fonts/conf.d/20-unhint-small-vera.conf +49 -0
  6. data/etc/fonts/conf.d/30-metric-aliases.conf +637 -0
  7. data/etc/fonts/conf.d/40-nonlatin.conf +332 -0
  8. data/etc/fonts/conf.d/45-generic.conf +136 -0
  9. data/etc/fonts/conf.d/45-latin.conf +301 -0
  10. data/etc/fonts/conf.d/48-spacing.conf +16 -0
  11. data/etc/fonts/conf.d/49-sansserif.conf +22 -0
  12. data/etc/fonts/conf.d/50-user.conf +16 -0
  13. data/etc/fonts/conf.d/51-local.conf +7 -0
  14. data/etc/fonts/conf.d/60-generic.conf +64 -0
  15. data/etc/fonts/conf.d/60-latin.conf +88 -0
  16. data/etc/fonts/conf.d/65-fonts-persian.conf +418 -0
  17. data/etc/fonts/conf.d/65-nonlatin.conf +228 -0
  18. data/etc/fonts/conf.d/69-unifont.conf +28 -0
  19. data/etc/fonts/conf.d/80-delicious.conf +19 -0
  20. data/etc/fonts/conf.d/90-synthetic.conf +64 -0
  21. data/etc/fonts/conf.d/README +23 -0
  22. data/etc/fonts/fonts.conf +101 -0
  23. data/etc/relocate/fontconfig.reloc +2 -0
  24. data/etc/relocate/guile.reloc +2 -0
  25. data/etc/relocate/libexec.reloc +1 -0
  26. data/lib/guile/2.2/ccache/ice-9/and-let-star.go +0 -0
  27. data/lib/guile/2.2/ccache/ice-9/arrays.go +0 -0
  28. data/lib/guile/2.2/ccache/ice-9/atomic.go +0 -0
  29. data/lib/guile/2.2/ccache/ice-9/binary-ports.go +0 -0
  30. data/lib/guile/2.2/ccache/ice-9/boot-9.go +0 -0
  31. data/lib/guile/2.2/ccache/ice-9/buffered-input.go +0 -0
  32. data/lib/guile/2.2/ccache/ice-9/calling.go +0 -0
  33. data/lib/guile/2.2/ccache/ice-9/channel.go +0 -0
  34. data/lib/guile/2.2/ccache/ice-9/command-line.go +0 -0
  35. data/lib/guile/2.2/ccache/ice-9/common-list.go +0 -0
  36. data/lib/guile/2.2/ccache/ice-9/control.go +0 -0
  37. data/lib/guile/2.2/ccache/ice-9/curried-definitions.go +0 -0
  38. data/lib/guile/2.2/ccache/ice-9/debug.go +0 -0
  39. data/lib/guile/2.2/ccache/ice-9/deprecated.go +0 -0
  40. data/lib/guile/2.2/ccache/ice-9/documentation.go +0 -0
  41. data/lib/guile/2.2/ccache/ice-9/eval-string.go +0 -0
  42. data/lib/guile/2.2/ccache/ice-9/eval.go +0 -0
  43. data/lib/guile/2.2/ccache/ice-9/expect.go +0 -0
  44. data/lib/guile/2.2/ccache/ice-9/fdes-finalizers.go +0 -0
  45. data/lib/guile/2.2/ccache/ice-9/format.go +0 -0
  46. data/lib/guile/2.2/ccache/ice-9/ftw.go +0 -0
  47. data/lib/guile/2.2/ccache/ice-9/futures.go +0 -0
  48. data/lib/guile/2.2/ccache/ice-9/gap-buffer.go +0 -0
  49. data/lib/guile/2.2/ccache/ice-9/getopt-long.go +0 -0
  50. data/lib/guile/2.2/ccache/ice-9/hash-table.go +0 -0
  51. data/lib/guile/2.2/ccache/ice-9/hcons.go +0 -0
  52. data/lib/guile/2.2/ccache/ice-9/history.go +0 -0
  53. data/lib/guile/2.2/ccache/ice-9/i18n.go +0 -0
  54. data/lib/guile/2.2/ccache/ice-9/iconv.go +0 -0
  55. data/lib/guile/2.2/ccache/ice-9/lineio.go +0 -0
  56. data/lib/guile/2.2/ccache/ice-9/list.go +0 -0
  57. data/lib/guile/2.2/ccache/ice-9/local-eval.go +0 -0
  58. data/lib/guile/2.2/ccache/ice-9/ls.go +0 -0
  59. data/lib/guile/2.2/ccache/ice-9/mapping.go +0 -0
  60. data/lib/guile/2.2/ccache/ice-9/match.go +0 -0
  61. data/lib/guile/2.2/ccache/ice-9/networking.go +0 -0
  62. data/lib/guile/2.2/ccache/ice-9/null.go +0 -0
  63. data/lib/guile/2.2/ccache/ice-9/occam-channel.go +0 -0
  64. data/lib/guile/2.2/ccache/ice-9/optargs.go +0 -0
  65. data/lib/guile/2.2/ccache/ice-9/peg/cache.go +0 -0
  66. data/lib/guile/2.2/ccache/ice-9/peg/codegen.go +0 -0
  67. data/lib/guile/2.2/ccache/ice-9/peg/simplify-tree.go +0 -0
  68. data/lib/guile/2.2/ccache/ice-9/peg/string-peg.go +0 -0
  69. data/lib/guile/2.2/ccache/ice-9/peg/using-parsers.go +0 -0
  70. data/lib/guile/2.2/ccache/ice-9/peg.go +0 -0
  71. data/lib/guile/2.2/ccache/ice-9/poe.go +0 -0
  72. data/lib/guile/2.2/ccache/ice-9/poll.go +0 -0
  73. data/lib/guile/2.2/ccache/ice-9/popen.go +0 -0
  74. data/lib/guile/2.2/ccache/ice-9/ports.go +0 -0
  75. data/lib/guile/2.2/ccache/ice-9/posix.go +0 -0
  76. data/lib/guile/2.2/ccache/ice-9/pretty-print.go +0 -0
  77. data/lib/guile/2.2/ccache/ice-9/psyntax-pp.go +0 -0
  78. data/lib/guile/2.2/ccache/ice-9/q.go +0 -0
  79. data/lib/guile/2.2/ccache/ice-9/r5rs.go +0 -0
  80. data/lib/guile/2.2/ccache/ice-9/rdelim.go +0 -0
  81. data/lib/guile/2.2/ccache/ice-9/receive.go +0 -0
  82. data/lib/guile/2.2/ccache/ice-9/regex.go +0 -0
  83. data/lib/guile/2.2/ccache/ice-9/runq.go +0 -0
  84. data/lib/guile/2.2/ccache/ice-9/rw.go +0 -0
  85. data/lib/guile/2.2/ccache/ice-9/safe-r5rs.go +0 -0
  86. data/lib/guile/2.2/ccache/ice-9/safe.go +0 -0
  87. data/lib/guile/2.2/ccache/ice-9/sandbox.go +0 -0
  88. data/lib/guile/2.2/ccache/ice-9/save-stack.go +0 -0
  89. data/lib/guile/2.2/ccache/ice-9/scm-style-repl.go +0 -0
  90. data/lib/guile/2.2/ccache/ice-9/serialize.go +0 -0
  91. data/lib/guile/2.2/ccache/ice-9/session.go +0 -0
  92. data/lib/guile/2.2/ccache/ice-9/slib.go +0 -0
  93. data/lib/guile/2.2/ccache/ice-9/stack-catch.go +0 -0
  94. data/lib/guile/2.2/ccache/ice-9/streams.go +0 -0
  95. data/lib/guile/2.2/ccache/ice-9/string-fun.go +0 -0
  96. data/lib/guile/2.2/ccache/ice-9/suspendable-ports.go +0 -0
  97. data/lib/guile/2.2/ccache/ice-9/syncase.go +0 -0
  98. data/lib/guile/2.2/ccache/ice-9/textual-ports.go +0 -0
  99. data/lib/guile/2.2/ccache/ice-9/threads.go +0 -0
  100. data/lib/guile/2.2/ccache/ice-9/time.go +0 -0
  101. data/lib/guile/2.2/ccache/ice-9/top-repl.go +0 -0
  102. data/lib/guile/2.2/ccache/ice-9/unicode.go +0 -0
  103. data/lib/guile/2.2/ccache/ice-9/vlist.go +0 -0
  104. data/lib/guile/2.2/ccache/ice-9/weak-vector.go +0 -0
  105. data/lib/guile/2.2/ccache/language/brainfuck/compile-scheme.go +0 -0
  106. data/lib/guile/2.2/ccache/language/brainfuck/compile-tree-il.go +0 -0
  107. data/lib/guile/2.2/ccache/language/brainfuck/parse.go +0 -0
  108. data/lib/guile/2.2/ccache/language/brainfuck/spec.go +0 -0
  109. data/lib/guile/2.2/ccache/language/bytecode/spec.go +0 -0
  110. data/lib/guile/2.2/ccache/language/bytecode.go +0 -0
  111. data/lib/guile/2.2/ccache/language/cps/closure-conversion.go +0 -0
  112. data/lib/guile/2.2/ccache/language/cps/compile-bytecode.go +0 -0
  113. data/lib/guile/2.2/ccache/language/cps/constructors.go +0 -0
  114. data/lib/guile/2.2/ccache/language/cps/contification.go +0 -0
  115. data/lib/guile/2.2/ccache/language/cps/cse.go +0 -0
  116. data/lib/guile/2.2/ccache/language/cps/dce.go +0 -0
  117. data/lib/guile/2.2/ccache/language/cps/effects-analysis.go +0 -0
  118. data/lib/guile/2.2/ccache/language/cps/elide-values.go +0 -0
  119. data/lib/guile/2.2/ccache/language/cps/handle-interrupts.go +0 -0
  120. data/lib/guile/2.2/ccache/language/cps/intmap.go +0 -0
  121. data/lib/guile/2.2/ccache/language/cps/intset.go +0 -0
  122. data/lib/guile/2.2/ccache/language/cps/licm.go +0 -0
  123. data/lib/guile/2.2/ccache/language/cps/optimize.go +0 -0
  124. data/lib/guile/2.2/ccache/language/cps/peel-loops.go +0 -0
  125. data/lib/guile/2.2/ccache/language/cps/primitives.go +0 -0
  126. data/lib/guile/2.2/ccache/language/cps/prune-bailouts.go +0 -0
  127. data/lib/guile/2.2/ccache/language/cps/prune-top-level-scopes.go +0 -0
  128. data/lib/guile/2.2/ccache/language/cps/reify-primitives.go +0 -0
  129. data/lib/guile/2.2/ccache/language/cps/renumber.go +0 -0
  130. data/lib/guile/2.2/ccache/language/cps/rotate-loops.go +0 -0
  131. data/lib/guile/2.2/ccache/language/cps/self-references.go +0 -0
  132. data/lib/guile/2.2/ccache/language/cps/simplify.go +0 -0
  133. data/lib/guile/2.2/ccache/language/cps/slot-allocation.go +0 -0
  134. data/lib/guile/2.2/ccache/language/cps/spec.go +0 -0
  135. data/lib/guile/2.2/ccache/language/cps/specialize-numbers.go +0 -0
  136. data/lib/guile/2.2/ccache/language/cps/specialize-primcalls.go +0 -0
  137. data/lib/guile/2.2/ccache/language/cps/split-rec.go +0 -0
  138. data/lib/guile/2.2/ccache/language/cps/type-checks.go +0 -0
  139. data/lib/guile/2.2/ccache/language/cps/type-fold.go +0 -0
  140. data/lib/guile/2.2/ccache/language/cps/types.go +0 -0
  141. data/lib/guile/2.2/ccache/language/cps/utils.go +0 -0
  142. data/lib/guile/2.2/ccache/language/cps/verify.go +0 -0
  143. data/lib/guile/2.2/ccache/language/cps/with-cps.go +0 -0
  144. data/lib/guile/2.2/ccache/language/cps.go +0 -0
  145. data/lib/guile/2.2/ccache/language/ecmascript/array.go +0 -0
  146. data/lib/guile/2.2/ccache/language/ecmascript/base.go +0 -0
  147. data/lib/guile/2.2/ccache/language/ecmascript/compile-tree-il.go +0 -0
  148. data/lib/guile/2.2/ccache/language/ecmascript/function.go +0 -0
  149. data/lib/guile/2.2/ccache/language/ecmascript/impl.go +0 -0
  150. data/lib/guile/2.2/ccache/language/ecmascript/parse.go +0 -0
  151. data/lib/guile/2.2/ccache/language/ecmascript/spec.go +0 -0
  152. data/lib/guile/2.2/ccache/language/ecmascript/tokenize.go +0 -0
  153. data/lib/guile/2.2/ccache/language/elisp/bindings.go +0 -0
  154. data/lib/guile/2.2/ccache/language/elisp/boot.go +0 -0
  155. data/lib/guile/2.2/ccache/language/elisp/compile-tree-il.go +0 -0
  156. data/lib/guile/2.2/ccache/language/elisp/falias.go +0 -0
  157. data/lib/guile/2.2/ccache/language/elisp/lexer.go +0 -0
  158. data/lib/guile/2.2/ccache/language/elisp/parser.go +0 -0
  159. data/lib/guile/2.2/ccache/language/elisp/runtime/function-slot.go +0 -0
  160. data/lib/guile/2.2/ccache/language/elisp/runtime/value-slot.go +0 -0
  161. data/lib/guile/2.2/ccache/language/elisp/runtime.go +0 -0
  162. data/lib/guile/2.2/ccache/language/elisp/spec.go +0 -0
  163. data/lib/guile/2.2/ccache/language/scheme/compile-tree-il.go +0 -0
  164. data/lib/guile/2.2/ccache/language/scheme/decompile-tree-il.go +0 -0
  165. data/lib/guile/2.2/ccache/language/scheme/spec.go +0 -0
  166. data/lib/guile/2.2/ccache/language/tree-il/analyze.go +0 -0
  167. data/lib/guile/2.2/ccache/language/tree-il/canonicalize.go +0 -0
  168. data/lib/guile/2.2/ccache/language/tree-il/compile-cps.go +0 -0
  169. data/lib/guile/2.2/ccache/language/tree-il/debug.go +0 -0
  170. data/lib/guile/2.2/ccache/language/tree-il/effects.go +0 -0
  171. data/lib/guile/2.2/ccache/language/tree-il/fix-letrec.go +0 -0
  172. data/lib/guile/2.2/ccache/language/tree-il/optimize.go +0 -0
  173. data/lib/guile/2.2/ccache/language/tree-il/peval.go +0 -0
  174. data/lib/guile/2.2/ccache/language/tree-il/primitives.go +0 -0
  175. data/lib/guile/2.2/ccache/language/tree-il/spec.go +0 -0
  176. data/lib/guile/2.2/ccache/language/tree-il.go +0 -0
  177. data/lib/guile/2.2/ccache/language/value/spec.go +0 -0
  178. data/lib/guile/2.2/ccache/oop/goops/accessors.go +0 -0
  179. data/lib/guile/2.2/ccache/oop/goops/active-slot.go +0 -0
  180. data/lib/guile/2.2/ccache/oop/goops/composite-slot.go +0 -0
  181. data/lib/guile/2.2/ccache/oop/goops/describe.go +0 -0
  182. data/lib/guile/2.2/ccache/oop/goops/internal.go +0 -0
  183. data/lib/guile/2.2/ccache/oop/goops/save.go +0 -0
  184. data/lib/guile/2.2/ccache/oop/goops/simple.go +0 -0
  185. data/lib/guile/2.2/ccache/oop/goops/stklos.go +0 -0
  186. data/lib/guile/2.2/ccache/oop/goops.go +0 -0
  187. data/lib/guile/2.2/ccache/rnrs/arithmetic/bitwise.go +0 -0
  188. data/lib/guile/2.2/ccache/rnrs/arithmetic/fixnums.go +0 -0
  189. data/lib/guile/2.2/ccache/rnrs/arithmetic/flonums.go +0 -0
  190. data/lib/guile/2.2/ccache/rnrs/base.go +0 -0
  191. data/lib/guile/2.2/ccache/rnrs/bytevectors.go +0 -0
  192. data/lib/guile/2.2/ccache/rnrs/conditions.go +0 -0
  193. data/lib/guile/2.2/ccache/rnrs/control.go +0 -0
  194. data/lib/guile/2.2/ccache/rnrs/enums.go +0 -0
  195. data/lib/guile/2.2/ccache/rnrs/eval.go +0 -0
  196. data/lib/guile/2.2/ccache/rnrs/exceptions.go +0 -0
  197. data/lib/guile/2.2/ccache/rnrs/files.go +0 -0
  198. data/lib/guile/2.2/ccache/rnrs/hashtables.go +0 -0
  199. data/lib/guile/2.2/ccache/rnrs/io/ports.go +0 -0
  200. data/lib/guile/2.2/ccache/rnrs/io/simple.go +0 -0
  201. data/lib/guile/2.2/ccache/rnrs/lists.go +0 -0
  202. data/lib/guile/2.2/ccache/rnrs/mutable-pairs.go +0 -0
  203. data/lib/guile/2.2/ccache/rnrs/mutable-strings.go +0 -0
  204. data/lib/guile/2.2/ccache/rnrs/programs.go +0 -0
  205. data/lib/guile/2.2/ccache/rnrs/r5rs.go +0 -0
  206. data/lib/guile/2.2/ccache/rnrs/records/inspection.go +0 -0
  207. data/lib/guile/2.2/ccache/rnrs/records/procedural.go +0 -0
  208. data/lib/guile/2.2/ccache/rnrs/records/syntactic.go +0 -0
  209. data/lib/guile/2.2/ccache/rnrs/sorting.go +0 -0
  210. data/lib/guile/2.2/ccache/rnrs/syntax-case.go +0 -0
  211. data/lib/guile/2.2/ccache/rnrs/unicode.go +0 -0
  212. data/lib/guile/2.2/ccache/rnrs.go +0 -0
  213. data/lib/guile/2.2/ccache/scripts/api-diff.go +0 -0
  214. data/lib/guile/2.2/ccache/scripts/autofrisk.go +0 -0
  215. data/lib/guile/2.2/ccache/scripts/compile.go +0 -0
  216. data/lib/guile/2.2/ccache/scripts/disassemble.go +0 -0
  217. data/lib/guile/2.2/ccache/scripts/display-commentary.go +0 -0
  218. data/lib/guile/2.2/ccache/scripts/doc-snarf.go +0 -0
  219. data/lib/guile/2.2/ccache/scripts/frisk.go +0 -0
  220. data/lib/guile/2.2/ccache/scripts/generate-autoload.go +0 -0
  221. data/lib/guile/2.2/ccache/scripts/help.go +0 -0
  222. data/lib/guile/2.2/ccache/scripts/lint.go +0 -0
  223. data/lib/guile/2.2/ccache/scripts/list.go +0 -0
  224. data/lib/guile/2.2/ccache/scripts/punify.go +0 -0
  225. data/lib/guile/2.2/ccache/scripts/read-rfc822.go +0 -0
  226. data/lib/guile/2.2/ccache/scripts/read-scheme-source.go +0 -0
  227. data/lib/guile/2.2/ccache/scripts/read-text-outline.go +0 -0
  228. data/lib/guile/2.2/ccache/scripts/scan-api.go +0 -0
  229. data/lib/guile/2.2/ccache/scripts/snarf-check-and-output-texi.go +0 -0
  230. data/lib/guile/2.2/ccache/scripts/snarf-guile-m4-docs.go +0 -0
  231. data/lib/guile/2.2/ccache/scripts/summarize-guile-TODO.go +0 -0
  232. data/lib/guile/2.2/ccache/scripts/use2dot.go +0 -0
  233. data/lib/guile/2.2/ccache/srfi/srfi-1.go +0 -0
  234. data/lib/guile/2.2/ccache/srfi/srfi-10.go +0 -0
  235. data/lib/guile/2.2/ccache/srfi/srfi-11.go +0 -0
  236. data/lib/guile/2.2/ccache/srfi/srfi-111.go +0 -0
  237. data/lib/guile/2.2/ccache/srfi/srfi-13.go +0 -0
  238. data/lib/guile/2.2/ccache/srfi/srfi-14.go +0 -0
  239. data/lib/guile/2.2/ccache/srfi/srfi-16.go +0 -0
  240. data/lib/guile/2.2/ccache/srfi/srfi-17.go +0 -0
  241. data/lib/guile/2.2/ccache/srfi/srfi-18.go +0 -0
  242. data/lib/guile/2.2/ccache/srfi/srfi-19.go +0 -0
  243. data/lib/guile/2.2/ccache/srfi/srfi-2.go +0 -0
  244. data/lib/guile/2.2/ccache/srfi/srfi-26.go +0 -0
  245. data/lib/guile/2.2/ccache/srfi/srfi-27.go +0 -0
  246. data/lib/guile/2.2/ccache/srfi/srfi-28.go +0 -0
  247. data/lib/guile/2.2/ccache/srfi/srfi-31.go +0 -0
  248. data/lib/guile/2.2/ccache/srfi/srfi-34.go +0 -0
  249. data/lib/guile/2.2/ccache/srfi/srfi-35.go +0 -0
  250. data/lib/guile/2.2/ccache/srfi/srfi-37.go +0 -0
  251. data/lib/guile/2.2/ccache/srfi/srfi-38.go +0 -0
  252. data/lib/guile/2.2/ccache/srfi/srfi-39.go +0 -0
  253. data/lib/guile/2.2/ccache/srfi/srfi-4/gnu.go +0 -0
  254. data/lib/guile/2.2/ccache/srfi/srfi-4.go +0 -0
  255. data/lib/guile/2.2/ccache/srfi/srfi-41.go +0 -0
  256. data/lib/guile/2.2/ccache/srfi/srfi-42.go +0 -0
  257. data/lib/guile/2.2/ccache/srfi/srfi-43.go +0 -0
  258. data/lib/guile/2.2/ccache/srfi/srfi-45.go +0 -0
  259. data/lib/guile/2.2/ccache/srfi/srfi-6.go +0 -0
  260. data/lib/guile/2.2/ccache/srfi/srfi-60.go +0 -0
  261. data/lib/guile/2.2/ccache/srfi/srfi-64.go +0 -0
  262. data/lib/guile/2.2/ccache/srfi/srfi-67.go +0 -0
  263. data/lib/guile/2.2/ccache/srfi/srfi-69.go +0 -0
  264. data/lib/guile/2.2/ccache/srfi/srfi-71.go +0 -0
  265. data/lib/guile/2.2/ccache/srfi/srfi-8.go +0 -0
  266. data/lib/guile/2.2/ccache/srfi/srfi-88.go +0 -0
  267. data/lib/guile/2.2/ccache/srfi/srfi-9/gnu.go +0 -0
  268. data/lib/guile/2.2/ccache/srfi/srfi-9.go +0 -0
  269. data/lib/guile/2.2/ccache/srfi/srfi-98.go +0 -0
  270. data/lib/guile/2.2/ccache/statprof.go +0 -0
  271. data/lib/guile/2.2/ccache/sxml/apply-templates.go +0 -0
  272. data/lib/guile/2.2/ccache/sxml/fold.go +0 -0
  273. data/lib/guile/2.2/ccache/sxml/match.go +0 -0
  274. data/lib/guile/2.2/ccache/sxml/simple.go +0 -0
  275. data/lib/guile/2.2/ccache/sxml/ssax/input-parse.go +0 -0
  276. data/lib/guile/2.2/ccache/sxml/ssax.go +0 -0
  277. data/lib/guile/2.2/ccache/sxml/transform.go +0 -0
  278. data/lib/guile/2.2/ccache/sxml/xpath.go +0 -0
  279. data/lib/guile/2.2/ccache/system/base/ck.go +0 -0
  280. data/lib/guile/2.2/ccache/system/base/compile.go +0 -0
  281. data/lib/guile/2.2/ccache/system/base/lalr.go +0 -0
  282. data/lib/guile/2.2/ccache/system/base/language.go +0 -0
  283. data/lib/guile/2.2/ccache/system/base/message.go +0 -0
  284. data/lib/guile/2.2/ccache/system/base/pmatch.go +0 -0
  285. data/lib/guile/2.2/ccache/system/base/syntax.go +0 -0
  286. data/lib/guile/2.2/ccache/system/base/target.go +0 -0
  287. data/lib/guile/2.2/ccache/system/base/types.go +0 -0
  288. data/lib/guile/2.2/ccache/system/foreign-object.go +0 -0
  289. data/lib/guile/2.2/ccache/system/foreign.go +0 -0
  290. data/lib/guile/2.2/ccache/system/repl/command.go +0 -0
  291. data/lib/guile/2.2/ccache/system/repl/common.go +0 -0
  292. data/lib/guile/2.2/ccache/system/repl/coop-server.go +0 -0
  293. data/lib/guile/2.2/ccache/system/repl/debug.go +0 -0
  294. data/lib/guile/2.2/ccache/system/repl/error-handling.go +0 -0
  295. data/lib/guile/2.2/ccache/system/repl/repl.go +0 -0
  296. data/lib/guile/2.2/ccache/system/repl/server.go +0 -0
  297. data/lib/guile/2.2/ccache/system/syntax.go +0 -0
  298. data/lib/guile/2.2/ccache/system/vm/assembler.go +0 -0
  299. data/lib/guile/2.2/ccache/system/vm/coverage.go +0 -0
  300. data/lib/guile/2.2/ccache/system/vm/debug.go +0 -0
  301. data/lib/guile/2.2/ccache/system/vm/disassembler.go +0 -0
  302. data/lib/guile/2.2/ccache/system/vm/dwarf.go +0 -0
  303. data/lib/guile/2.2/ccache/system/vm/elf.go +0 -0
  304. data/lib/guile/2.2/ccache/system/vm/frame.go +0 -0
  305. data/lib/guile/2.2/ccache/system/vm/inspect.go +0 -0
  306. data/lib/guile/2.2/ccache/system/vm/linker.go +0 -0
  307. data/lib/guile/2.2/ccache/system/vm/loader.go +0 -0
  308. data/lib/guile/2.2/ccache/system/vm/program.go +0 -0
  309. data/lib/guile/2.2/ccache/system/vm/trace.go +0 -0
  310. data/lib/guile/2.2/ccache/system/vm/trap-state.go +0 -0
  311. data/lib/guile/2.2/ccache/system/vm/traps.go +0 -0
  312. data/lib/guile/2.2/ccache/system/vm/vm.go +0 -0
  313. data/lib/guile/2.2/ccache/system/xref.go +0 -0
  314. data/lib/guile/2.2/ccache/texinfo/docbook.go +0 -0
  315. data/lib/guile/2.2/ccache/texinfo/html.go +0 -0
  316. data/lib/guile/2.2/ccache/texinfo/indexing.go +0 -0
  317. data/lib/guile/2.2/ccache/texinfo/plain-text.go +0 -0
  318. data/lib/guile/2.2/ccache/texinfo/reflection.go +0 -0
  319. data/lib/guile/2.2/ccache/texinfo/serialize.go +0 -0
  320. data/lib/guile/2.2/ccache/texinfo/string-utils.go +0 -0
  321. data/lib/guile/2.2/ccache/texinfo.go +0 -0
  322. data/lib/guile/2.2/ccache/web/client.go +0 -0
  323. data/lib/guile/2.2/ccache/web/http.go +0 -0
  324. data/lib/guile/2.2/ccache/web/request.go +0 -0
  325. data/lib/guile/2.2/ccache/web/response.go +0 -0
  326. data/lib/guile/2.2/ccache/web/server/http.go +0 -0
  327. data/lib/guile/2.2/ccache/web/server.go +0 -0
  328. data/lib/guile/2.2/ccache/web/uri.go +0 -0
  329. data/lib/guile.rb +19 -0
  330. data/lib/lilypond/2.24.1/ccache/lily/accreg.go +0 -0
  331. data/lib/lilypond/2.24.1/ccache/lily/auto-beam.go +0 -0
  332. data/lib/lilypond/2.24.1/ccache/lily/autochange.go +0 -0
  333. data/lib/lilypond/2.24.1/ccache/lily/backend-library.go +0 -0
  334. data/lib/lilypond/2.24.1/ccache/lily/bar-line.go +0 -0
  335. data/lib/lilypond/2.24.1/ccache/lily/breath.go +0 -0
  336. data/lib/lilypond/2.24.1/ccache/lily/c++.go +0 -0
  337. data/lib/lilypond/2.24.1/ccache/lily/chord-entry.go +0 -0
  338. data/lib/lilypond/2.24.1/ccache/lily/chord-ignatzek-names.go +0 -0
  339. data/lib/lilypond/2.24.1/ccache/lily/chord-name.go +0 -0
  340. data/lib/lilypond/2.24.1/ccache/lily/clip-region.go +0 -0
  341. data/lib/lilypond/2.24.1/ccache/lily/color.go +0 -0
  342. data/lib/lilypond/2.24.1/ccache/lily/curried-definitions.go +0 -0
  343. data/lib/lilypond/2.24.1/ccache/lily/define-context-properties.go +0 -0
  344. data/lib/lilypond/2.24.1/ccache/lily/define-event-classes.go +0 -0
  345. data/lib/lilypond/2.24.1/ccache/lily/define-grob-interfaces.go +0 -0
  346. data/lib/lilypond/2.24.1/ccache/lily/define-grob-properties.go +0 -0
  347. data/lib/lilypond/2.24.1/ccache/lily/define-grobs.go +0 -0
  348. data/lib/lilypond/2.24.1/ccache/lily/define-markup-commands.go +0 -0
  349. data/lib/lilypond/2.24.1/ccache/lily/define-music-callbacks.go +0 -0
  350. data/lib/lilypond/2.24.1/ccache/lily/define-music-display-methods.go +0 -0
  351. data/lib/lilypond/2.24.1/ccache/lily/define-music-properties.go +0 -0
  352. data/lib/lilypond/2.24.1/ccache/lily/define-music-types.go +0 -0
  353. data/lib/lilypond/2.24.1/ccache/lily/define-note-names.go +0 -0
  354. data/lib/lilypond/2.24.1/ccache/lily/define-stencil-commands.go +0 -0
  355. data/lib/lilypond/2.24.1/ccache/lily/define-woodwind-diagrams.go +0 -0
  356. data/lib/lilypond/2.24.1/ccache/lily/display-lily.go +0 -0
  357. data/lib/lilypond/2.24.1/ccache/lily/display-woodwind-diagrams.go +0 -0
  358. data/lib/lilypond/2.24.1/ccache/lily/file-cache.go +0 -0
  359. data/lib/lilypond/2.24.1/ccache/lily/flag-styles.go +0 -0
  360. data/lib/lilypond/2.24.1/ccache/lily/font-encodings.go +0 -0
  361. data/lib/lilypond/2.24.1/ccache/lily/font.go +0 -0
  362. data/lib/lilypond/2.24.1/ccache/lily/framework-cairo.go +0 -0
  363. data/lib/lilypond/2.24.1/ccache/lily/framework-ps.go +0 -0
  364. data/lib/lilypond/2.24.1/ccache/lily/framework-svg.go +0 -0
  365. data/lib/lilypond/2.24.1/ccache/lily/fret-diagrams.go +0 -0
  366. data/lib/lilypond/2.24.1/ccache/lily/graphviz.go +0 -0
  367. data/lib/lilypond/2.24.1/ccache/lily/harp-pedals.go +0 -0
  368. data/lib/lilypond/2.24.1/ccache/lily/layout-beam.go +0 -0
  369. data/lib/lilypond/2.24.1/ccache/lily/layout-slur.go +0 -0
  370. data/lib/lilypond/2.24.1/ccache/lily/lily-library.go +0 -0
  371. data/lib/lilypond/2.24.1/ccache/lily/lily.go +0 -0
  372. data/lib/lilypond/2.24.1/ccache/lily/ly-syntax-constructors.go +0 -0
  373. data/lib/lilypond/2.24.1/ccache/lily/markup-macros.go +0 -0
  374. data/lib/lilypond/2.24.1/ccache/lily/markup.go +0 -0
  375. data/lib/lilypond/2.24.1/ccache/lily/midi.go +0 -0
  376. data/lib/lilypond/2.24.1/ccache/lily/modal-transforms.go +0 -0
  377. data/lib/lilypond/2.24.1/ccache/lily/music-functions.go +0 -0
  378. data/lib/lilypond/2.24.1/ccache/lily/output-lib.go +0 -0
  379. data/lib/lilypond/2.24.1/ccache/lily/output-ps.go +0 -0
  380. data/lib/lilypond/2.24.1/ccache/lily/output-svg.go +0 -0
  381. data/lib/lilypond/2.24.1/ccache/lily/page.go +0 -0
  382. data/lib/lilypond/2.24.1/ccache/lily/paper-system.go +0 -0
  383. data/lib/lilypond/2.24.1/ccache/lily/paper.go +0 -0
  384. data/lib/lilypond/2.24.1/ccache/lily/parser-clef.go +0 -0
  385. data/lib/lilypond/2.24.1/ccache/lily/parser-ly-from-scheme.go +0 -0
  386. data/lib/lilypond/2.24.1/ccache/lily/part-combiner.go +0 -0
  387. data/lib/lilypond/2.24.1/ccache/lily/predefined-fretboards.go +0 -0
  388. data/lib/lilypond/2.24.1/ccache/lily/ps-to-png.go +0 -0
  389. data/lib/lilypond/2.24.1/ccache/lily/scheme-engravers.go +0 -0
  390. data/lib/lilypond/2.24.1/ccache/lily/scheme-performers.go +0 -0
  391. data/lib/lilypond/2.24.1/ccache/lily/script.go +0 -0
  392. data/lib/lilypond/2.24.1/ccache/lily/skyline.go +0 -0
  393. data/lib/lilypond/2.24.1/ccache/lily/song-util.go +0 -0
  394. data/lib/lilypond/2.24.1/ccache/lily/song.go +0 -0
  395. data/lib/lilypond/2.24.1/ccache/lily/stencil.go +0 -0
  396. data/lib/lilypond/2.24.1/ccache/lily/tablature.go +0 -0
  397. data/lib/lilypond/2.24.1/ccache/lily/time-signature-settings.go +0 -0
  398. data/lib/lilypond/2.24.1/ccache/lily/time-signature.go +0 -0
  399. data/lib/lilypond/2.24.1/ccache/lily/titling.go +0 -0
  400. data/lib/lilypond/2.24.1/ccache/lily/to-xml.go +0 -0
  401. data/lib/lilypond/2.24.1/ccache/lily/translation-functions.go +0 -0
  402. data/lib/lilypond/builder.rb +161 -0
  403. data/lib/lilypond-ruby.rb +18 -3
  404. data/share/emacs/site-lisp/lilypond-font-lock.el +208 -0
  405. data/share/emacs/site-lisp/lilypond-indent.el +605 -0
  406. data/share/emacs/site-lisp/lilypond-init.el +21 -0
  407. data/share/emacs/site-lisp/lilypond-mode.el +1204 -0
  408. data/share/emacs/site-lisp/lilypond-song.el +556 -0
  409. data/share/emacs/site-lisp/lilypond-what-beat.el +279 -0
  410. data/share/emacs/site-lisp/lilypond-words.el +1428 -0
  411. data/share/guile/2.2/guile-procedures.txt +8860 -0
  412. data/share/guile/2.2/ice-9/and-let-star.scm +73 -0
  413. data/share/guile/2.2/ice-9/arrays.scm +70 -0
  414. data/share/guile/2.2/ice-9/atomic.scm +38 -0
  415. data/share/guile/2.2/ice-9/binary-ports.scm +53 -0
  416. data/share/guile/2.2/ice-9/boot-9.scm +4131 -0
  417. data/share/guile/2.2/ice-9/buffered-input.scm +109 -0
  418. data/share/guile/2.2/ice-9/calling.scm +326 -0
  419. data/share/guile/2.2/ice-9/channel.scm +170 -0
  420. data/share/guile/2.2/ice-9/command-line.scm +477 -0
  421. data/share/guile/2.2/ice-9/common-list.scm +278 -0
  422. data/share/guile/2.2/ice-9/control.scm +110 -0
  423. data/share/guile/2.2/ice-9/curried-definitions.scm +57 -0
  424. data/share/guile/2.2/ice-9/debug.scm +25 -0
  425. data/share/guile/2.2/ice-9/deprecated.scm +93 -0
  426. data/share/guile/2.2/ice-9/documentation.scm +203 -0
  427. data/share/guile/2.2/ice-9/eval-string.scm +90 -0
  428. data/share/guile/2.2/ice-9/eval.scm +723 -0
  429. data/share/guile/2.2/ice-9/expect.scm +171 -0
  430. data/share/guile/2.2/ice-9/fdes-finalizers.scm +25 -0
  431. data/share/guile/2.2/ice-9/format.scm +1626 -0
  432. data/share/guile/2.2/ice-9/ftw.scm +564 -0
  433. data/share/guile/2.2/ice-9/futures.scm +308 -0
  434. data/share/guile/2.2/ice-9/gap-buffer.scm +283 -0
  435. data/share/guile/2.2/ice-9/getopt-long.scm +371 -0
  436. data/share/guile/2.2/ice-9/hash-table.scm +45 -0
  437. data/share/guile/2.2/ice-9/hcons.scm +80 -0
  438. data/share/guile/2.2/ice-9/history.scm +65 -0
  439. data/share/guile/2.2/ice-9/i18n.scm +531 -0
  440. data/share/guile/2.2/ice-9/iconv.scm +95 -0
  441. data/share/guile/2.2/ice-9/lineio.scm +115 -0
  442. data/share/guile/2.2/ice-9/list.scm +36 -0
  443. data/share/guile/2.2/ice-9/local-eval.scm +261 -0
  444. data/share/guile/2.2/ice-9/ls.scm +94 -0
  445. data/share/guile/2.2/ice-9/mapping.scm +118 -0
  446. data/share/guile/2.2/ice-9/match.scm +59 -0
  447. data/share/guile/2.2/ice-9/match.upstream.scm +917 -0
  448. data/share/guile/2.2/ice-9/networking.scm +94 -0
  449. data/share/guile/2.2/ice-9/null.scm +34 -0
  450. data/share/guile/2.2/ice-9/occam-channel.scm +261 -0
  451. data/share/guile/2.2/ice-9/optargs.scm +381 -0
  452. data/share/guile/2.2/ice-9/peg/cache.scm +45 -0
  453. data/share/guile/2.2/ice-9/peg/codegen.scm +359 -0
  454. data/share/guile/2.2/ice-9/peg/simplify-tree.scm +97 -0
  455. data/share/guile/2.2/ice-9/peg/string-peg.scm +273 -0
  456. data/share/guile/2.2/ice-9/peg/using-parsers.scm +116 -0
  457. data/share/guile/2.2/ice-9/peg.scm +42 -0
  458. data/share/guile/2.2/ice-9/poe.scm +116 -0
  459. data/share/guile/2.2/ice-9/poll.scm +172 -0
  460. data/share/guile/2.2/ice-9/popen.scm +178 -0
  461. data/share/guile/2.2/ice-9/ports.scm +566 -0
  462. data/share/guile/2.2/ice-9/posix.scm +75 -0
  463. data/share/guile/2.2/ice-9/pretty-print.scm +483 -0
  464. data/share/guile/2.2/ice-9/psyntax-pp.scm +3542 -0
  465. data/share/guile/2.2/ice-9/psyntax.scm +3326 -0
  466. data/share/guile/2.2/ice-9/q.scm +153 -0
  467. data/share/guile/2.2/ice-9/quasisyntax.scm +136 -0
  468. data/share/guile/2.2/ice-9/r5rs.scm +45 -0
  469. data/share/guile/2.2/ice-9/r6rs-libraries.scm +242 -0
  470. data/share/guile/2.2/ice-9/rdelim.scm +208 -0
  471. data/share/guile/2.2/ice-9/receive.scm +26 -0
  472. data/share/guile/2.2/ice-9/regex.scm +229 -0
  473. data/share/guile/2.2/ice-9/runq.scm +241 -0
  474. data/share/guile/2.2/ice-9/rw.scm +27 -0
  475. data/share/guile/2.2/ice-9/safe-r5rs.scm +145 -0
  476. data/share/guile/2.2/ice-9/safe.scm +34 -0
  477. data/share/guile/2.2/ice-9/sandbox.scm +1399 -0
  478. data/share/guile/2.2/ice-9/save-stack.scm +58 -0
  479. data/share/guile/2.2/ice-9/scm-style-repl.scm +279 -0
  480. data/share/guile/2.2/ice-9/serialize.scm +114 -0
  481. data/share/guile/2.2/ice-9/session.scm +530 -0
  482. data/share/guile/2.2/ice-9/slib.scm +33 -0
  483. data/share/guile/2.2/ice-9/stack-catch.scm +47 -0
  484. data/share/guile/2.2/ice-9/streams.scm +168 -0
  485. data/share/guile/2.2/ice-9/string-fun.scm +280 -0
  486. data/share/guile/2.2/ice-9/suspendable-ports.scm +788 -0
  487. data/share/guile/2.2/ice-9/syncase.scm +37 -0
  488. data/share/guile/2.2/ice-9/textual-ports.scm +70 -0
  489. data/share/guile/2.2/ice-9/threads.scm +392 -0
  490. data/share/guile/2.2/ice-9/time.scm +58 -0
  491. data/share/guile/2.2/ice-9/top-repl.scm +78 -0
  492. data/share/guile/2.2/ice-9/unicode.scm +26 -0
  493. data/share/guile/2.2/ice-9/vlist.scm +595 -0
  494. data/share/guile/2.2/ice-9/weak-vector.scm +31 -0
  495. data/share/guile/2.2/language/brainfuck/compile-scheme.scm +123 -0
  496. data/share/guile/2.2/language/brainfuck/compile-tree-il.scm +184 -0
  497. data/share/guile/2.2/language/brainfuck/parse.scm +95 -0
  498. data/share/guile/2.2/language/brainfuck/spec.scm +43 -0
  499. data/share/guile/2.2/language/bytecode/spec.scm +42 -0
  500. data/share/guile/2.2/language/bytecode.scm +104 -0
  501. data/share/guile/2.2/language/cps/closure-conversion.scm +848 -0
  502. data/share/guile/2.2/language/cps/compile-bytecode.scm +610 -0
  503. data/share/guile/2.2/language/cps/constructors.scm +106 -0
  504. data/share/guile/2.2/language/cps/contification.scm +448 -0
  505. data/share/guile/2.2/language/cps/cse.scm +414 -0
  506. data/share/guile/2.2/language/cps/dce.scm +363 -0
  507. data/share/guile/2.2/language/cps/effects-analysis.scm +597 -0
  508. data/share/guile/2.2/language/cps/elide-values.scm +88 -0
  509. data/share/guile/2.2/language/cps/handle-interrupts.scm +69 -0
  510. data/share/guile/2.2/language/cps/intmap.scm +765 -0
  511. data/share/guile/2.2/language/cps/intset.scm +830 -0
  512. data/share/guile/2.2/language/cps/licm.scm +308 -0
  513. data/share/guile/2.2/language/cps/optimize.scm +135 -0
  514. data/share/guile/2.2/language/cps/peel-loops.scm +287 -0
  515. data/share/guile/2.2/language/cps/primitives.scm +141 -0
  516. data/share/guile/2.2/language/cps/prune-bailouts.scm +86 -0
  517. data/share/guile/2.2/language/cps/prune-top-level-scopes.scm +63 -0
  518. data/share/guile/2.2/language/cps/reify-primitives.scm +179 -0
  519. data/share/guile/2.2/language/cps/renumber.scm +217 -0
  520. data/share/guile/2.2/language/cps/rotate-loops.scm +239 -0
  521. data/share/guile/2.2/language/cps/self-references.scm +79 -0
  522. data/share/guile/2.2/language/cps/simplify.scm +274 -0
  523. data/share/guile/2.2/language/cps/slot-allocation.scm +1058 -0
  524. data/share/guile/2.2/language/cps/spec.scm +51 -0
  525. data/share/guile/2.2/language/cps/specialize-numbers.scm +724 -0
  526. data/share/guile/2.2/language/cps/specialize-primcalls.scm +87 -0
  527. data/share/guile/2.2/language/cps/split-rec.scm +174 -0
  528. data/share/guile/2.2/language/cps/type-checks.scm +72 -0
  529. data/share/guile/2.2/language/cps/type-fold.scm +455 -0
  530. data/share/guile/2.2/language/cps/types.scm +1826 -0
  531. data/share/guile/2.2/language/cps/utils.scm +550 -0
  532. data/share/guile/2.2/language/cps/verify.scm +304 -0
  533. data/share/guile/2.2/language/cps/with-cps.scm +145 -0
  534. data/share/guile/2.2/language/cps.scm +358 -0
  535. data/share/guile/2.2/language/ecmascript/array.scm +121 -0
  536. data/share/guile/2.2/language/ecmascript/base.scm +251 -0
  537. data/share/guile/2.2/language/ecmascript/compile-tree-il.scm +576 -0
  538. data/share/guile/2.2/language/ecmascript/function.scm +78 -0
  539. data/share/guile/2.2/language/ecmascript/impl.scm +169 -0
  540. data/share/guile/2.2/language/ecmascript/parse.scm +352 -0
  541. data/share/guile/2.2/language/ecmascript/spec.scm +37 -0
  542. data/share/guile/2.2/language/ecmascript/tokenize.scm +513 -0
  543. data/share/guile/2.2/language/elisp/bindings.scm +107 -0
  544. data/share/guile/2.2/language/elisp/boot.el +617 -0
  545. data/share/guile/2.2/language/elisp/compile-tree-il.scm +812 -0
  546. data/share/guile/2.2/language/elisp/falias.scm +47 -0
  547. data/share/guile/2.2/language/elisp/lexer.scm +430 -0
  548. data/share/guile/2.2/language/elisp/parser.scm +222 -0
  549. data/share/guile/2.2/language/elisp/runtime/function-slot.scm +63 -0
  550. data/share/guile/2.2/language/elisp/runtime/value-slot.scm +24 -0
  551. data/share/guile/2.2/language/elisp/runtime.scm +153 -0
  552. data/share/guile/2.2/language/elisp/spec.scm +43 -0
  553. data/share/guile/2.2/language/scheme/compile-tree-il.scm +33 -0
  554. data/share/guile/2.2/language/scheme/decompile-tree-il.scm +796 -0
  555. data/share/guile/2.2/language/scheme/spec.scm +63 -0
  556. data/share/guile/2.2/language/tree-il/analyze.scm +1568 -0
  557. data/share/guile/2.2/language/tree-il/canonicalize.scm +82 -0
  558. data/share/guile/2.2/language/tree-il/compile-cps.scm +1149 -0
  559. data/share/guile/2.2/language/tree-il/debug.scm +246 -0
  560. data/share/guile/2.2/language/tree-il/effects.scm +591 -0
  561. data/share/guile/2.2/language/tree-il/fix-letrec.scm +314 -0
  562. data/share/guile/2.2/language/tree-il/optimize.scm +43 -0
  563. data/share/guile/2.2/language/tree-il/peval.scm +1669 -0
  564. data/share/guile/2.2/language/tree-il/primitives.scm +630 -0
  565. data/share/guile/2.2/language/tree-il/spec.scm +46 -0
  566. data/share/guile/2.2/language/tree-il.scm +630 -0
  567. data/share/guile/2.2/language/value/spec.scm +30 -0
  568. data/share/guile/2.2/oop/goops/accessors.scm +72 -0
  569. data/share/guile/2.2/oop/goops/active-slot.scm +63 -0
  570. data/share/guile/2.2/oop/goops/composite-slot.scm +83 -0
  571. data/share/guile/2.2/oop/goops/describe.scm +189 -0
  572. data/share/guile/2.2/oop/goops/internal.scm +30 -0
  573. data/share/guile/2.2/oop/goops/save.scm +874 -0
  574. data/share/guile/2.2/oop/goops/simple.scm +30 -0
  575. data/share/guile/2.2/oop/goops/stklos.scm +74 -0
  576. data/share/guile/2.2/oop/goops.scm +3176 -0
  577. data/share/guile/2.2/rnrs/arithmetic/bitwise.scm +92 -0
  578. data/share/guile/2.2/rnrs/arithmetic/fixnums.scm +291 -0
  579. data/share/guile/2.2/rnrs/arithmetic/flonums.scm +203 -0
  580. data/share/guile/2.2/rnrs/base.scm +291 -0
  581. data/share/guile/2.2/rnrs/bytevectors.scm +83 -0
  582. data/share/guile/2.2/rnrs/conditions.scm +225 -0
  583. data/share/guile/2.2/rnrs/control.scm +22 -0
  584. data/share/guile/2.2/rnrs/enums.scm +152 -0
  585. data/share/guile/2.2/rnrs/eval.scm +39 -0
  586. data/share/guile/2.2/rnrs/exceptions.scm +276 -0
  587. data/share/guile/2.2/rnrs/files.scm +96 -0
  588. data/share/guile/2.2/rnrs/hashtables.scm +190 -0
  589. data/share/guile/2.2/rnrs/io/ports.scm +554 -0
  590. data/share/guile/2.2/rnrs/io/simple.scm +167 -0
  591. data/share/guile/2.2/rnrs/lists.scm +55 -0
  592. data/share/guile/2.2/rnrs/mutable-pairs.scm +23 -0
  593. data/share/guile/2.2/rnrs/mutable-strings.scm +23 -0
  594. data/share/guile/2.2/rnrs/programs.scm +22 -0
  595. data/share/guile/2.2/rnrs/r5rs.scm +34 -0
  596. data/share/guile/2.2/rnrs/records/inspection.scm +81 -0
  597. data/share/guile/2.2/rnrs/records/procedural.scm +289 -0
  598. data/share/guile/2.2/rnrs/records/syntactic.scm +248 -0
  599. data/share/guile/2.2/rnrs/sorting.scm +27 -0
  600. data/share/guile/2.2/rnrs/syntax-case.scm +68 -0
  601. data/share/guile/2.2/rnrs/unicode.scm +104 -0
  602. data/share/guile/2.2/rnrs.scm +289 -0
  603. data/share/guile/2.2/scripts/api-diff.scm +179 -0
  604. data/share/guile/2.2/scripts/autofrisk.scm +218 -0
  605. data/share/guile/2.2/scripts/compile.scm +273 -0
  606. data/share/guile/2.2/scripts/disassemble.scm +38 -0
  607. data/share/guile/2.2/scripts/display-commentary.scm +67 -0
  608. data/share/guile/2.2/scripts/doc-snarf.scm +439 -0
  609. data/share/guile/2.2/scripts/frisk.scm +290 -0
  610. data/share/guile/2.2/scripts/generate-autoload.scm +144 -0
  611. data/share/guile/2.2/scripts/help.scm +188 -0
  612. data/share/guile/2.2/scripts/lint.scm +318 -0
  613. data/share/guile/2.2/scripts/list.scm +91 -0
  614. data/share/guile/2.2/scripts/punify.scm +87 -0
  615. data/share/guile/2.2/scripts/read-rfc822.scm +131 -0
  616. data/share/guile/2.2/scripts/read-scheme-source.scm +282 -0
  617. data/share/guile/2.2/scripts/read-text-outline.scm +253 -0
  618. data/share/guile/2.2/scripts/scan-api.scm +223 -0
  619. data/share/guile/2.2/scripts/snarf-check-and-output-texi.scm +303 -0
  620. data/share/guile/2.2/scripts/snarf-guile-m4-docs.scm +86 -0
  621. data/share/guile/2.2/scripts/summarize-guile-TODO.scm +213 -0
  622. data/share/guile/2.2/scripts/use2dot.scm +110 -0
  623. data/share/guile/2.2/srfi/srfi-1.scm +1061 -0
  624. data/share/guile/2.2/srfi/srfi-10.scm +89 -0
  625. data/share/guile/2.2/srfi/srfi-11.scm +146 -0
  626. data/share/guile/2.2/srfi/srfi-111.scm +37 -0
  627. data/share/guile/2.2/srfi/srfi-13.scm +132 -0
  628. data/share/guile/2.2/srfi/srfi-14.scm +99 -0
  629. data/share/guile/2.2/srfi/srfi-16.scm +51 -0
  630. data/share/guile/2.2/srfi/srfi-17.scm +174 -0
  631. data/share/guile/2.2/srfi/srfi-18.scm +382 -0
  632. data/share/guile/2.2/srfi/srfi-19.scm +1470 -0
  633. data/share/guile/2.2/srfi/srfi-2.scm +31 -0
  634. data/share/guile/2.2/srfi/srfi-26.scm +66 -0
  635. data/share/guile/2.2/srfi/srfi-27.scm +96 -0
  636. data/share/guile/2.2/srfi/srfi-28.scm +34 -0
  637. data/share/guile/2.2/srfi/srfi-31.scm +35 -0
  638. data/share/guile/2.2/srfi/srfi-34.scm +84 -0
  639. data/share/guile/2.2/srfi/srfi-35.scm +351 -0
  640. data/share/guile/2.2/srfi/srfi-37.scm +234 -0
  641. data/share/guile/2.2/srfi/srfi-38.scm +207 -0
  642. data/share/guile/2.2/srfi/srfi-39.scm +55 -0
  643. data/share/guile/2.2/srfi/srfi-4/gnu.scm +80 -0
  644. data/share/guile/2.2/srfi/srfi-4.scm +118 -0
  645. data/share/guile/2.2/srfi/srfi-41.scm +505 -0
  646. data/share/guile/2.2/srfi/srfi-42/ec.scm +1053 -0
  647. data/share/guile/2.2/srfi/srfi-42.scm +66 -0
  648. data/share/guile/2.2/srfi/srfi-43.scm +1077 -0
  649. data/share/guile/2.2/srfi/srfi-45.scm +93 -0
  650. data/share/guile/2.2/srfi/srfi-6.scm +29 -0
  651. data/share/guile/2.2/srfi/srfi-60.scm +73 -0
  652. data/share/guile/2.2/srfi/srfi-64/testing.scm +1040 -0
  653. data/share/guile/2.2/srfi/srfi-64.scm +55 -0
  654. data/share/guile/2.2/srfi/srfi-67/compare.scm +686 -0
  655. data/share/guile/2.2/srfi/srfi-67.scm +88 -0
  656. data/share/guile/2.2/srfi/srfi-69.scm +336 -0
  657. data/share/guile/2.2/srfi/srfi-71.scm +267 -0
  658. data/share/guile/2.2/srfi/srfi-8.scm +31 -0
  659. data/share/guile/2.2/srfi/srfi-88.scm +53 -0
  660. data/share/guile/2.2/srfi/srfi-9/gnu.scm +168 -0
  661. data/share/guile/2.2/srfi/srfi-9.scm +351 -0
  662. data/share/guile/2.2/srfi/srfi-98.scm +44 -0
  663. data/share/guile/2.2/statprof.scm +988 -0
  664. data/share/guile/2.2/sxml/apply-templates.scm +102 -0
  665. data/share/guile/2.2/sxml/fold.scm +250 -0
  666. data/share/guile/2.2/sxml/match.scm +75 -0
  667. data/share/guile/2.2/sxml/simple.scm +408 -0
  668. data/share/guile/2.2/sxml/ssax/input-parse.scm +180 -0
  669. data/share/guile/2.2/sxml/ssax.scm +265 -0
  670. data/share/guile/2.2/sxml/sxml-match.ss +1181 -0
  671. data/share/guile/2.2/sxml/transform.scm +298 -0
  672. data/share/guile/2.2/sxml/upstream/SSAX.scm +3235 -0
  673. data/share/guile/2.2/sxml/upstream/SXML-tree-trans.scm +249 -0
  674. data/share/guile/2.2/sxml/upstream/SXPath-old.scm +1216 -0
  675. data/share/guile/2.2/sxml/upstream/assert.scm +35 -0
  676. data/share/guile/2.2/sxml/upstream/input-parse.scm +326 -0
  677. data/share/guile/2.2/sxml/xpath.scm +493 -0
  678. data/share/guile/2.2/system/base/ck.scm +55 -0
  679. data/share/guile/2.2/system/base/compile.scm +282 -0
  680. data/share/guile/2.2/system/base/lalr.scm +51 -0
  681. data/share/guile/2.2/system/base/lalr.upstream.scm +2096 -0
  682. data/share/guile/2.2/system/base/language.scm +119 -0
  683. data/share/guile/2.2/system/base/message.scm +238 -0
  684. data/share/guile/2.2/system/base/pmatch.scm +68 -0
  685. data/share/guile/2.2/system/base/syntax.scm +299 -0
  686. data/share/guile/2.2/system/base/target.scm +152 -0
  687. data/share/guile/2.2/system/base/types.scm +561 -0
  688. data/share/guile/2.2/system/foreign-object.scm +91 -0
  689. data/share/guile/2.2/system/foreign.scm +200 -0
  690. data/share/guile/2.2/system/repl/command.scm +946 -0
  691. data/share/guile/2.2/system/repl/common.scm +263 -0
  692. data/share/guile/2.2/system/repl/coop-server.scm +200 -0
  693. data/share/guile/2.2/system/repl/debug.scm +210 -0
  694. data/share/guile/2.2/system/repl/describe.scm +347 -0
  695. data/share/guile/2.2/system/repl/error-handling.scm +183 -0
  696. data/share/guile/2.2/system/repl/repl.scm +233 -0
  697. data/share/guile/2.2/system/repl/server.scm +332 -0
  698. data/share/guile/2.2/system/syntax.scm +33 -0
  699. data/share/guile/2.2/system/vm/assembler.scm +2614 -0
  700. data/share/guile/2.2/system/vm/coverage.scm +351 -0
  701. data/share/guile/2.2/system/vm/debug.scm +766 -0
  702. data/share/guile/2.2/system/vm/disassembler.scm +658 -0
  703. data/share/guile/2.2/system/vm/dwarf.scm +1852 -0
  704. data/share/guile/2.2/system/vm/elf.scm +1042 -0
  705. data/share/guile/2.2/system/vm/frame.scm +485 -0
  706. data/share/guile/2.2/system/vm/inspect.scm +188 -0
  707. data/share/guile/2.2/system/vm/linker.scm +732 -0
  708. data/share/guile/2.2/system/vm/loader.scm +27 -0
  709. data/share/guile/2.2/system/vm/program.scm +312 -0
  710. data/share/guile/2.2/system/vm/trace.scm +121 -0
  711. data/share/guile/2.2/system/vm/trap-state.scm +302 -0
  712. data/share/guile/2.2/system/vm/traps.scm +608 -0
  713. data/share/guile/2.2/system/vm/vm.scm +32 -0
  714. data/share/guile/2.2/system/xref.scm +369 -0
  715. data/share/guile/2.2/texinfo/docbook.scm +240 -0
  716. data/share/guile/2.2/texinfo/html.scm +279 -0
  717. data/share/guile/2.2/texinfo/indexing.scm +75 -0
  718. data/share/guile/2.2/texinfo/plain-text.scm +322 -0
  719. data/share/guile/2.2/texinfo/reflection.scm +585 -0
  720. data/share/guile/2.2/texinfo/serialize.scm +300 -0
  721. data/share/guile/2.2/texinfo/string-utils.scm +410 -0
  722. data/share/guile/2.2/texinfo.scm +1263 -0
  723. data/share/guile/2.2/web/client.scm +513 -0
  724. data/share/guile/2.2/web/http.scm +2043 -0
  725. data/share/guile/2.2/web/request.scm +326 -0
  726. data/share/guile/2.2/web/response.scm +379 -0
  727. data/share/guile/2.2/web/server/http.scm +183 -0
  728. data/share/guile/2.2/web/server.scm +397 -0
  729. data/share/guile/2.2/web/uri.scm +552 -0
  730. data/share/lilypond/2.24.1/fontconfig/0bd3dc0958fa2205aaaa8ebb13e2872b-le64.cache-8 +0 -0
  731. data/share/lilypond/2.24.1/fontconfig/188ac73a183f12857f63bb60a4a6d603-le64.cache-8 +0 -0
  732. data/share/lilypond/2.24.1/fontconfig/32b6488e5b8292a2e95c79d947e009e8-le64.cache-8 +0 -0
  733. data/share/lilypond/2.24.1/fontconfig/3830d5c3ddfd5cd38a049b759396e72e-le64.cache-8 +0 -0
  734. data/share/lilypond/2.24.1/fontconfig/3f7329c5293ffd510edef78f73874cfd-le64.cache-8 +0 -0
  735. data/share/lilypond/2.24.1/fontconfig/4c599c202bc5c08e2d34565a40eac3b2-le64.cache-8 +0 -0
  736. data/share/lilypond/2.24.1/fontconfig/57e423e26b20ab21d0f2f29c145174c3-le64.cache-8 +0 -0
  737. data/share/lilypond/2.24.1/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-le64.cache-8 +0 -0
  738. data/share/lilypond/2.24.1/fontconfig/826f6b6ef79022e2eac8af26bf4b62f2-le64.cache-8 +0 -0
  739. data/share/lilypond/2.24.1/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-le64.cache-8 +0 -0
  740. data/share/lilypond/2.24.1/fontconfig/95530828ff6c81d309f8258d8d02a23e-le64.cache-8 +0 -0
  741. data/share/lilypond/2.24.1/fontconfig/CACHEDIR.TAG +4 -0
  742. data/share/lilypond/2.24.1/fontconfig/bf3b770c553c462765856025a94f1ce6-le64.cache-8 +0 -0
  743. data/share/lilypond/2.24.1/fontconfig/c855463f699352c367813e37f3f70ea7-le64.cache-8 +0 -0
  744. data/share/lilypond/2.24.1/fontconfig/d3e5c4ee2ceb1fc347f91d4cefc53bc0-le64.cache-8 +0 -0
  745. data/share/lilypond/2.24.1/fontconfig/d589a48862398ed80a3d6066f4f56f4c-le64.cache-8 +0 -0
  746. data/share/lilypond/2.24.1/fontconfig/d82eb4fd963d448e2fcb7d7b793b5df3-le64.cache-8 +0 -0
  747. data/share/lilypond/2.24.1/fontconfig/e13b20fdb08344e0e664864cc2ede53d-le64.cache-8 +0 -0
  748. data/share/lilypond/2.24.1/fontconfig/e52a45a1c8c8fe895fc0fc8c4e6999b8-le64.cache-8 +0 -0
  749. data/share/lilypond/2.24.1/fontconfig/f1f2465696798768e9653f19e17ccdc8-le64.cache-8 +0 -0
  750. data/share/lilypond/2.24.1/fonts/00-lilypond-fonts.conf +99 -0
  751. data/share/lilypond/2.24.1/fonts/99-lilypond-fonts.conf +28 -0
  752. data/share/lilypond/2.24.1/fonts/otf/C059-BdIta.otf +0 -0
  753. data/share/lilypond/2.24.1/fonts/otf/C059-Bold.otf +0 -0
  754. data/share/lilypond/2.24.1/fonts/otf/C059-Italic.otf +0 -0
  755. data/share/lilypond/2.24.1/fonts/otf/C059-Roman.otf +0 -0
  756. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-Bold.otf +0 -0
  757. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-BoldItalic.otf +0 -0
  758. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-Italic.otf +0 -0
  759. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-Regular.otf +0 -0
  760. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-Bold.otf +0 -0
  761. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-BoldItalic.otf +0 -0
  762. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-Italic.otf +0 -0
  763. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-Regular.otf +0 -0
  764. data/share/lilypond/2.24.1/fonts/otf/emmentaler-11.otf +0 -0
  765. data/share/lilypond/2.24.1/fonts/otf/emmentaler-13.otf +0 -0
  766. data/share/lilypond/2.24.1/fonts/otf/emmentaler-14.otf +0 -0
  767. data/share/lilypond/2.24.1/fonts/otf/emmentaler-16.otf +0 -0
  768. data/share/lilypond/2.24.1/fonts/otf/emmentaler-18.otf +0 -0
  769. data/share/lilypond/2.24.1/fonts/otf/emmentaler-20.otf +0 -0
  770. data/share/lilypond/2.24.1/fonts/otf/emmentaler-23.otf +0 -0
  771. data/share/lilypond/2.24.1/fonts/otf/emmentaler-26.otf +0 -0
  772. data/share/lilypond/2.24.1/fonts/otf/emmentaler-brace.otf +0 -0
  773. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-bold.otf +0 -0
  774. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-bolditalic.otf +0 -0
  775. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-italic.otf +0 -0
  776. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-regular.otf +0 -0
  777. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-bold.otf +0 -0
  778. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-bolditalic.otf +0 -0
  779. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-italic.otf +0 -0
  780. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-regular.otf +0 -0
  781. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-bold.otf +0 -0
  782. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-bolditalic.otf +0 -0
  783. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-italic.otf +0 -0
  784. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-regular.otf +0 -0
  785. data/share/lilypond/2.24.1/fonts/source/common-modules-and-initialization.mf +26 -0
  786. data/share/lilypond/2.24.1/fonts/source/debugging-settings.mf +14 -0
  787. data/share/lilypond/2.24.1/fonts/source/declare-autometric-parameters.mf +9 -0
  788. data/share/lilypond/2.24.1/fonts/source/feta-accidentals.mf +58 -0
  789. data/share/lilypond/2.24.1/fonts/source/feta-accordion.mf +575 -0
  790. data/share/lilypond/2.24.1/fonts/source/feta-alphabet-generic.mf +16 -0
  791. data/share/lilypond/2.24.1/fonts/source/feta-alphabet11.mf +6 -0
  792. data/share/lilypond/2.24.1/fonts/source/feta-alphabet13.mf +6 -0
  793. data/share/lilypond/2.24.1/fonts/source/feta-alphabet14.mf +6 -0
  794. data/share/lilypond/2.24.1/fonts/source/feta-alphabet16.mf +6 -0
  795. data/share/lilypond/2.24.1/fonts/source/feta-alphabet18.mf +6 -0
  796. data/share/lilypond/2.24.1/fonts/source/feta-alphabet20.mf +6 -0
  797. data/share/lilypond/2.24.1/fonts/source/feta-alphabet23.mf +6 -0
  798. data/share/lilypond/2.24.1/fonts/source/feta-alphabet26.mf +6 -0
  799. data/share/lilypond/2.24.1/fonts/source/feta-arrow.mf +114 -0
  800. data/share/lilypond/2.24.1/fonts/source/feta-arrowheads.mf +171 -0
  801. data/share/lilypond/2.24.1/fonts/source/feta-autometric.mf +303 -0
  802. data/share/lilypond/2.24.1/fonts/source/feta-braces-a.mf +6 -0
  803. data/share/lilypond/2.24.1/fonts/source/feta-braces-b.mf +6 -0
  804. data/share/lilypond/2.24.1/fonts/source/feta-braces-c.mf +6 -0
  805. data/share/lilypond/2.24.1/fonts/source/feta-braces-d.mf +6 -0
  806. data/share/lilypond/2.24.1/fonts/source/feta-braces-e.mf +6 -0
  807. data/share/lilypond/2.24.1/fonts/source/feta-braces-f.mf +6 -0
  808. data/share/lilypond/2.24.1/fonts/source/feta-braces-g.mf +6 -0
  809. data/share/lilypond/2.24.1/fonts/source/feta-braces-generic.mf +47 -0
  810. data/share/lilypond/2.24.1/fonts/source/feta-braces-h.mf +6 -0
  811. data/share/lilypond/2.24.1/fonts/source/feta-braces-i.mf +6 -0
  812. data/share/lilypond/2.24.1/fonts/source/feta-braces.mf +125 -0
  813. data/share/lilypond/2.24.1/fonts/source/feta-brackettips.mf +100 -0
  814. data/share/lilypond/2.24.1/fonts/source/feta-clefs.mf +963 -0
  815. data/share/lilypond/2.24.1/fonts/source/feta-dots.mf +37 -0
  816. data/share/lilypond/2.24.1/fonts/source/feta-dynamics.mf +891 -0
  817. data/share/lilypond/2.24.1/fonts/source/feta-flags-generic.mf +17 -0
  818. data/share/lilypond/2.24.1/fonts/source/feta-flags.mf +926 -0
  819. data/share/lilypond/2.24.1/fonts/source/feta-flags11.mf +6 -0
  820. data/share/lilypond/2.24.1/fonts/source/feta-flags13.mf +6 -0
  821. data/share/lilypond/2.24.1/fonts/source/feta-flags14.mf +6 -0
  822. data/share/lilypond/2.24.1/fonts/source/feta-flags16.mf +6 -0
  823. data/share/lilypond/2.24.1/fonts/source/feta-flags18.mf +6 -0
  824. data/share/lilypond/2.24.1/fonts/source/feta-flags20.mf +6 -0
  825. data/share/lilypond/2.24.1/fonts/source/feta-flags23.mf +6 -0
  826. data/share/lilypond/2.24.1/fonts/source/feta-flags26.mf +6 -0
  827. data/share/lilypond/2.24.1/fonts/source/feta-flats.mf +668 -0
  828. data/share/lilypond/2.24.1/fonts/source/feta-macros.mf +506 -0
  829. data/share/lilypond/2.24.1/fonts/source/feta-naturals.mf +223 -0
  830. data/share/lilypond/2.24.1/fonts/source/feta-noteheads-generic.mf +17 -0
  831. data/share/lilypond/2.24.1/fonts/source/feta-noteheads.mf +2642 -0
  832. data/share/lilypond/2.24.1/fonts/source/feta-noteheads11.mf +6 -0
  833. data/share/lilypond/2.24.1/fonts/source/feta-noteheads13.mf +6 -0
  834. data/share/lilypond/2.24.1/fonts/source/feta-noteheads14.mf +6 -0
  835. data/share/lilypond/2.24.1/fonts/source/feta-noteheads16.mf +6 -0
  836. data/share/lilypond/2.24.1/fonts/source/feta-noteheads18.mf +6 -0
  837. data/share/lilypond/2.24.1/fonts/source/feta-noteheads20.mf +6 -0
  838. data/share/lilypond/2.24.1/fonts/source/feta-noteheads23.mf +6 -0
  839. data/share/lilypond/2.24.1/fonts/source/feta-noteheads26.mf +6 -0
  840. data/share/lilypond/2.24.1/fonts/source/feta-numbers.mf +1677 -0
  841. data/share/lilypond/2.24.1/fonts/source/feta-other-generic.mf +27 -0
  842. data/share/lilypond/2.24.1/fonts/source/feta-params.mf +323 -0
  843. data/share/lilypond/2.24.1/fonts/source/feta-parenthesis.mf +63 -0
  844. data/share/lilypond/2.24.1/fonts/source/feta-pedals.mf +355 -0
  845. data/share/lilypond/2.24.1/fonts/source/feta-rests.mf +890 -0
  846. data/share/lilypond/2.24.1/fonts/source/feta-scripts.mf +2206 -0
  847. data/share/lilypond/2.24.1/fonts/source/feta-sharps.mf +524 -0
  848. data/share/lilypond/2.24.1/fonts/source/feta-sori-koron.mf +325 -0
  849. data/share/lilypond/2.24.1/fonts/source/feta-ties.mf +72 -0
  850. data/share/lilypond/2.24.1/fonts/source/feta-timesignatures.mf +119 -0
  851. data/share/lilypond/2.24.1/fonts/source/feta-trills.mf +321 -0
  852. data/share/lilypond/2.24.1/fonts/source/feta11.mf +6 -0
  853. data/share/lilypond/2.24.1/fonts/source/feta13.mf +6 -0
  854. data/share/lilypond/2.24.1/fonts/source/feta14.mf +6 -0
  855. data/share/lilypond/2.24.1/fonts/source/feta16.mf +6 -0
  856. data/share/lilypond/2.24.1/fonts/source/feta18.mf +6 -0
  857. data/share/lilypond/2.24.1/fonts/source/feta20.mf +7 -0
  858. data/share/lilypond/2.24.1/fonts/source/feta23.mf +6 -0
  859. data/share/lilypond/2.24.1/fonts/source/feta26.mf +6 -0
  860. data/share/lilypond/2.24.1/fonts/source/parmesan-accidentals.mf +483 -0
  861. data/share/lilypond/2.24.1/fonts/source/parmesan-clefs.mf +1636 -0
  862. data/share/lilypond/2.24.1/fonts/source/parmesan-custodes.mf +503 -0
  863. data/share/lilypond/2.24.1/fonts/source/parmesan-dots.mf +62 -0
  864. data/share/lilypond/2.24.1/fonts/source/parmesan-flags.mf +319 -0
  865. data/share/lilypond/2.24.1/fonts/source/parmesan-macros.mf +225 -0
  866. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads-generic.mf +16 -0
  867. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads.mf +2191 -0
  868. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads11.mf +6 -0
  869. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads13.mf +6 -0
  870. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads14.mf +6 -0
  871. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads16.mf +6 -0
  872. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads18.mf +6 -0
  873. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads20.mf +6 -0
  874. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads23.mf +6 -0
  875. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads26.mf +6 -0
  876. data/share/lilypond/2.24.1/fonts/source/parmesan-other-generic.mf +24 -0
  877. data/share/lilypond/2.24.1/fonts/source/parmesan-rests.mf +428 -0
  878. data/share/lilypond/2.24.1/fonts/source/parmesan-scripts.mf +284 -0
  879. data/share/lilypond/2.24.1/fonts/source/parmesan-timesignatures.mf +402 -0
  880. data/share/lilypond/2.24.1/fonts/source/parmesan11.mf +6 -0
  881. data/share/lilypond/2.24.1/fonts/source/parmesan13.mf +6 -0
  882. data/share/lilypond/2.24.1/fonts/source/parmesan14.mf +6 -0
  883. data/share/lilypond/2.24.1/fonts/source/parmesan16.mf +6 -0
  884. data/share/lilypond/2.24.1/fonts/source/parmesan18.mf +6 -0
  885. data/share/lilypond/2.24.1/fonts/source/parmesan20.mf +6 -0
  886. data/share/lilypond/2.24.1/fonts/source/parmesan23.mf +6 -0
  887. data/share/lilypond/2.24.1/fonts/source/parmesan26.mf +6 -0
  888. data/share/lilypond/2.24.1/fonts/svg/emmentaler-11.svg +2525 -0
  889. data/share/lilypond/2.24.1/fonts/svg/emmentaler-11.woff +0 -0
  890. data/share/lilypond/2.24.1/fonts/svg/emmentaler-13.svg +2530 -0
  891. data/share/lilypond/2.24.1/fonts/svg/emmentaler-13.woff +0 -0
  892. data/share/lilypond/2.24.1/fonts/svg/emmentaler-14.svg +2526 -0
  893. data/share/lilypond/2.24.1/fonts/svg/emmentaler-14.woff +0 -0
  894. data/share/lilypond/2.24.1/fonts/svg/emmentaler-16.svg +2523 -0
  895. data/share/lilypond/2.24.1/fonts/svg/emmentaler-16.woff +0 -0
  896. data/share/lilypond/2.24.1/fonts/svg/emmentaler-18.svg +2519 -0
  897. data/share/lilypond/2.24.1/fonts/svg/emmentaler-18.woff +0 -0
  898. data/share/lilypond/2.24.1/fonts/svg/emmentaler-20.svg +2512 -0
  899. data/share/lilypond/2.24.1/fonts/svg/emmentaler-20.woff +0 -0
  900. data/share/lilypond/2.24.1/fonts/svg/emmentaler-23.svg +2506 -0
  901. data/share/lilypond/2.24.1/fonts/svg/emmentaler-23.woff +0 -0
  902. data/share/lilypond/2.24.1/fonts/svg/emmentaler-26.svg +2510 -0
  903. data/share/lilypond/2.24.1/fonts/svg/emmentaler-26.woff +0 -0
  904. data/share/lilypond/2.24.1/fonts/svg/emmentaler-brace.svg +1757 -0
  905. data/share/lilypond/2.24.1/fonts/svg/emmentaler-brace.woff +0 -0
  906. data/share/lilypond/2.24.1/ly/Welcome_to_LilyPond.ly +45 -0
  907. data/share/lilypond/2.24.1/ly/arabic.ly +185 -0
  908. data/share/lilypond/2.24.1/ly/articulate.ly +1013 -0
  909. data/share/lilypond/2.24.1/ly/bagpipe.ly +368 -0
  910. data/share/lilypond/2.24.1/ly/base-tkit.ly +135 -0
  911. data/share/lilypond/2.24.1/ly/catalan.ly +23 -0
  912. data/share/lilypond/2.24.1/ly/chord-modifiers-init.ly +63 -0
  913. data/share/lilypond/2.24.1/ly/chord-repetition-init.ly +60 -0
  914. data/share/lilypond/2.24.1/ly/context-mods-init.ly +119 -0
  915. data/share/lilypond/2.24.1/ly/declarations-init.ly +167 -0
  916. data/share/lilypond/2.24.1/ly/deutsch.ly +23 -0
  917. data/share/lilypond/2.24.1/ly/drumpitch-init.ly +366 -0
  918. data/share/lilypond/2.24.1/ly/dynamic-scripts-init.ly +54 -0
  919. data/share/lilypond/2.24.1/ly/english.ly +23 -0
  920. data/share/lilypond/2.24.1/ly/engraver-init.ly +1619 -0
  921. data/share/lilypond/2.24.1/ly/espanol.ly +23 -0
  922. data/share/lilypond/2.24.1/ly/event-listener.ly +241 -0
  923. data/share/lilypond/2.24.1/ly/festival.ly +38 -0
  924. data/share/lilypond/2.24.1/ly/generate-documentation.ly +7 -0
  925. data/share/lilypond/2.24.1/ly/grace-init.ly +56 -0
  926. data/share/lilypond/2.24.1/ly/graphviz-init.ly +174 -0
  927. data/share/lilypond/2.24.1/ly/gregorian.ly +268 -0
  928. data/share/lilypond/2.24.1/ly/guile-debugger.ly +55 -0
  929. data/share/lilypond/2.24.1/ly/hel-arabic.ly +307 -0
  930. data/share/lilypond/2.24.1/ly/init.ly +96 -0
  931. data/share/lilypond/2.24.1/ly/italiano.ly +23 -0
  932. data/share/lilypond/2.24.1/ly/lilypond-book-preamble.ly +47 -0
  933. data/share/lilypond/2.24.1/ly/lyrics-tkit.ly +68 -0
  934. data/share/lilypond/2.24.1/ly/makam.ly +166 -0
  935. data/share/lilypond/2.24.1/ly/midi-init.ly +59 -0
  936. data/share/lilypond/2.24.1/ly/music-functions-init.ly +2254 -0
  937. data/share/lilypond/2.24.1/ly/nederlands.ly +23 -0
  938. data/share/lilypond/2.24.1/ly/norsk.ly +23 -0
  939. data/share/lilypond/2.24.1/ly/paper-defaults-init.ly +188 -0
  940. data/share/lilypond/2.24.1/ly/performer-init.ly +398 -0
  941. data/share/lilypond/2.24.1/ly/persian.ly +335 -0
  942. data/share/lilypond/2.24.1/ly/piano-tkit.ly +61 -0
  943. data/share/lilypond/2.24.1/ly/portugues.ly +23 -0
  944. data/share/lilypond/2.24.1/ly/predefined-fretboards-init.ly +78 -0
  945. data/share/lilypond/2.24.1/ly/predefined-guitar-fretboards.ly +506 -0
  946. data/share/lilypond/2.24.1/ly/predefined-guitar-ninth-fretboards.ly +75 -0
  947. data/share/lilypond/2.24.1/ly/predefined-mandolin-fretboards.ly +876 -0
  948. data/share/lilypond/2.24.1/ly/predefined-ukulele-fretboards.ly +1285 -0
  949. data/share/lilypond/2.24.1/ly/property-init.ly +858 -0
  950. data/share/lilypond/2.24.1/ly/satb.ly +214 -0
  951. data/share/lilypond/2.24.1/ly/scale-definitions-init.ly +117 -0
  952. data/share/lilypond/2.24.1/ly/scheme-sandbox.ly +39 -0
  953. data/share/lilypond/2.24.1/ly/script-init.ly +94 -0
  954. data/share/lilypond/2.24.1/ly/spanners-init.ly +146 -0
  955. data/share/lilypond/2.24.1/ly/ssaattbb.ly +335 -0
  956. data/share/lilypond/2.24.1/ly/staff-tkit.ly +182 -0
  957. data/share/lilypond/2.24.1/ly/string-tunings-init.ly +94 -0
  958. data/share/lilypond/2.24.1/ly/suomi.ly +23 -0
  959. data/share/lilypond/2.24.1/ly/svenska.ly +23 -0
  960. data/share/lilypond/2.24.1/ly/swing.ly +362 -0
  961. data/share/lilypond/2.24.1/ly/text-replacements.ly +150 -0
  962. data/share/lilypond/2.24.1/ly/titling-init.ly +150 -0
  963. data/share/lilypond/2.24.1/ly/toc-init.ly +182 -0
  964. data/share/lilypond/2.24.1/ly/turkish-makam.ly +609 -0
  965. data/share/lilypond/2.24.1/ly/vlaams.ly +23 -0
  966. data/share/lilypond/2.24.1/ly/vocal-tkit.ly +103 -0
  967. data/share/lilypond/2.24.1/ly/voice-tkit.ly +34 -0
  968. data/share/lilypond/2.24.1/ps/encodingdefs.ps +2611 -0
  969. data/share/lilypond/2.24.1/ps/lilyponddefs.ps +49 -0
  970. data/share/lilypond/2.24.1/ps/music-drawing-routines.ps +329 -0
  971. data/share/lilypond/2.24.1/python/__pycache__/book_base.cpython-310.pyc +0 -0
  972. data/share/lilypond/2.24.1/python/__pycache__/book_docbook.cpython-310.pyc +0 -0
  973. data/share/lilypond/2.24.1/python/__pycache__/book_html.cpython-310.pyc +0 -0
  974. data/share/lilypond/2.24.1/python/__pycache__/book_latex.cpython-310.pyc +0 -0
  975. data/share/lilypond/2.24.1/python/__pycache__/book_snippets.cpython-310.pyc +0 -0
  976. data/share/lilypond/2.24.1/python/__pycache__/book_texinfo.cpython-310.pyc +0 -0
  977. data/share/lilypond/2.24.1/python/__pycache__/convertrules.cpython-310.pyc +0 -0
  978. data/share/lilypond/2.24.1/python/__pycache__/langdefs.cpython-310.pyc +0 -0
  979. data/share/lilypond/2.24.1/python/__pycache__/lilylib.cpython-310.pyc +0 -0
  980. data/share/lilypond/2.24.1/python/__pycache__/midi.cpython-310.pyc +0 -0
  981. data/share/lilypond/2.24.1/python/__pycache__/musicexp.cpython-310.pyc +0 -0
  982. data/share/lilypond/2.24.1/python/__pycache__/musicxml.cpython-310.pyc +0 -0
  983. data/share/lilypond/2.24.1/python/__pycache__/musicxml2ly_conversion.cpython-310.pyc +0 -0
  984. data/share/lilypond/2.24.1/python/__pycache__/utilities.cpython-310.pyc +0 -0
  985. data/share/lilypond/2.24.1/python/book_base.py +331 -0
  986. data/share/lilypond/2.24.1/python/book_docbook.py +154 -0
  987. data/share/lilypond/2.24.1/python/book_html.py +178 -0
  988. data/share/lilypond/2.24.1/python/book_latex.py +373 -0
  989. data/share/lilypond/2.24.1/python/book_snippets.py +1052 -0
  990. data/share/lilypond/2.24.1/python/book_texinfo.py +437 -0
  991. data/share/lilypond/2.24.1/python/convertrules.py +4764 -0
  992. data/share/lilypond/2.24.1/python/langdefs.py +131 -0
  993. data/share/lilypond/2.24.1/python/lilylib.py +141 -0
  994. data/share/lilypond/2.24.1/python/midi.py +212 -0
  995. data/share/lilypond/2.24.1/python/musicexp.py +2781 -0
  996. data/share/lilypond/2.24.1/python/musicxml.py +1905 -0
  997. data/share/lilypond/2.24.1/python/musicxml2ly_conversion.py +80 -0
  998. data/share/lilypond/2.24.1/python/utilities.py +280 -0
  999. data/share/lilypond/2.24.1/scm/lily/accreg.scm +579 -0
  1000. data/share/lilypond/2.24.1/scm/lily/auto-beam.scm +163 -0
  1001. data/share/lilypond/2.24.1/scm/lily/autochange.scm +100 -0
  1002. data/share/lilypond/2.24.1/scm/lily/backend-library.scm +593 -0
  1003. data/share/lilypond/2.24.1/scm/lily/bar-line.scm +1281 -0
  1004. data/share/lilypond/2.24.1/scm/lily/breath.scm +74 -0
  1005. data/share/lilypond/2.24.1/scm/lily/c++.scm +174 -0
  1006. data/share/lilypond/2.24.1/scm/lily/chord-entry.scm +278 -0
  1007. data/share/lilypond/2.24.1/scm/lily/chord-ignatzek-names.scm +304 -0
  1008. data/share/lilypond/2.24.1/scm/lily/chord-name.scm +217 -0
  1009. data/share/lilypond/2.24.1/scm/lily/clip-region.scm +87 -0
  1010. data/share/lilypond/2.24.1/scm/lily/color.scm +757 -0
  1011. data/share/lilypond/2.24.1/scm/lily/curried-definitions.scm +68 -0
  1012. data/share/lilypond/2.24.1/scm/lily/define-context-properties.scm +939 -0
  1013. data/share/lilypond/2.24.1/scm/lily/define-event-classes.scm +142 -0
  1014. data/share/lilypond/2.24.1/scm/lily/define-grob-interfaces.scm +640 -0
  1015. data/share/lilypond/2.24.1/scm/lily/define-grob-properties.scm +1647 -0
  1016. data/share/lilypond/2.24.1/scm/lily/define-grobs.scm +4027 -0
  1017. data/share/lilypond/2.24.1/scm/lily/define-markup-commands.scm +5737 -0
  1018. data/share/lilypond/2.24.1/scm/lily/define-music-callbacks.scm +257 -0
  1019. data/share/lilypond/2.24.1/scm/lily/define-music-display-methods.scm +1350 -0
  1020. data/share/lilypond/2.24.1/scm/lily/define-music-properties.scm +242 -0
  1021. data/share/lilypond/2.24.1/scm/lily/define-music-types.scm +983 -0
  1022. data/share/lilypond/2.24.1/scm/lily/define-note-names.scm +1421 -0
  1023. data/share/lilypond/2.24.1/scm/lily/define-stencil-commands.scm +71 -0
  1024. data/share/lilypond/2.24.1/scm/lily/define-woodwind-diagrams.scm +1215 -0
  1025. data/share/lilypond/2.24.1/scm/lily/display-lily.scm +315 -0
  1026. data/share/lilypond/2.24.1/scm/lily/display-woodwind-diagrams.scm +1985 -0
  1027. data/share/lilypond/2.24.1/scm/lily/document-backend.scm +307 -0
  1028. data/share/lilypond/2.24.1/scm/lily/document-context-mods.scm +98 -0
  1029. data/share/lilypond/2.24.1/scm/lily/document-functions.scm +169 -0
  1030. data/share/lilypond/2.24.1/scm/lily/document-identifiers.scm +76 -0
  1031. data/share/lilypond/2.24.1/scm/lily/document-markup.scm +158 -0
  1032. data/share/lilypond/2.24.1/scm/lily/document-music.scm +146 -0
  1033. data/share/lilypond/2.24.1/scm/lily/document-outside-staff-priorities.scm +40 -0
  1034. data/share/lilypond/2.24.1/scm/lily/document-paper-sizes.scm +71 -0
  1035. data/share/lilypond/2.24.1/scm/lily/document-translation.scm +318 -0
  1036. data/share/lilypond/2.24.1/scm/lily/document-type-predicates.scm +85 -0
  1037. data/share/lilypond/2.24.1/scm/lily/documentation-generate.scm +259 -0
  1038. data/share/lilypond/2.24.1/scm/lily/documentation-lib.scm +207 -0
  1039. data/share/lilypond/2.24.1/scm/lily/file-cache.scm +28 -0
  1040. data/share/lilypond/2.24.1/scm/lily/flag-styles.scm +249 -0
  1041. data/share/lilypond/2.24.1/scm/lily/font-encodings.scm +1242 -0
  1042. data/share/lilypond/2.24.1/scm/lily/font.scm +303 -0
  1043. data/share/lilypond/2.24.1/scm/lily/framework-cairo.scm +26 -0
  1044. data/share/lilypond/2.24.1/scm/lily/framework-ps.scm +896 -0
  1045. data/share/lilypond/2.24.1/scm/lily/framework-svg.scm +172 -0
  1046. data/share/lilypond/2.24.1/scm/lily/fret-diagrams.scm +1261 -0
  1047. data/share/lilypond/2.24.1/scm/lily/graphviz.scm +78 -0
  1048. data/share/lilypond/2.24.1/scm/lily/guile-debugger.scm +90 -0
  1049. data/share/lilypond/2.24.1/scm/lily/harp-pedals.scm +172 -0
  1050. data/share/lilypond/2.24.1/scm/lily/hyphenate-internal-words.scm +51 -0
  1051. data/share/lilypond/2.24.1/scm/lily/layout-beam.scm +73 -0
  1052. data/share/lilypond/2.24.1/scm/lily/layout-slur.scm +45 -0
  1053. data/share/lilypond/2.24.1/scm/lily/lily-library.scm +1446 -0
  1054. data/share/lilypond/2.24.1/scm/lily/lily-sort.scm +116 -0
  1055. data/share/lilypond/2.24.1/scm/lily/lily.scm +929 -0
  1056. data/share/lilypond/2.24.1/scm/lily/ly-syntax-constructors.scm +374 -0
  1057. data/share/lilypond/2.24.1/scm/lily/markup-macros.scm +493 -0
  1058. data/share/lilypond/2.24.1/scm/lily/markup.scm +126 -0
  1059. data/share/lilypond/2.24.1/scm/lily/midi.scm +258 -0
  1060. data/share/lilypond/2.24.1/scm/lily/modal-transforms.scm +337 -0
  1061. data/share/lilypond/2.24.1/scm/lily/music-functions.scm +2878 -0
  1062. data/share/lilypond/2.24.1/scm/lily/output-lib.scm +3377 -0
  1063. data/share/lilypond/2.24.1/scm/lily/output-ps.scm +335 -0
  1064. data/share/lilypond/2.24.1/scm/lily/output-svg.scm +684 -0
  1065. data/share/lilypond/2.24.1/scm/lily/page.scm +321 -0
  1066. data/share/lilypond/2.24.1/scm/lily/paper-system.scm +271 -0
  1067. data/share/lilypond/2.24.1/scm/lily/paper.scm +376 -0
  1068. data/share/lilypond/2.24.1/scm/lily/parser-clef.scm +205 -0
  1069. data/share/lilypond/2.24.1/scm/lily/parser-ly-from-scheme.scm +170 -0
  1070. data/share/lilypond/2.24.1/scm/lily/part-combiner.scm +998 -0
  1071. data/share/lilypond/2.24.1/scm/lily/predefined-fretboards.scm +54 -0
  1072. data/share/lilypond/2.24.1/scm/lily/ps-to-png.scm +182 -0
  1073. data/share/lilypond/2.24.1/scm/lily/scheme-engravers.scm +1813 -0
  1074. data/share/lilypond/2.24.1/scm/lily/scheme-performers.scm +126 -0
  1075. data/share/lilypond/2.24.1/scm/lily/script.scm +416 -0
  1076. data/share/lilypond/2.24.1/scm/lily/skyline.scm +25 -0
  1077. data/share/lilypond/2.24.1/scm/lily/song-util.scm +191 -0
  1078. data/share/lilypond/2.24.1/scm/lily/song.scm +853 -0
  1079. data/share/lilypond/2.24.1/scm/lily/stencil.scm +998 -0
  1080. data/share/lilypond/2.24.1/scm/lily/tablature.scm +392 -0
  1081. data/share/lilypond/2.24.1/scm/lily/time-signature-settings.scm +473 -0
  1082. data/share/lilypond/2.24.1/scm/lily/time-signature.scm +35 -0
  1083. data/share/lilypond/2.24.1/scm/lily/titling.scm +99 -0
  1084. data/share/lilypond/2.24.1/scm/lily/to-xml.scm +254 -0
  1085. data/share/lilypond/2.24.1/scm/lily/translation-functions.scm +1169 -0
  1086. data/share/lilypond/2.24.1/vim/compiler/lilypond.vim +36 -0
  1087. data/share/lilypond/2.24.1/vim/ftdetect/lilypond.vim +4 -0
  1088. data/share/lilypond/2.24.1/vim/ftplugin/lilypond.vim +91 -0
  1089. data/share/lilypond/2.24.1/vim/indent/lilypond.vim +79 -0
  1090. data/share/lilypond/2.24.1/vim/syntax/lilypond-words +1408 -0
  1091. data/share/lilypond/2.24.1/vim/syntax/lilypond-words.vim +3 -0
  1092. data/share/lilypond/2.24.1/vim/syntax/lilypond.vim +104 -0
  1093. data/share/locale/ca/LC_MESSAGES/lilypond.mo +0 -0
  1094. data/share/locale/cs/LC_MESSAGES/lilypond.mo +0 -0
  1095. data/share/locale/da/LC_MESSAGES/lilypond.mo +0 -0
  1096. data/share/locale/de/LC_MESSAGES/lilypond.mo +0 -0
  1097. data/share/locale/el/LC_MESSAGES/lilypond.mo +0 -0
  1098. data/share/locale/eo/LC_MESSAGES/lilypond.mo +0 -0
  1099. data/share/locale/es/LC_MESSAGES/lilypond.mo +0 -0
  1100. data/share/locale/fi/LC_MESSAGES/lilypond.mo +0 -0
  1101. data/share/locale/fr/LC_MESSAGES/lilypond.mo +0 -0
  1102. data/share/locale/it/LC_MESSAGES/lilypond.mo +0 -0
  1103. data/share/locale/ja/LC_MESSAGES/lilypond.mo +0 -0
  1104. data/share/locale/nl/LC_MESSAGES/lilypond.mo +0 -0
  1105. data/share/locale/ru/LC_MESSAGES/lilypond.mo +0 -0
  1106. data/share/locale/sv/LC_MESSAGES/lilypond.mo +0 -0
  1107. data/share/locale/tr/LC_MESSAGES/lilypond.mo +0 -0
  1108. data/share/locale/uk/LC_MESSAGES/lilypond.mo +0 -0
  1109. data/share/locale/vi/LC_MESSAGES/lilypond.mo +0 -0
  1110. data/share/locale/zh_CN/LC_MESSAGES/lilypond.mo +0 -0
  1111. data/share/locale/zh_TW/LC_MESSAGES/lilypond.mo +0 -0
  1112. metadata +1135 -4
@@ -0,0 +1,4027 @@
1
+ ;;;; This file is part of LilyPond, the GNU music typesetter.
2
+ ;;;;
3
+ ;;;; Copyright (C) 1998--2022 Han-Wen Nienhuys <hanwen@xs4all.nl>
4
+ ;;;; Jan Nieuwenhuizen <janneke@gnu.org>
5
+ ;;;;
6
+ ;;;; LilyPond is free software: you can redistribute it and/or modify
7
+ ;;;; it under the terms of the GNU General Public License as published by
8
+ ;;;; the Free Software Foundation, either version 3 of the License, or
9
+ ;;;; (at your option) any later version.
10
+ ;;;;
11
+ ;;;; LilyPond is distributed in the hope that it will be useful,
12
+ ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ ;;;; GNU General Public License for more details.
15
+ ;;;;
16
+ ;;;; You should have received a copy of the GNU General Public License
17
+ ;;;; along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
18
+
19
+ ;;;; distances are given in line-thickness (thicknesses) and
20
+ ;;;; staff-space (distances)
21
+
22
+ ;;;; WARNING: the meta field should be the last one.
23
+
24
+ ;;;; WARNING: Don't use anonymous functions for initialization. They
25
+ ;;;; won't have a useful representation in the Internals Reference.
26
+ ;;;; They will also make the doc build unreproducible because Guile >=
27
+ ;;;; 2 includes raw memory addresses in a function's displayed
28
+ ;;;; representation.
29
+
30
+ ;; TODO: junk the meta field in favor of something more compact?
31
+
32
+
33
+ (define all-grob-descriptions-data
34
+ `(
35
+ (Accidental
36
+ . (
37
+ (after-line-breaking . ,ly:accidental-interface::remove-tied)
38
+ (alteration . ,accidental-interface::calc-alteration)
39
+ (avoid-slur . inside)
40
+ (glyph-name . ,accidental-interface::calc-glyph-name)
41
+ (extra-spacing-width . (-0.2 . 0.0))
42
+ (stencil . ,ly:accidental-interface::print)
43
+ (horizontal-skylines . ,(ly:make-unpure-pure-container ly:accidental-interface::horizontal-skylines))
44
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
45
+ (X-offset . ,ly:grob::x-parent-positioning)
46
+ (Y-extent . ,accidental-interface::height)
47
+ (meta . ((class . Item)
48
+ (interfaces . (accidental-interface
49
+ accidental-switch-interface
50
+ inline-accidental-interface
51
+ font-interface))
52
+ (description . "An accidental. Horizontal
53
+ padding and configuration between accidentals is controlled
54
+ by the @iref{AccidentalPlacement} grob.")))))
55
+
56
+ (AccidentalCautionary
57
+ . (
58
+ (after-line-breaking . ,ly:accidental-interface::remove-tied)
59
+ (alteration . ,accidental-interface::calc-alteration)
60
+ (avoid-slur . inside)
61
+ (parenthesized . #t)
62
+ (extra-spacing-width . (-0.2 . 0.0))
63
+ (glyph-name . ,accidental-interface::calc-glyph-name)
64
+ (stencil . ,ly:accidental-interface::print)
65
+ (horizontal-skylines . ,(ly:make-unpure-pure-container ly:accidental-interface::horizontal-skylines))
66
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
67
+ (X-offset . ,ly:grob::x-parent-positioning)
68
+ (Y-extent . ,accidental-interface::height)
69
+ (meta . ((class . Item)
70
+ (interfaces . (accidental-interface
71
+ accidental-switch-interface
72
+ inline-accidental-interface
73
+ font-interface))
74
+ (description . "A cautionary accidental, normally
75
+ enclosed in parentheses.")))))
76
+
77
+ (AccidentalPlacement
78
+ . (
79
+ (direction . ,LEFT)
80
+ (positioning-done . ,ly:accidental-placement::calc-positioning-done)
81
+
82
+ ;; this is quite small, but it is very ugly to have
83
+ ;; accs closer to the previous note than to the next one.
84
+ (right-padding . 0.15)
85
+
86
+ ;; for horizontally stacked scripts.
87
+ (script-priority . -100)
88
+
89
+ (X-extent . ,ly:axis-group-interface::width)
90
+ (meta . ((class . Item)
91
+ (interfaces . (accidental-placement-interface))
92
+ (description . "In groups of @iref{Accidental}
93
+ grobs, this auxiliary grob controls their horizontal padding and
94
+ configuration (which ones are placed more to left or to the
95
+ right).")))))
96
+
97
+ (AccidentalSuggestion
98
+ . (
99
+ (after-line-breaking . ,ly:accidental-interface::remove-tied)
100
+ (alteration . ,accidental-interface::calc-alteration)
101
+ (direction . ,UP)
102
+ (font-size . -2)
103
+ (glyph-name . ,accidental-interface::calc-glyph-name)
104
+ (outside-staff-priority . 0)
105
+ (parent-alignment-X . ,CENTER)
106
+ (script-priority . 0)
107
+ (self-alignment-X . ,CENTER)
108
+ (side-axis . ,Y)
109
+ (staff-padding . 0.25)
110
+ (stencil . ,ly:accidental-interface::print)
111
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
112
+ (Y-extent . ,accidental-interface::height)
113
+ (Y-offset . ,side-position-interface::y-aligned-side)
114
+ (meta . ((class . Item)
115
+ (interfaces . (accidental-interface
116
+ accidental-suggestion-interface
117
+ accidental-switch-interface
118
+ font-interface
119
+ outside-staff-interface
120
+ script-interface
121
+ self-alignment-interface
122
+ side-position-interface))
123
+ (description . "An annotational accidental as used
124
+ in @dfn{musica ficta}. Normally positioned above a note.")))))
125
+
126
+ (Ambitus
127
+ . (
128
+ (axes . (,X ,Y))
129
+ (break-align-symbol . ambitus)
130
+ (break-visibility . ,begin-of-line-visible)
131
+ (non-musical . #t)
132
+ (space-alist . (
133
+ (cue-end-clef . (extra-space . 0.5))
134
+ (clef . (extra-space . 1.15))
135
+ (cue-clef . (extra-space . 0.5))
136
+ (key-signature . (extra-space . 1.15))
137
+ (signum-repetitionis . (extra-space . 1.15))
138
+ (staff-bar . (extra-space . 1.15))
139
+ (time-signature . (extra-space . 1.15))
140
+ (right-edge . (extra-space . 0.5))
141
+ (first-note . (extra-space . 1.15))))
142
+ (X-extent . ,ly:axis-group-interface::width)
143
+ (Y-extent . ,axis-group-interface::height)
144
+ (meta . ((class . Item)
145
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
146
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
147
+ (interfaces . (ambitus-interface
148
+ axis-group-interface
149
+ break-aligned-interface))
150
+ (description . "An ambitus, giving the range of
151
+ pitches of a voice or instrument. It aligns
152
+ @iref{AmbitusAccidental}, @iref{AmbitusLine},
153
+ and @iref{AmbitusNoteHead} horizontally and defines the
154
+ horizontal spacing from the ambitus to other items.")))))
155
+
156
+ (AmbitusAccidental
157
+ . (
158
+ (glyph-name . ,accidental-interface::calc-glyph-name)
159
+ (stencil . ,ly:accidental-interface::print)
160
+ (X-offset . ,ly:grob::x-parent-positioning)
161
+ (Y-extent . ,accidental-interface::height)
162
+ (meta . ((class . Item)
163
+ (interfaces . (accidental-interface
164
+ accidental-switch-interface
165
+ break-aligned-interface
166
+ font-interface))
167
+ (description . "An accidental in an
168
+ @iref{Ambitus}.")))))
169
+
170
+ (AmbitusLine
171
+ . (
172
+ (gap . ,ambitus-line::calc-gap)
173
+ (length-fraction . 0.7)
174
+ (maximum-gap . 0.45)
175
+ (stencil . ,ambitus::print)
176
+ (thickness . 2)
177
+ (X-offset . ,ly:self-alignment-interface::centered-on-x-parent)
178
+ (meta . ((class . Item)
179
+ (interfaces . (ambitus-interface
180
+ font-interface))
181
+ (description . "The vertical line in an
182
+ @iref{Ambitus}.")))))
183
+
184
+ (AmbitusNoteHead
185
+ . (
186
+ (duration-log . 2)
187
+ (glyph-name . ,note-head::calc-glyph-name)
188
+ (ignore-ambitus . #t)
189
+ (stencil . ,ly:note-head::print)
190
+ (Y-offset . ,staff-symbol-referencer::callback)
191
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
192
+ (meta . ((class . Item)
193
+ (interfaces . (ambitus-interface
194
+ font-interface
195
+ ledgered-interface
196
+ note-head-interface
197
+ staff-symbol-referencer-interface))
198
+ (description . "A note head in an
199
+ @iref{Ambitus}.")))))
200
+
201
+ (Arpeggio
202
+ . (
203
+ (cross-staff . ,ly:arpeggio::calc-cross-staff)
204
+ (direction . ,LEFT)
205
+ (line-thickness . 1)
206
+ (padding . 0.5)
207
+ (positions . ,ly:arpeggio::calc-positions)
208
+ (protrusion . 0.4)
209
+ (script-priority . 0)
210
+ (side-axis . ,X)
211
+ (staff-position . 0.0)
212
+ (stencil . ,ly:arpeggio::print)
213
+ (thickness . 1)
214
+ (X-extent . ,ly:arpeggio::width)
215
+ (Y-extent . ,(grob::unpure-Y-extent-from-stencil ly:arpeggio::pure-height))
216
+ (X-offset . ,ly:side-position-interface::x-aligned-side)
217
+ (Y-offset . ,staff-symbol-referencer::callback)
218
+ (meta . ((class . Item)
219
+ (interfaces . (arpeggio-interface
220
+ font-interface
221
+ side-position-interface
222
+ staff-symbol-referencer-interface))
223
+ (description . "An arpeggio line (normally a
224
+ vertical wiggle).")))))
225
+
226
+
227
+ (BalloonText
228
+ . (
229
+ (after-line-breaking . ,ly:balloon-interface::remove-irrelevant-spanner)
230
+ (annotation-balloon . #t)
231
+ (annotation-line . #t)
232
+ (break-visibility . ,(sticky-grob-interface::inherit-property
233
+ 'break-visibility))
234
+ (cross-staff . ,(sticky-grob-interface::inherit-property
235
+ 'cross-staff))
236
+ (extra-spacing-width . (+inf.0 . -inf.0))
237
+ (spanner-placement . ,LEFT)
238
+ (stencil . ,ly:balloon-interface::print)
239
+ (text . ,(grob::calc-property-by-copy 'text))
240
+ (thickness . 1.0)
241
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
242
+ (X-offset . ,(grob::calc-property-by-copy 'X-offset))
243
+ (Y-offset . ,(grob::calc-property-by-copy 'Y-offset))
244
+ (X-extent . ,ly:balloon-interface::width)
245
+ (Y-extent . ,balloon::height)
246
+ (meta . ((classes . (Item Spanner))
247
+ (interfaces . (accidental-switch-interface
248
+ balloon-interface
249
+ font-interface
250
+ sticky-grob-interface
251
+ text-interface))
252
+ (description . "A balloon text with a pointing
253
+ line to visually mark and annotate another grob.")))))
254
+
255
+ (BarLine
256
+ . (
257
+ (allow-span-bar . #t)
258
+ (bar-extent . ,ly:bar-line::calc-bar-extent)
259
+ (break-align-anchor . ,ly:bar-line::calc-anchor)
260
+ (break-align-symbol . staff-bar)
261
+ (break-visibility . ,bar-line::calc-break-visibility)
262
+ (extra-spacing-height . ,pure-from-neighbor-interface::account-for-span-bar)
263
+ (gap . 0.4)
264
+ (glyph . "|")
265
+ (glyph-left . ,(grob::relay-other-property 'glyph))
266
+ (glyph-name . ,bar-line::calc-glyph-name)
267
+ (glyph-right . #f)
268
+
269
+ ;;
270
+ ;; Ross. page 151 lists other values, we opt for a leaner look
271
+ ;;
272
+ ;; TODO:
273
+ ;; kern should scale with line-thickness too.
274
+ (kern . 3.0)
275
+ (segno-kern . 3.0)
276
+ (hair-thickness . 1.9)
277
+ ;; For chord squares to determine the ending of inner lines.
278
+ (horizontal-skylines . ,grob::always-horizontal-skylines-from-stencil)
279
+ (thick-thickness . 6.0)
280
+
281
+ (layer . 0)
282
+ (non-musical . #t)
283
+ (rounded . #f)
284
+ (space-alist . (
285
+ (ambitus . (extra-space . 1.0))
286
+ (time-signature . (extra-space . 0.75))
287
+ (custos . (minimum-space . 2.0))
288
+ (clef . (extra-space . 1.0))
289
+ (key-signature . (extra-space . 1.0))
290
+ (key-cancellation . (extra-space . 1.0))
291
+ (first-note . (fixed-space . 1.3))
292
+ (next-note . (semi-fixed-space . 0.9))
293
+ (right-edge . (extra-space . 0.0))))
294
+ (stencil . ,ly:bar-line::print)
295
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
296
+ (meta . ((class . Item)
297
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
298
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
299
+ (interfaces . (bar-line-interface
300
+ break-aligned-interface
301
+ font-interface
302
+ pure-from-neighbor-interface))
303
+ (description . "A bar line.")))))
304
+
305
+ (BarNumber
306
+ . (
307
+ (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff)
308
+ ;; want the bar number before the clef at line start.
309
+ (break-align-symbols . (left-edge staff-bar))
310
+
311
+ (break-visibility . ,begin-of-line-visible)
312
+ (direction . ,UP)
313
+ (extra-spacing-width . (+inf.0 . -inf.0))
314
+ (font-family . roman)
315
+ (font-size . -2)
316
+ (non-musical . #t)
317
+ ;; w/o padding, bars numbers are not positioned over the staff as
318
+ ;; they are slightly to the left. so we add just a bit.
319
+ (horizon-padding . 0.05)
320
+ (outside-staff-priority . 100)
321
+ (padding . 1.0)
322
+ (self-alignment-X . ,(break-alignment-list LEFT LEFT RIGHT))
323
+ (side-axis . ,Y)
324
+ (stencil . ,ly:text-interface::print)
325
+ (X-offset . ,self-alignment-interface::self-aligned-on-breakable)
326
+ (Y-offset . ,side-position-interface::y-aligned-side)
327
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
328
+ (meta .
329
+ ((class . Item)
330
+ (interfaces . (bar-number-interface
331
+ break-alignable-interface
332
+ font-interface
333
+ outside-staff-interface
334
+ self-alignment-interface
335
+ side-position-interface
336
+ text-interface))
337
+ (description . "An ordinary bar number. Centered
338
+ bar numbers are managed separately with @iref{CenteredBarNumber}
339
+ grobs.")))))
340
+
341
+ (BassFigure
342
+ . (
343
+ (font-features . ("tnum" "cv47" "ss01"))
344
+ (stencil . ,ly:text-interface::print)
345
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
346
+ (meta . ((class . Item)
347
+ (interfaces . (accidental-switch-interface
348
+ bass-figure-interface
349
+ font-interface
350
+ rhythmic-grob-interface
351
+ text-interface))
352
+ (description . "A number in figured bass. It can contain an
353
+ alteration as well.")))))
354
+
355
+ (BassFigureAlignment
356
+ . (
357
+ (axes . (,Y))
358
+ (padding . -inf.0)
359
+ (positioning-done . ,ly:align-interface::align-to-minimum-distances)
360
+ (stacking-dir . ,DOWN)
361
+ (X-extent . ,ly:axis-group-interface::width)
362
+ (Y-extent . ,axis-group-interface::height)
363
+ (vertical-skylines . ,ly:axis-group-interface::calc-skylines)
364
+ (meta . ((class . Spanner)
365
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
366
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
367
+ (interfaces . (align-interface
368
+ axis-group-interface
369
+ bass-figure-alignment-interface))
370
+ (description . "An auxiliary grob to stack
371
+ several @iref{BassFigureLine} grobs vertically.")))))
372
+
373
+ (BassFigureAlignmentPositioning
374
+ . (
375
+ (axes . (,Y))
376
+ (direction . ,UP)
377
+ (padding . 0.5)
378
+ (side-axis . ,Y)
379
+ (add-stem-support . #t)
380
+ (staff-padding . 1.0)
381
+ (X-extent . ,ly:axis-group-interface::width)
382
+ (Y-extent . ,axis-group-interface::height)
383
+ (Y-offset . ,side-position-interface::y-aligned-side)
384
+ (meta . ((class . Spanner)
385
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
386
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
387
+ (interfaces . (axis-group-interface
388
+ outside-staff-interface
389
+ side-position-interface))
390
+ (description . "If figured bass is used in the
391
+ @iref{Staff} context, this auxiliary grob groups all of the
392
+ figured bass notation and computes an offset from the staff via
393
+ side-positioning.")))))
394
+
395
+ (BassFigureBracket
396
+ . (
397
+ (edge-height . (0.2 . 0.2))
398
+ (stencil . ,ly:enclosing-bracket::print)
399
+ (X-extent . ,ly:enclosing-bracket::width)
400
+ (meta . ((class . Item)
401
+ (interfaces . (enclosing-bracket-interface))
402
+ (description . "Brackets around a figured bass
403
+ (or elements of it).")))))
404
+
405
+ (BassFigureContinuation
406
+ . (
407
+ (stencil . ,ly:figured-bass-continuation::print)
408
+ (Y-offset . ,ly:figured-bass-continuation::center-on-figures)
409
+ (meta . ((class . Spanner)
410
+ (interfaces . (figured-bass-continuation-interface))
411
+ (description . "A horizontal line to indicate
412
+ that a number of a previous figured bass is continued in the
413
+ current figured bass.")))))
414
+
415
+ (BassFigureLine
416
+ . (
417
+ (adjacent-pure-heights . ,ly:axis-group-interface::adjacent-pure-heights)
418
+ (axes . (,Y))
419
+ (staff-staff-spacing . ((minimum-distance . 1.5)
420
+ (padding . 0.1)))
421
+ (vertical-skylines . ,ly:axis-group-interface::calc-skylines)
422
+ (X-extent . ,ly:axis-group-interface::width)
423
+ (Y-extent . ,axis-group-interface::height)
424
+ (meta . ((class . Spanner)
425
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
426
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
427
+ (interfaces . (axis-group-interface
428
+ outside-staff-axis-group-interface))
429
+ (description . "An auxiliary grob providing a
430
+ baseline for bass figures that should be aligned
431
+ vertically.")))))
432
+
433
+ (Beam
434
+ . (
435
+ ;; todo: clean this up a bit: the list is getting
436
+ ;; rather long.
437
+ (auto-knee-gap . 5.5)
438
+ (beam-segments . ,ly:beam::calc-beam-segments)
439
+ (beam-thickness . 0.48) ; in staff-space
440
+
441
+ ;; We have some unreferenced problems here.
442
+ ;;
443
+ ;; If we shorten beamed stems less than normal stems (1 staff-space),
444
+ ;; or high order less than 8th beams, patterns like
445
+ ;; c''4 [c''8 c''] c''4 [c''16 c]
446
+ ;; are ugly (different stem lengths).
447
+ ;;
448
+ ;; But if we shorten 16th beams as much as 8th beams, a single
449
+ ;; forced 16th beam looks *very* short.
450
+
451
+ ;; We choose to shorten 8th beams the same as single stems,
452
+ ;; and high order beams less than 8th beams, so that all
453
+ ;; isolated shortened beams look nice and a bit shortened,
454
+ ;; sadly possibly breaking patterns with high order beams.
455
+ (beamed-stem-shorten . (1.0 0.5 0.25))
456
+
457
+ (beaming . ,ly:beam::calc-beaming)
458
+ (clip-edges . #t)
459
+ (collision-interfaces . (beam-interface
460
+ clef-interface
461
+ clef-modifier-interface
462
+ flag-interface
463
+ inline-accidental-interface
464
+ key-signature-interface
465
+ note-head-interface
466
+ stem-interface
467
+ time-signature-interface))
468
+ (cross-staff . ,ly:beam::calc-cross-staff)
469
+ (damping . 1)
470
+ (details
471
+ .(
472
+ (secondary-beam-demerit . 10)
473
+ (stem-length-demerit-factor . 5)
474
+ (region-size . 2)
475
+ (beam-eps . 0.001)
476
+ (stem-length-limit-penalty . 5000)
477
+ (damping-direction-penalty . 800)
478
+ (hint-direction-penalty . 20)
479
+ (musical-direction-factor . 400)
480
+ (ideal-slope-factor . 10)
481
+ (collision-penalty . 500)
482
+ (collision-padding . 0.35)
483
+ (round-to-zero-slope . 0.02)))
484
+ (direction . ,ly:beam::calc-direction)
485
+
486
+ (normalized-endpoints . ,ly:spanner::calc-normalized-endpoints)
487
+ ;; only for debugging.
488
+ (font-family . roman)
489
+
490
+ (gap . 0.8)
491
+ (neutral-direction . ,DOWN)
492
+ (positions . ,beam::place-broken-parts-individually)
493
+ (X-positions . ,ly:beam::calc-x-positions)
494
+ (transparent . ,(grob::inherit-parent-property
495
+ X 'transparent))
496
+
497
+ ;; this is a hack to set stem lengths, if positions is set.
498
+ (quantized-positions . ,ly:beam::set-stem-lengths)
499
+
500
+ (shorten . ,ly:beam::calc-stem-shorten)
501
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
502
+ (stencil . ,ly:beam::print)
503
+
504
+ (meta . ((class . Spanner)
505
+ (object-callbacks . ((normal-stems . ,ly:beam::calc-normal-stems)))
506
+ (interfaces . (beam-interface
507
+ staff-symbol-referencer-interface
508
+ unbreakable-spanner-interface))
509
+ (description . "A beam.")))))
510
+
511
+ (BendAfter
512
+ . (
513
+ (minimum-length . 0.5)
514
+ (stencil . ,bend::print)
515
+ (thickness . 2.0)
516
+ (meta . ((class . Spanner)
517
+ (interfaces . (bend-after-interface))
518
+ (description . "A grob for displaying
519
+ @dfn{falls} and @dfn{doits}.")))))
520
+
521
+ (BendSpanner
522
+ . (
523
+ (avoid-slur . ignore)
524
+ (baseline-skip . 3)
525
+ (before-line-breaking . ,bend::target-cautionary)
526
+ (cross-staff . #f)
527
+ (details . ((arrow-stencil . ,bend::arrow-head-stencil)
528
+ ;; bend-arrow-curvature-factor, usually between 0 and 1,
529
+ ;; determines the horizontal part of a bend arrow as
530
+ ;; a percentage of the total horizontal extent
531
+ (curvature-factor . 0.35)
532
+ (bend-arrowhead-height . 1.25)
533
+ (bend-arrowhead-width . 0.8)
534
+ (bend-amount-strings . ((quarter . "¼")
535
+ (half . "½")
536
+ (three-quarter . "¾")
537
+ (full . #f)))
538
+ (curve-x-padding-line-end . 0.5)
539
+ (curve-y-padding-line-end . 1)
540
+ ;; (dashed-line-settings . (on off phase))
541
+ (dashed-line-settings . (0.4 0.4 0))
542
+ ;; A vector of 3 booleans:
543
+ ;; #(end-of-line unbroken begin-of-line)
544
+ (head-text-break-visibility . #(#f #t #t))
545
+ (horizontal-left-padding . 0.1)
546
+ (successive-level . 1)
547
+ (target-visibility . #f)
548
+ (vertical-padding . 0.2)
549
+ (y-distance-from-tabstaff-to-arrow-tip . 2.75)))
550
+ (direction . ,UP)
551
+ (font-size . -2)
552
+ (font-shape . italic)
553
+ (font-encoding . latin1)
554
+ (padding . 0.15)
555
+ (side-axis . ,Y)
556
+ (spanner-id . "")
557
+ (stencil . ,bend-spanner::print)
558
+ (style . ()) ;; hold, pre-bend, pre-bend-hold
559
+ (text . #f)
560
+ (thickness . 1)
561
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
562
+ (word-space . 0.6)
563
+ (Y-offset . 0)
564
+ (meta . ((class . Spanner)
565
+ (interfaces . (bend-interface
566
+ font-interface
567
+ line-spanner-interface
568
+ outside-staff-interface
569
+ text-interface
570
+ text-script-interface))
571
+ (description . "A string bending as used in
572
+ tablature notation.")))))
573
+
574
+ (BreakAlignGroup
575
+ . (
576
+ (axes . (,X))
577
+ (break-align-anchor . ,ly:break-aligned-interface::calc-average-anchor)
578
+ (break-align-anchor-alignment . ,ly:break-aligned-interface::calc-joint-anchor-alignment)
579
+ (break-visibility . ,ly:break-aligned-interface::calc-break-visibility)
580
+ (X-extent . ,ly:axis-group-interface::width)
581
+ (meta . ((class . Item)
582
+ (interfaces . (axis-group-interface
583
+ break-aligned-interface))
584
+ (description . "An auxiliary grob to group
585
+ several breakable items of the same type (clefs, time signatures,
586
+ etc.@:) across staves so that they will be aligned horizontally.
587
+ See also @iref{BreakAlignment}.")))))
588
+
589
+ (BreakAlignment
590
+ . (
591
+ (axes . (,X))
592
+ (break-align-orders . ;; end of line
593
+ #((
594
+ left-edge
595
+ staff-ellipsis
596
+ cue-end-clef
597
+ ambitus
598
+ breathing-sign
599
+ signum-repetitionis
600
+ clef
601
+ cue-clef
602
+ staff-bar
603
+ key-cancellation
604
+ key-signature
605
+ time-signature
606
+ custos)
607
+
608
+ ;; unbroken
609
+ (
610
+ left-edge
611
+ staff-ellipsis
612
+ cue-end-clef
613
+ ambitus
614
+ breathing-sign
615
+ signum-repetitionis
616
+ clef
617
+ cue-clef
618
+ staff-bar
619
+ key-cancellation
620
+ key-signature
621
+ time-signature
622
+ custos)
623
+
624
+ ;; begin of line
625
+ (
626
+ left-edge
627
+ staff-ellipsis
628
+ ambitus
629
+ breathing-sign
630
+ signum-repetitionis
631
+ clef
632
+ key-cancellation
633
+ key-signature
634
+ time-signature
635
+ staff-bar
636
+ cue-clef
637
+ custos)))
638
+ (non-musical . #t)
639
+ (positioning-done . ,ly:break-alignment-interface::calc-positioning-done)
640
+ (stacking-dir . 1)
641
+ (X-extent . ,ly:axis-group-interface::width)
642
+ (meta . ((class . Item)
643
+ (interfaces . (axis-group-interface
644
+ break-alignment-interface))
645
+ (description . "An auxiliary grob that manages
646
+ the horizontal ordering of @iref{BreakAlignGroup} grobs within a
647
+ @iref{NonMusicalPaperColumn} grob (for example, whether the
648
+ time signature follows or precedes a bar line).")))))
649
+
650
+ (BreathingSign
651
+ . (
652
+ (break-align-symbol . breathing-sign)
653
+ (break-visibility . ,begin-of-line-invisible)
654
+ (direction . ,UP)
655
+ (non-musical . #t)
656
+ (space-alist . (
657
+ (ambitus . (extra-space . 2.0))
658
+ (custos . (minimum-space . 1.0))
659
+ (key-signature . (minimum-space . 1.5))
660
+ (time-signature . (minimum-space . 1.5))
661
+ (signum-repetitionis . (minimum-space . 1.5))
662
+ (staff-bar . (minimum-space . 1.5))
663
+ (clef . (minimum-space . 2.0))
664
+ (cue-clef . (minimum-space . 2.0))
665
+ (cue-end-clef . (minimum-space . 2.0))
666
+ (first-note . (fixed-space . 1.0)) ;huh?
667
+ (right-edge . (extra-space . 0.1))))
668
+ (stencil . ,ly:text-interface::print)
669
+ ;; Thickness applies to Gregorian divisiones. This default is
670
+ ;; the same as BarLine.hair-thickness to allow them to blend
671
+ ;; into modern contexts.
672
+ (thickness . 1.9)
673
+ (Y-offset . ,(ly:make-unpure-pure-container ly:breathing-sign::offset-callback))
674
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
675
+ (meta . ((class . Item)
676
+ (interfaces . (break-aligned-interface
677
+ breathing-sign-interface
678
+ font-interface
679
+ outside-staff-interface
680
+ text-interface))
681
+ (description . "A breathing sign.")))))
682
+
683
+
684
+ (CaesuraScript
685
+ ;; CaesuraScript is similar to Script for vertical stacking, but
686
+ ;; is non-musical.
687
+ . (
688
+ (before-line-breaking . ,caesura-script-interface::before-line-breaking)
689
+ (break-visibility . ,begin-of-line-invisible)
690
+ (direction . ,ly:script-interface::calc-direction)
691
+ (font-encoding . fetaMusic)
692
+ (horizon-padding . 0.1) ; to avoid interleaving with accidentals
693
+ (non-musical . #t)
694
+ (positioning-done . ,ly:script-interface::calc-positioning-done)
695
+ (self-alignment-X . ,CENTER)
696
+ (side-axis . ,Y)
697
+
698
+ ;; padding set in script definitions.
699
+ (slur-padding . 0.2)
700
+ (staff-padding . 0.25)
701
+
702
+ (stencil . ,ly:script-interface::print)
703
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
704
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
705
+ (X-offset . ,script-interface::calc-x-offset)
706
+ (Y-offset . ,side-position-interface::y-aligned-side)
707
+ (meta . ((class . Item)
708
+ (interfaces . (caesura-script-interface
709
+ font-interface
710
+ outside-staff-interface
711
+ script-interface
712
+ self-alignment-interface
713
+ side-position-interface))
714
+ (description . "A script for @code{\\caesura}, e.g.,
715
+ an outside-staff comma or a fermata over a bar line.")))))
716
+
717
+ (CenteredBarNumber
718
+ . (
719
+ (extra-spacing-width . (+inf.0 . -inf.0))
720
+ (font-family . roman)
721
+ ;; This is intentionally bigger than BarNumber.
722
+ (font-size . 0)
723
+ (self-alignment-X . ,CENTER)
724
+ (stencil . ,ly:text-interface::print)
725
+ (X-offset . ,centered-spanner-interface::calc-x-offset)
726
+ (meta .
727
+ ((class . Spanner)
728
+ (interfaces . (bar-number-interface
729
+ centered-bar-number-interface
730
+ centered-spanner-interface
731
+ font-interface
732
+ text-interface))
733
+ (description . "A centered bar number; see also
734
+ @iref{CenteredBarNumberLineSpanner}. Ordinary bar numbers are
735
+ managed with @iref{BarNumber} grobs.")))))
736
+
737
+ (CenteredBarNumberLineSpanner
738
+ . (
739
+ (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff)
740
+ (axes . (,Y))
741
+ (direction . ,UP)
742
+ (outside-staff-priority . 1200)
743
+ (padding . 4)
744
+ (side-axis . ,Y)
745
+ (vertical-skylines . ,grob::always-vertical-skylines-from-element-stencils)
746
+ (X-extent . ,ly:axis-group-interface::width)
747
+ (Y-extent . ,axis-group-interface::height)
748
+ (Y-offset . ,side-position-interface::y-aligned-side)
749
+ (meta . ((class . Spanner)
750
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
751
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
752
+ (interfaces . (axis-group-interface
753
+ bar-number-interface
754
+ centered-bar-number-line-spanner-interface
755
+ outside-staff-interface
756
+ side-position-interface))
757
+ (description . "An auxiliary grob providing a
758
+ vertical baseline to align @iref{CenteredBarNumber} grobs.")))))
759
+
760
+ (ChordName
761
+ . (
762
+ (after-line-breaking . ,ly:chord-name::after-line-breaking)
763
+ (font-family . sans)
764
+ (font-size . 1.5)
765
+ (stencil . ,ly:text-interface::print)
766
+ (extra-spacing-height . (0.2 . -0.2))
767
+ (extra-spacing-width . (-0.5 . 0.5))
768
+ (word-space . 0.0)
769
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
770
+ (meta . ((class . Item)
771
+ (interfaces . (accidental-switch-interface
772
+ chord-name-interface
773
+ font-interface
774
+ outside-staff-interface
775
+ rhythmic-grob-interface
776
+ text-interface))
777
+ (description . "A stand-alone chord name. For chord
778
+ names in chord grids, see @iref{GridChordName}.")))))
779
+
780
+ ;; About chord square notation, see: Philippe Baudoin, "Jazz, mode d'emploi
781
+ ;; / Petite encyclopédie des données techniques de base".
782
+ (ChordSquare
783
+ . ((measure-division-chord-placement-alist
784
+ . ,default-measure-division-chord-placement-alist)
785
+ (measure-division-lines-alist
786
+ . ,default-measure-division-lines-alist)
787
+ (stencil . ,chord-square::print)
788
+ ;; The default extent-based skylines are fine: the stencil's
789
+ ;; skylines are a rectangle anyway.
790
+ (X-extent . ,chord-square::width)
791
+ (Y-extent . ,(ly:make-unpure-pure-container chord-square::height))
792
+ (meta . ((class . Spanner)
793
+ (interfaces . (chord-square-interface
794
+ line-interface))
795
+ (description . "In a chord grid, this grob represents one chord
796
+ square. It helps place @iref{GridChordName} grobs, and draws lines to separate
797
+ them. Note that this grob only draws the diagonal lines in a square. The borders
798
+ of the square are drawn by @iref{StaffSymbol} and @iref{BarLine}.")))))
799
+
800
+ (Clef
801
+ . (
802
+ (avoid-slur . inside)
803
+ (break-align-anchor . ,ly:break-aligned-interface::calc-extent-aligned-anchor)
804
+ (break-align-anchor-alignment . ,RIGHT)
805
+ (break-align-symbol . clef)
806
+ (break-visibility . ,begin-of-line-visible)
807
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height-at-beginning-of-line)
808
+ (glyph-name . ,ly:clef::calc-glyph-name)
809
+ (non-musical . #t)
810
+ (space-alist . ((cue-clef . (extra-space . 2.0))
811
+ (signum-repetitionis . (extra-space . 0.7))
812
+ (staff-bar . (extra-space . 0.7))
813
+ (ambitus . (extra-space . 1.15))
814
+ (key-cancellation . (minimum-space . 3.5))
815
+ (key-signature . (minimum-space . 3.5))
816
+ (time-signature . (minimum-space . 4.2))
817
+ (first-note . (minimum-fixed-space . 5.0))
818
+ (next-note . (extra-space . 1.0))
819
+ (right-edge . (extra-space . 0.5))))
820
+ (stencil . ,ly:clef::print)
821
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
822
+ (Y-offset . ,staff-symbol-referencer::callback)
823
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
824
+ (meta . ((class . Item)
825
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
826
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
827
+ (interfaces . (break-aligned-interface
828
+ clef-interface
829
+ font-interface
830
+ pure-from-neighbor-interface
831
+ staff-symbol-referencer-interface))
832
+ (description . "A clef. See also
833
+ @iref{ClefModifier}, @iref{CueClef}, and @iref{CueEndClef}.")))))
834
+
835
+ (ClefModifier
836
+ . (
837
+ (break-visibility . ,(grob::inherit-parent-property
838
+ X 'break-visibility))
839
+ (clef-alignments . ((G . (-0.2 . 0.1))
840
+ (F . (-0.3 . -0.2))
841
+ (C . (0 . 0))))
842
+ (color . ,(grob::inherit-parent-property
843
+ X 'color))
844
+ (font-shape . italic)
845
+ (font-size . -4)
846
+ (parent-alignment-X . ,ly:clef-modifier::calc-parent-alignment)
847
+ (self-alignment-X . ,CENTER)
848
+ (staff-padding . 0.7)
849
+ (stencil . ,ly:text-interface::print)
850
+ (transparent . ,(grob::inherit-parent-property
851
+ X 'transparent))
852
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
853
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
854
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
855
+ (Y-offset . ,side-position-interface::y-aligned-side)
856
+ (meta . ((class . Item)
857
+ (interfaces . (clef-modifier-interface
858
+ font-interface
859
+ outside-staff-interface
860
+ self-alignment-interface
861
+ side-position-interface
862
+ text-interface))
863
+ (description . "A grob that draws the clef
864
+ modifier (if present), in most cases the digit@tie{}8 below or
865
+ above the clef. See also @iref{Clef}, @iref{CueClef}, and
866
+ @iref{CueEndClef}.")))))
867
+
868
+ (ClusterSpanner
869
+ . (
870
+ (cross-staff . ,ly:cluster::calc-cross-staff)
871
+ (minimum-length . 0.0)
872
+ (padding . 0.25)
873
+ (springs-and-rods . ,ly:spanner::set-spacing-rods)
874
+ (stencil . ,ly:cluster::print)
875
+ (style . ramp)
876
+ (meta . ((class . Spanner)
877
+ (interfaces . (cluster-interface))
878
+ (description . "A cluster spanner. The envelope
879
+ shape within the spanner is given by @iref{ClusterSpannerBeacon}
880
+ grobs.")))))
881
+
882
+ (ClusterSpannerBeacon
883
+ . (
884
+ (Y-extent . ,ly:cluster-beacon::height)
885
+ (meta . ((class . Item)
886
+ (interfaces . (cluster-beacon-interface
887
+ rhythmic-grob-interface))
888
+ (description . "An auxiliary grob to specify the
889
+ minimum and maximum pitch of a @iref{ClusterSpanner} grob at a
890
+ given moment.")))))
891
+
892
+ (CodaMark
893
+ . (
894
+ (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff)
895
+ (baseline-skip . 2)
896
+ (break-align-symbols . (staff-bar key-signature clef))
897
+ (break-visibility . ,begin-of-line-invisible)
898
+ (direction . ,UP)
899
+ (extra-spacing-width . (+inf.0 . -inf.0))
900
+ (font-size . 2)
901
+ (non-musical . #t)
902
+ (outside-staff-horizontal-padding . 0.2)
903
+ (outside-staff-padding . 0.4)
904
+ (outside-staff-priority . 1400) ; inside RehearsalMark
905
+ (padding . 0.4)
906
+ (self-alignment-X . ,break-alignable-interface::self-alignment-opposite-of-anchor)
907
+ (stencil . ,ly:text-interface::print)
908
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
909
+ (X-offset . ,self-alignment-interface::self-aligned-on-breakable)
910
+ (Y-offset . ,side-position-interface::y-aligned-side)
911
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
912
+ (meta . ((class . Item)
913
+ (interfaces . (break-alignable-interface
914
+ coda-mark-interface
915
+ font-interface
916
+ mark-interface
917
+ outside-staff-interface
918
+ self-alignment-interface
919
+ side-position-interface
920
+ text-interface))
921
+ (description . "A coda mark.")))))
922
+
923
+ (ControlPoint
924
+ . (
925
+ (color . "IndianRed")
926
+ (cross-staff . ,(sticky-grob-interface::inherit-property
927
+ 'cross-staff))
928
+ (horizontal-skylines . #f)
929
+ (layer . 3)
930
+ (text . ,(make-draw-circle-markup 0.3 0.01 #t))
931
+ (stencil . ,ly:text-interface::print)
932
+ (vertical-skylines . #f)
933
+ (X-extent . #f)
934
+ (X-offset . ,(control-point::calc-offset X))
935
+ (Y-extent . #f)
936
+ (Y-offset . ,(control-point::calc-offset Y))
937
+ (meta . ((classes . (Item Spanner))
938
+ (interfaces . (control-point-interface
939
+ sticky-grob-interface
940
+ text-interface))
941
+ (description . "A visual representation of a
942
+ Bézier control point in ties and slurs.")))))
943
+
944
+ (ControlPolygon
945
+ . (
946
+ (color . "BurlyWood")
947
+ (cross-staff . ,(sticky-grob-interface::inherit-property
948
+ 'cross-staff))
949
+ (extroversion . 0.5)
950
+ (filled . #f)
951
+ (horizontal-skylines . #f)
952
+ (layer . 2)
953
+ (text . ,control-polygon::calc-text)
954
+ (thickness . 1.2)
955
+ (stencil . ,ly:text-interface::print)
956
+ (vertical-skylines . #f)
957
+ (X-extent . #f)
958
+ (Y-extent . #f)
959
+ (meta . ((classes . (Item Spanner))
960
+ (interfaces . (control-polygon-interface
961
+ sticky-grob-interface
962
+ text-interface))
963
+ (description . "A visual representation of a
964
+ Bézier control polygon as used in ties and slurs.")))))
965
+
966
+ (CombineTextScript
967
+ . (
968
+ (avoid-slur . outside)
969
+ (baseline-skip . 2)
970
+ (direction . ,UP)
971
+ (extra-spacing-width . (+inf.0 . -inf.0))
972
+ (font-series . bold)
973
+ (outside-staff-priority . 450)
974
+ (padding . 0.5)
975
+ (parent-alignment-X . #f)
976
+ (script-priority . 200)
977
+ (self-alignment-X . #f)
978
+ (side-axis . ,Y)
979
+ (staff-padding . 0.5)
980
+ (stencil . ,ly:text-interface::print)
981
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
982
+ (Y-offset . ,side-position-interface::y-aligned-side)
983
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
984
+ (meta . ((class . Item)
985
+ (interfaces . (accidental-switch-interface
986
+ font-interface
987
+ outside-staff-interface
988
+ self-alignment-interface
989
+ side-position-interface
990
+ text-interface
991
+ text-script-interface))
992
+ (description . "A grob for printing markup given
993
+ in the @code{soloText}, @code{soloIIText}, and @code{aDueText}
994
+ properties if automatic part combining is active.")))))
995
+
996
+ (CueClef
997
+ . (
998
+ (avoid-slur . inside)
999
+ (break-align-anchor . ,ly:break-aligned-interface::calc-extent-aligned-anchor)
1000
+ (break-align-symbol . cue-clef)
1001
+ (break-visibility . ,begin-of-line-visible)
1002
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height-at-beginning-of-line)
1003
+ (font-size . -4)
1004
+ (glyph-name . ,ly:clef::calc-glyph-name)
1005
+ (non-musical . #t)
1006
+ (full-size-change . #t)
1007
+ (space-alist . ((signum-repetitionis . (minimum-space . 2.7))
1008
+ (staff-bar . (minimum-space . 2.7))
1009
+ (key-cancellation . (minimum-space . 3.5))
1010
+ (key-signature . (minimum-space . 3.5))
1011
+ (time-signature . (minimum-space . 4.2))
1012
+ (custos . (minimum-space . 0.0))
1013
+ (first-note . (minimum-fixed-space . 3.0))
1014
+ (next-note . (extra-space . 1.0))
1015
+ (right-edge . (extra-space . 0.5))))
1016
+ (stencil . ,ly:clef::print)
1017
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
1018
+ (Y-offset . ,staff-symbol-referencer::callback)
1019
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1020
+ (meta . ((class . Item)
1021
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
1022
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
1023
+ (interfaces . (break-aligned-interface
1024
+ clef-interface
1025
+ font-interface
1026
+ pure-from-neighbor-interface
1027
+ staff-symbol-referencer-interface))
1028
+ (description . "A clef starting a cue. See also
1029
+ @iref{Clef}, @iref{ClefModifier}, and @iref{CueEndClef}.")))))
1030
+
1031
+ (CueEndClef
1032
+ . (
1033
+ (avoid-slur . inside)
1034
+ (break-align-anchor . ,ly:break-aligned-interface::calc-extent-aligned-anchor)
1035
+ (break-align-symbol . cue-end-clef)
1036
+ (break-visibility . ,begin-of-line-invisible)
1037
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height-at-beginning-of-line)
1038
+ (font-size . -4)
1039
+ (glyph-name . ,ly:clef::calc-glyph-name)
1040
+ (non-musical . #t)
1041
+ (full-size-change . #t)
1042
+ (space-alist . ((clef . (extra-space . 0.7))
1043
+ (cue-clef . (extra-space . 0.7))
1044
+ (signum-repetitionis . (extra-space . 0.7))
1045
+ (staff-bar . (extra-space . 0.7))
1046
+ (key-cancellation . (minimum-space . 3.5))
1047
+ (key-signature . (minimum-space . 3.5))
1048
+ (time-signature . (minimum-space . 4.2))
1049
+ (first-note . (minimum-fixed-space . 5.0))
1050
+ (next-note . (extra-space . 1.0))
1051
+ (right-edge . (extra-space . 0.5))))
1052
+ (stencil . ,ly:clef::print)
1053
+ (Y-offset . ,staff-symbol-referencer::callback)
1054
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1055
+ (meta . ((class . Item)
1056
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
1057
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
1058
+ (interfaces . (break-aligned-interface
1059
+ clef-interface
1060
+ font-interface
1061
+ pure-from-neighbor-interface
1062
+ staff-symbol-referencer-interface))
1063
+ (description . "A clef ending a cue. See also
1064
+ @iref{Clef}, @iref{ClefModifier}, and @iref{CueClef}.")))))
1065
+
1066
+ (Custos
1067
+ . (
1068
+ (break-align-symbol . custos)
1069
+ (break-visibility . ,end-of-line-visible)
1070
+ (neutral-direction . ,DOWN)
1071
+ (non-musical . #t)
1072
+ (space-alist . (
1073
+ (first-note . (minimum-fixed-space . 0.0))
1074
+ (right-edge . (extra-space . 0.1))))
1075
+ (stencil . ,ly:custos::print)
1076
+ (style . vaticana)
1077
+ (Y-offset . ,staff-symbol-referencer::callback)
1078
+ (meta . ((class . Item)
1079
+ (interfaces . (break-aligned-interface
1080
+ custos-interface
1081
+ font-interface
1082
+ staff-symbol-referencer-interface))
1083
+ (description . "A custos, mainly used in older
1084
+ notation like Gregorian chant.")))))
1085
+
1086
+
1087
+ ;; Divisio grew out of BreathingSign but is break-aligned like
1088
+ ;; BarLine, so it is similar to and different from both of them.
1089
+ (Divisio
1090
+ . (
1091
+ (break-align-anchor
1092
+ . ,ly:break-aligned-interface::calc-extent-aligned-anchor)
1093
+ (break-align-anchor-alignment . ,CENTER)
1094
+ (break-align-symbol . staff-bar)
1095
+ (break-visibility . ,begin-of-line-invisible)
1096
+ (direction . ,UP)
1097
+ (extra-spacing-height . ,item::extra-spacing-height-including-staff)
1098
+ (extra-spacing-width . (-1.0 . 0.0))
1099
+ (non-musical . #t)
1100
+ (space-alist . (
1101
+ (ambitus . (extra-space . 1.0))
1102
+ (time-signature . (extra-space . 0.75))
1103
+ (custos . (minimum-space . 2.0))
1104
+ (clef . (extra-space . 1.0))
1105
+ (key-signature . (extra-space . 1.0))
1106
+ (key-cancellation . (extra-space . 1.0))
1107
+ (first-note . (fixed-space . 1.3))
1108
+ (next-note . (semi-fixed-space . 0.9))
1109
+ (right-edge . (extra-space . 0.0))))
1110
+ (stencil . ,ly:text-interface::print)
1111
+ (thickness . 1.9)
1112
+ (Y-offset . ,(ly:make-unpure-pure-container ly:breathing-sign::offset-callback))
1113
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1114
+ (meta . ((class . Item)
1115
+ (interfaces . (break-aligned-interface
1116
+ breathing-sign-interface
1117
+ font-interface
1118
+ outside-staff-interface
1119
+ text-interface))
1120
+ (description . "A structural divider in a chant,
1121
+ often calling for a breath or caesura.")))))
1122
+
1123
+ (DotColumn
1124
+ . (
1125
+ (axes . (,X))
1126
+ (chord-dots-limit . 3)
1127
+ (direction . ,RIGHT)
1128
+ (padding . ,dot-column-interface::pad-by-one-dot-width)
1129
+ (positioning-done . ,ly:dot-column::calc-positioning-done)
1130
+ (X-extent . ,ly:axis-group-interface::width)
1131
+ (meta . ((class . Item)
1132
+ (interfaces . (axis-group-interface
1133
+ dot-column-interface))
1134
+ (description . "An auxiliary grob to align
1135
+ stacked @iref{Dots} grobs of dotted notes and chords.")))))
1136
+
1137
+ (Dots
1138
+ . (
1139
+ (avoid-slur . inside)
1140
+ (dot-count . ,dots::calc-dot-count)
1141
+ (dot-stencil . ,dots::calc-dot-stencil)
1142
+ (glyph-name . ,dots::calc-glyph-name)
1143
+ (staff-position . ,dots::calc-staff-position)
1144
+ (stencil . ,ly:dots::print)
1145
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1146
+ (extra-spacing-height . (-0.5 . 0.5))
1147
+ (extra-spacing-width . (0.0 . 0.2))
1148
+ (meta . ((class . Item)
1149
+ (interfaces . (dots-interface
1150
+ font-interface
1151
+ staff-symbol-referencer-interface))
1152
+ (description . "The dot(s) of a dotted note.
1153
+ See also @iref{DotColumn}.")))))
1154
+
1155
+ (DoublePercentRepeat
1156
+ . (
1157
+ (break-align-symbol . staff-bar)
1158
+ (break-visibility . ,begin-of-line-invisible)
1159
+ (dot-negative-kern . 0.75)
1160
+ (font-encoding . fetaMusic)
1161
+ (non-musical . #t)
1162
+ (slash-negative-kern . 1.6)
1163
+ (slope . 1.0)
1164
+ (stencil . ,ly:percent-repeat-interface::double-percent)
1165
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1166
+ (thickness . 0.48)
1167
+ (meta . ((class . Item)
1168
+ (interfaces . (break-aligned-interface
1169
+ font-interface
1170
+ percent-repeat-interface))
1171
+ (description . "A double-percent symbol for
1172
+ repeating two bars. See also @iref{DoublePercentRepeatCounter},
1173
+ @iref{PercentRepeat}, @iref{DoubleRepeatSlash}, and
1174
+ @iref{RepeatSlash}.")))))
1175
+
1176
+ (DoublePercentRepeatCounter
1177
+ . (
1178
+ (direction . ,UP)
1179
+ (font-encoding . fetaText)
1180
+ (font-features . ("cv47"))
1181
+ (font-size . -2)
1182
+ (padding . 0.2)
1183
+ (parent-alignment-X . ,CENTER)
1184
+ (self-alignment-X . ,CENTER)
1185
+ (side-axis . ,Y)
1186
+ (staff-padding . 0.25)
1187
+ (stencil . ,ly:text-interface::print)
1188
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
1189
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1190
+ (Y-offset . ,side-position-interface::y-aligned-side)
1191
+ (meta . ((class . Item)
1192
+ (interfaces . (font-interface
1193
+ outside-staff-interface
1194
+ self-alignment-interface
1195
+ side-position-interface
1196
+ text-interface))
1197
+ (description . "A grob to print a counter for
1198
+ @iref{DoublePercentRepeat} grobs.")))))
1199
+
1200
+ (DoubleRepeatSlash
1201
+ . (
1202
+ (dot-negative-kern . 0.75)
1203
+ (font-encoding . fetaMusic)
1204
+ (slash-negative-kern . 1.6)
1205
+ (slope . 1.0)
1206
+ (stencil . ,ly:percent-repeat-interface::beat-slash)
1207
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1208
+ (thickness . 0.48)
1209
+ (meta . ((class . Item)
1210
+ (interfaces . (font-interface
1211
+ outside-staff-interface
1212
+ percent-repeat-interface
1213
+ rhythmic-grob-interface))
1214
+ (description . "A double-percent symbol for
1215
+ repeating patterns shorter than a single measure, and which
1216
+ contain mixed durations. See also @iref{PercentRepeat},
1217
+ @iref{DoublePercentRepeat}, and @iref{RepeatSlash}.")))))
1218
+
1219
+ (DurationLine
1220
+ . (
1221
+ (after-line-breaking . ,ly:spanner::kill-zero-spanned-time)
1222
+ (arrow-width . 1.5)
1223
+ (arrow-length . 2)
1224
+ (bound-details
1225
+ .
1226
+ ((right . ((attach-dir . ,LEFT)
1227
+ (end-on-accidental . #t)
1228
+ (end-on-arpeggio . #t)
1229
+ (padding . 0.4)
1230
+ ;; possible values for endstyle: arrow, hook
1231
+ (end-style . #f)))
1232
+ (right-broken . ((padding . 0.4)
1233
+ (end-style . #f)))
1234
+ (left-broken . ((padding . 0.5)))
1235
+ (left . ((attach-dir . ,RIGHT)
1236
+ (padding . -0.3)
1237
+ (start-at-dot . #f)))))
1238
+ (breakable . #t)
1239
+ (details
1240
+ .
1241
+ ((hook-height . 0.34)
1242
+ ;; Unless set by the user, grob's thickness is taken as default
1243
+ (hook-thickness . #f)
1244
+ (hook-direction . ,UP)
1245
+ (extra-dot-padding . 0.5)))
1246
+ (left-bound-info . ,ly:horizontal-line-spanner::calc-left-bound-info)
1247
+ (minimum-length . 2)
1248
+ (minimum-length-after-break . 6)
1249
+ (right-bound-info . ,ly:horizontal-line-spanner::calc-right-bound-info)
1250
+ (springs-and-rods . ,ly:spanner::set-spacing-rods)
1251
+ (stencil . ,duration-line::print)
1252
+ (style . beam)
1253
+ (to-barline . #f)
1254
+ (thickness . 4)
1255
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
1256
+ (Y-offset . 0)
1257
+ (zigzag-length . 1)
1258
+ (zigzag-width . 1)
1259
+ (meta . ((class . Spanner)
1260
+ (interfaces . (horizontal-line-spanner-interface
1261
+ line-interface
1262
+ line-spanner-interface
1263
+ duration-line-interface
1264
+ font-interface
1265
+ unbreakable-spanner-interface))
1266
+ (description . "A horizontal duration line,
1267
+ continuing rhythmic items (usually note heads).")))))
1268
+
1269
+ (DynamicLineSpanner
1270
+ . (
1271
+ (axes . (,Y))
1272
+ (cross-staff . ,ly:side-position-interface::calc-cross-staff)
1273
+ (direction . ,DOWN)
1274
+ (minimum-space . 1.2)
1275
+ (outside-staff-priority . 250)
1276
+ (padding . 0.6)
1277
+ (side-axis . ,Y)
1278
+ (slur-padding . 0.3)
1279
+ (staff-padding . 0.1)
1280
+ (vertical-skylines . ,grob::always-vertical-skylines-from-element-stencils)
1281
+ (X-extent . ,ly:axis-group-interface::width)
1282
+ (Y-extent . ,axis-group-interface::height)
1283
+ (Y-offset . ,side-position-interface::y-aligned-side)
1284
+ (meta . ((class . Spanner)
1285
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
1286
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
1287
+ (interfaces . (axis-group-interface
1288
+ dynamic-interface
1289
+ dynamic-line-spanner-interface
1290
+ outside-staff-interface
1291
+ side-position-interface))
1292
+ (description . "An auxiliary grob providing a
1293
+ vertical baseline to align successive dynamic grobs
1294
+ (@iref{DynamicText}, @iref{DynamicTextSpanner},
1295
+ and @iref{Hairpin}) within a staff.")))))
1296
+
1297
+ (DynamicText
1298
+ . (
1299
+
1300
+ ;; todo.
1301
+
1302
+ (direction . ,ly:script-interface::calc-direction)
1303
+ (extra-spacing-width . (+inf.0 . -inf.0))
1304
+ (font-encoding . fetaText)
1305
+ (font-series . bold)
1306
+ (font-shape . italic)
1307
+ (parent-alignment-X . ,CENTER)
1308
+ (positioning-done . ,ly:script-interface::calc-positioning-done)
1309
+ (right-padding . 0.5)
1310
+ (self-alignment-X . ,CENTER)
1311
+ (stencil . ,ly:text-interface::print)
1312
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
1313
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1314
+ (X-align-on-main-noteheads . #t)
1315
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
1316
+ (Y-offset . ,(scale-by-font-size -0.6)) ; center on an 'm'
1317
+ (meta . ((class . Item)
1318
+ (interfaces . (dynamic-interface
1319
+ dynamic-text-interface
1320
+ font-interface
1321
+ outside-staff-interface
1322
+ script-interface
1323
+ self-alignment-interface
1324
+ text-interface))
1325
+ (description . "A dynamic text item like @q{ff}
1326
+ or @q{mp}. See also @iref{DynamicLineSpanner}.")))))
1327
+
1328
+ (DynamicTextSpanner
1329
+ . (
1330
+ (before-line-breaking . ,dynamic-text-spanner::before-line-breaking)
1331
+ (bound-details . ((right . ((attach-dir . ,LEFT)
1332
+ (padding . 0.75)
1333
+ ))
1334
+ (right-broken . ((attach-dir . ,RIGHT)
1335
+ (padding . 0.0)
1336
+ ))
1337
+
1338
+ (left . ((attach-dir . ,LEFT)
1339
+ (stencil-offset . (-0.75 . -0.5))
1340
+ (padding . 0.75)
1341
+ ))
1342
+ (left-broken . ((attach-dir . ,RIGHT)
1343
+ ))
1344
+ ))
1345
+ (dash-fraction . 0.2)
1346
+ (dash-period . 3.0)
1347
+
1348
+ ;; rather ugh with NCSB
1349
+ ;; (font-series . bold)
1350
+ (font-shape . italic)
1351
+
1352
+ ;; need to blend with dynamic texts.
1353
+ (font-size . 1)
1354
+
1355
+ (left-bound-info . ,ly:horizontal-line-spanner::calc-left-bound-info-and-text)
1356
+
1357
+ (minimum-length . 2.0)
1358
+ ;; make sure the spanner doesn't get too close to notes
1359
+ (minimum-Y-extent . (-1 . 1))
1360
+
1361
+ (right-bound-info . ,ly:horizontal-line-spanner::calc-right-bound-info)
1362
+ (skyline-horizontal-padding . 0.2)
1363
+ (springs-and-rods . ,ly:spanner::set-spacing-rods)
1364
+ (stencil . ,ly:line-spanner::print)
1365
+ (style . dashed-line)
1366
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
1367
+ (meta . ((class . Spanner)
1368
+ (interfaces . (dynamic-interface
1369
+ dynamic-text-spanner-interface
1370
+ font-interface
1371
+ horizontal-line-spanner-interface
1372
+ line-interface
1373
+ line-spanner-interface
1374
+ ;; for now, LilyPond never will typeset
1375
+ ;; these without a DynamicLineSpanner
1376
+ ;; as their controlling element
1377
+ ;; so, they do not need the
1378
+ ;; outside-staff-interface
1379
+ text-interface))
1380
+ (description . "Dynamic text like @q{cresc},
1381
+ usually followed by a (dashed) line. See also
1382
+ @iref{DynamicLineSpanner} and @iref{TextSpanner}.")))))
1383
+
1384
+
1385
+ (Episema
1386
+ . (
1387
+ (bound-details . ((left . ((padding . 0)
1388
+ (attach-dir . ,LEFT)
1389
+ ))
1390
+ (right . ((padding . 0)
1391
+ (attach-dir . ,RIGHT)
1392
+ ))
1393
+ ))
1394
+ (direction . ,UP)
1395
+ (left-bound-info . ,ly:horizontal-line-spanner::calc-left-bound-info)
1396
+ (quantize-position . #t)
1397
+ (right-bound-info . ,ly:horizontal-line-spanner::calc-right-bound-info)
1398
+ (side-axis . ,Y)
1399
+ (stencil . ,ly:line-spanner::print)
1400
+ (style . line)
1401
+ (Y-offset . ,side-position-interface::y-aligned-side)
1402
+ (meta . ((class . Spanner)
1403
+ (interfaces . (episema-interface
1404
+ font-interface
1405
+ horizontal-line-spanner-interface
1406
+ line-interface
1407
+ line-spanner-interface
1408
+ side-position-interface))
1409
+ (description . "An @dfn{episema} line (over a
1410
+ group of notes). Used in Gregorian chant.")))))
1411
+
1412
+
1413
+ (Fingering
1414
+ . (
1415
+
1416
+ ;; sync with TextScript (?)
1417
+ (add-stem-support . ,only-if-beamed)
1418
+ (avoid-slur . around)
1419
+ (cross-staff . ,script-or-side-position-cross-staff)
1420
+ (direction . ,ly:script-interface::calc-direction)
1421
+ (font-encoding . fetaText)
1422
+ (font-features . ("cv47" "ss01"))
1423
+ (font-size . -5) ; don't overlap when next to heads.
1424
+ (padding . 0.5)
1425
+ (parent-alignment-X . ,CENTER)
1426
+ (parent-alignment-Y . ,CENTER)
1427
+ (positioning-done . ,ly:script-interface::calc-positioning-done)
1428
+ (script-priority . 100)
1429
+ (self-alignment-X . ,CENTER)
1430
+ (self-alignment-Y . ,CENTER)
1431
+ (slur-padding . 0.2)
1432
+ (staff-padding . 0.5)
1433
+ (stencil . ,ly:text-interface::print)
1434
+ (text . ,fingering::calc-text)
1435
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1436
+ (meta . ((class . Item)
1437
+ (interfaces . (finger-interface
1438
+ font-interface
1439
+ outside-staff-interface
1440
+ self-alignment-interface
1441
+ side-position-interface
1442
+ text-interface
1443
+ text-script-interface))
1444
+ (description . "A fingering symbol (usually a
1445
+ digit). See also @iref{FingeringColumn} and
1446
+ @iref{StrokeFinger}.")))))
1447
+
1448
+ (FingeringColumn
1449
+ . (
1450
+ (padding . 0.2)
1451
+ (positioning-done . ,ly:fingering-column::calc-positioning-done)
1452
+ (snap-radius . 0.3)
1453
+ (meta . ((class . Item)
1454
+ (interfaces . (fingering-column-interface))
1455
+ (description . "An auxiliary grob to align
1456
+ stacked @iref{Fingering} grobs.")))))
1457
+
1458
+ (FingerGlideSpanner
1459
+ . ((bound-details . ((right . ((attach-dir . ,LEFT)
1460
+ (right-stub-length . 1)
1461
+ (padding . 0.2)
1462
+ ))
1463
+ (left . ((attach-dir . ,RIGHT)
1464
+ (left-stub-length . 1)
1465
+ (padding . 0.2)
1466
+ ))
1467
+ ))
1468
+ (dash-fraction . 0.4)
1469
+ (dash-period . 1)
1470
+ (details . ((bow-direction . #f)))
1471
+ (left-bound-info . ,ly:line-spanner::calc-left-bound-info)
1472
+ (normalized-endpoints . ,ly:spanner::calc-normalized-endpoints)
1473
+ (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
1474
+ (minimum-length . 2.5)
1475
+ (minimum-length-after-break . 2.5)
1476
+ (springs-and-rods . ,ly:spanner::set-spacing-rods)
1477
+ (stencil . ,finger-glide::print)
1478
+ (style . line)
1479
+ (thickness . 1.4)
1480
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
1481
+ (zigzag-length . 1)
1482
+ (zigzag-width . 1)
1483
+ (meta . ((class . Spanner)
1484
+ (interfaces . (finger-glide-interface
1485
+ line-spanner-interface))
1486
+ (description . "A line connecting two
1487
+ @iref{Fingering} grobs, usually indicating a gliding finger
1488
+ for stringed instruments.")))))
1489
+
1490
+ (Flag
1491
+ . (
1492
+ (glyph-name . ,ly:flag::glyph-name)
1493
+ (stencil . ,ly:flag::print)
1494
+ (transparent . ,(grob::inherit-parent-property
1495
+ X 'transparent))
1496
+ (color . ,(grob::inherit-parent-property
1497
+ X 'color))
1498
+ (X-extent . ,ly:flag::width)
1499
+ (X-offset . ,ly:flag::calc-x-offset)
1500
+ (Y-offset . ,(ly:make-unpure-pure-container ly:flag::calc-y-offset ly:flag::pure-calc-y-offset))
1501
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1502
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
1503
+ (meta . ((class . Item)
1504
+ (interfaces . (flag-interface
1505
+ font-interface))
1506
+ (description . "A flag (in the musical
1507
+ sense).")))))
1508
+
1509
+ (Footnote
1510
+ . (
1511
+ (after-line-breaking . ,ly:balloon-interface::remove-irrelevant-spanner)
1512
+ (annotation-balloon . #f)
1513
+ (annotation-line . #t)
1514
+ (automatically-numbered . ,(grob::calc-property-by-copy 'automatically-numbered))
1515
+ (break-visibility . ,(sticky-grob-interface::inherit-property
1516
+ 'break-visibility))
1517
+ (cross-staff . ,(sticky-grob-interface::inherit-property
1518
+ 'cross-staff))
1519
+ (footnote . #t)
1520
+ (footnote-text . ,(grob::calc-property-by-copy 'footnote-text))
1521
+ (spanner-placement . ,LEFT)
1522
+ (stencil . ,ly:balloon-interface::print)
1523
+ (text . ,(grob::calc-property-by-copy 'text))
1524
+ (X-extent . #f)
1525
+ (Y-extent . #f)
1526
+ (X-offset . ,(grob::calc-property-by-copy 'X-offset))
1527
+ (Y-offset . ,(grob::calc-property-by-copy 'Y-offset))
1528
+ (meta . ((classes . (Item Spanner))
1529
+ (interfaces . (balloon-interface
1530
+ footnote-interface
1531
+ font-interface
1532
+ sticky-grob-interface
1533
+ text-interface))
1534
+ (description . "A footnote mark (usually a
1535
+ number) with a pointing line attached to another grob.")))))
1536
+
1537
+ (FretBoard
1538
+ . (
1539
+ (after-line-breaking . ,ly:chord-name::after-line-breaking)
1540
+ (fret-diagram-details . ((finger-code . below-string)))
1541
+ (stencil . ,fret-board::calc-stencil)
1542
+ (extra-spacing-height . (0.2 . -0.2))
1543
+ (extra-spacing-width . (-0.5 . 0.5))
1544
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1545
+ (meta . ((class . Item)
1546
+ (interfaces . (chord-name-interface
1547
+ font-interface
1548
+ fret-diagram-interface
1549
+ outside-staff-interface
1550
+ rhythmic-grob-interface))
1551
+ (description . "A fretboard diagram.")))))
1552
+
1553
+
1554
+ (Glissando
1555
+ . (
1556
+ (after-line-breaking . ,ly:spanner::kill-zero-spanned-time)
1557
+ (bound-details . ((right . ((attach-dir . ,LEFT)
1558
+ (end-on-accidental . #t)
1559
+ (padding . 0.5)
1560
+ ))
1561
+ (left . ((attach-dir . ,RIGHT)
1562
+ (padding . 0.5)
1563
+ (start-at-dot . #t)
1564
+ ))
1565
+ ))
1566
+ (cross-staff . ,ly:line-spanner::calc-cross-staff)
1567
+ (gap . 0.5)
1568
+ (left-bound-info . ,ly:line-spanner::calc-left-bound-info)
1569
+ (normalized-endpoints . ,ly:spanner::calc-normalized-endpoints)
1570
+ (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
1571
+ (stencil . ,ly:line-spanner::print)
1572
+ (style . line)
1573
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
1574
+ (zigzag-width . 0.75)
1575
+ (meta . ((class . Spanner)
1576
+ (interfaces . (glissando-interface
1577
+ line-interface
1578
+ line-spanner-interface
1579
+ unbreakable-spanner-interface))
1580
+ (description . "A glissando line.")))))
1581
+
1582
+ (GraceSpacing
1583
+ . (
1584
+ (common-shortest-duration . ,grace-spacing::calc-shortest-duration)
1585
+ (shortest-duration-space . 1.6)
1586
+ (spacing-increment . 0.8)
1587
+ (meta . ((class . Spanner)
1588
+ (interfaces . (grace-spacing-interface
1589
+ spacing-options-interface))
1590
+ (description . "An auxiliary grob to handle
1591
+ (horizontal) spacing of grace notes. See also
1592
+ @iref{NoteSpacing}, @iref{StaffSpacing},
1593
+ and @iref{SpacingSpanner}.")))))
1594
+
1595
+ ;; We could reuse ChordName and make it spanner in ChordGrid and item
1596
+ ;; elsewhere, but the defaults seem sufficiently different to warrant
1597
+ ;; a separate grob.
1598
+ (GridChordName
1599
+ . (
1600
+ (font-family . sans)
1601
+ (font-size . 1.5)
1602
+ (stencil . ,ly:text-interface::print)
1603
+ (word-space . 0.0)
1604
+ (X-offset . ,grid-chord-name::calc-X-offset)
1605
+ (Y-offset . ,grid-chord-name::calc-Y-offset)
1606
+ (meta . ((class . Spanner)
1607
+ (interfaces . (accidental-switch-interface
1608
+ grid-chord-name-interface
1609
+ font-interface
1610
+ text-interface))
1611
+ (description . "A chord name in a chord grid.")))))
1612
+
1613
+ (GridLine
1614
+ . (
1615
+ (layer . 0)
1616
+ (parent-alignment-X . ,CENTER)
1617
+ (self-alignment-X . ,CENTER)
1618
+ (stencil . ,ly:grid-line-interface::print)
1619
+ (X-extent . ,ly:grid-line-interface::width)
1620
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
1621
+ (meta . ((class . Item)
1622
+ (interfaces . (grid-line-interface
1623
+ self-alignment-interface))
1624
+ (description . "A vertical line between staves,
1625
+ indicating rhythmic synchronization. See also
1626
+ @iref{GridPoint}.")))))
1627
+
1628
+ (GridPoint
1629
+ . (
1630
+ (X-extent . (0 . 0))
1631
+ (Y-extent . (0 . 0))
1632
+ (meta . ((class . Item)
1633
+ (interfaces . (grid-point-interface))
1634
+ (description . "An auxiliary grob marking a
1635
+ start or end point for a @iref{GridLine} grob.")))))
1636
+
1637
+
1638
+ (Hairpin
1639
+ . (
1640
+ (after-line-breaking . ,ly:spanner::kill-zero-spanned-time)
1641
+ (bound-padding . 1.0)
1642
+ (broken-bound-padding . ,ly:hairpin::broken-bound-padding)
1643
+ (circled-tip . #f)
1644
+ (endpoint-alignments . (,LEFT . ,RIGHT))
1645
+ (grow-direction . ,hairpin::calc-grow-direction)
1646
+ (height . 0.6666)
1647
+ (minimum-length . 2.0)
1648
+ (self-alignment-Y . ,CENTER)
1649
+ (springs-and-rods . ,ly:spanner::set-spacing-rods)
1650
+ (stencil . ,ly:hairpin::print)
1651
+ (thickness . 1.0)
1652
+ (to-barline . #t)
1653
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
1654
+ (Y-extent . ,(grob::unpure-Y-extent-from-stencil ly:hairpin::pure-height))
1655
+ (Y-offset . ,self-alignment-interface::y-aligned-on-self)
1656
+ (meta . ((class . Spanner)
1657
+ (interfaces . (dynamic-interface
1658
+ hairpin-interface
1659
+ line-interface
1660
+ outside-staff-interface
1661
+ self-alignment-interface))
1662
+ (description . "A hairpin. See also
1663
+ @iref{DynamicLineSpanner}.")))))
1664
+
1665
+ (HorizontalBracket
1666
+ . (
1667
+ (bracket-flare . (0.5 . 0.5))
1668
+ (connect-to-neighbor . ,ly:tuplet-bracket::calc-connect-to-neighbors)
1669
+ (direction . ,DOWN)
1670
+ (padding . 0.2)
1671
+ (side-axis . ,Y)
1672
+ (staff-padding . 0.2)
1673
+ (stencil . ,ly:horizontal-bracket::print)
1674
+ (thickness . 1.0)
1675
+ (Y-offset . ,side-position-interface::y-aligned-side)
1676
+ (meta . ((class . Spanner)
1677
+ (interfaces . (horizontal-bracket-interface
1678
+ line-interface
1679
+ outside-staff-interface
1680
+ side-position-interface))
1681
+ (description . "A horizontal bracket between
1682
+ notes. See also @iref{HorizontalBracketText} and
1683
+ @iref{MeasureSpanner}.")))))
1684
+
1685
+ (HorizontalBracketText
1686
+ . (
1687
+ (direction . ,ly:horizontal-bracket-text::calc-direction)
1688
+ (font-size . -1)
1689
+ (padding . 0.5)
1690
+ (parent-alignment-X . ,CENTER)
1691
+ (self-alignment-X . ,CENTER)
1692
+ (side-axis . ,Y)
1693
+ (stencil . ,ly:horizontal-bracket-text::print)
1694
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
1695
+ (Y-offset . ,side-position-interface::y-aligned-side)
1696
+ (meta . ((class . Spanner)
1697
+ (interfaces . (accidental-switch-interface
1698
+ font-interface
1699
+ horizontal-bracket-text-interface
1700
+ outside-staff-interface
1701
+ self-alignment-interface
1702
+ side-position-interface
1703
+ text-interface))
1704
+ (description . "Text (markup) for a
1705
+ @iref{HorizontalBracket} grob.")))))
1706
+
1707
+
1708
+ (InstrumentName
1709
+ . (
1710
+ (direction . ,LEFT)
1711
+ (padding . 0.3)
1712
+ (self-alignment-X . ,CENTER)
1713
+ (self-alignment-Y . ,CENTER)
1714
+ (stencil . ,system-start-text::print)
1715
+ (X-offset . ,system-start-text::calc-x-offset)
1716
+ (Y-offset . ,system-start-text::calc-y-offset)
1717
+ (meta . ((class . Spanner)
1718
+ (interfaces . (accidental-switch-interface
1719
+ font-interface
1720
+ self-alignment-interface
1721
+ side-position-interface
1722
+ system-start-text-interface
1723
+ text-interface))
1724
+ (description . "An instrument name, usually
1725
+ displayed to the left of a staff.")))))
1726
+
1727
+ (InstrumentSwitch
1728
+ . (
1729
+ (direction . ,UP)
1730
+ (extra-spacing-width . (+inf.0 . -inf.0))
1731
+ (outside-staff-priority . 500)
1732
+ (padding . 0.5)
1733
+ (parent-alignment-X . #f)
1734
+ (self-alignment-X . ,LEFT)
1735
+ (side-axis . ,Y)
1736
+ (staff-padding . 0.5)
1737
+ (stencil . ,ly:text-interface::print)
1738
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1739
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
1740
+ (Y-offset . ,side-position-interface::y-aligned-side)
1741
+ (meta . ((class . Item)
1742
+ (interfaces . (accidental-switch-interface
1743
+ font-interface
1744
+ outside-staff-interface
1745
+ self-alignment-interface
1746
+ side-position-interface
1747
+ text-interface))
1748
+ (description . "This grob is deprecated. Do
1749
+ not use it.")))))
1750
+
1751
+
1752
+ ;; This is similar to a rehearsal mark, but is intended for a
1753
+ ;; "point of departure" such as D.C. See Behind Bars, pp. 238-240
1754
+ ;; for style advice.
1755
+ (JumpScript
1756
+ . (
1757
+ (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff)
1758
+ (baseline-skip . 2)
1759
+ (break-align-symbols . (staff-bar key-signature clef))
1760
+ (break-visibility . ,begin-of-line-invisible)
1761
+ (direction . ,DOWN) ; expect users to override to UP in vocal scores
1762
+ (extra-spacing-width . (+inf.0 . -inf.0))
1763
+ (font-shape . italic)
1764
+ (non-musical . #t)
1765
+ (outside-staff-horizontal-padding . 0.2)
1766
+ (outside-staff-priority . 1350) ; slightly lower than SegnoMark,CodaMark
1767
+ (padding . 0.8)
1768
+ (self-alignment-X . ,RIGHT)
1769
+ (stencil . ,ly:text-interface::print)
1770
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
1771
+ (X-offset . ,self-alignment-interface::self-aligned-on-breakable)
1772
+ (Y-offset . ,side-position-interface::y-aligned-side)
1773
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1774
+ (meta . ((class . Item)
1775
+ (interfaces . (break-alignable-interface
1776
+ font-interface
1777
+ jump-script-interface
1778
+ outside-staff-interface
1779
+ self-alignment-interface
1780
+ side-position-interface
1781
+ text-interface))
1782
+ (description . "A grob to display a @q{point of
1783
+ departure} like @emph{D.C. al fine}.")))))
1784
+
1785
+
1786
+ (KeyCancellation
1787
+ . (
1788
+ (break-align-symbol . key-cancellation)
1789
+ (break-visibility . ,begin-of-line-invisible)
1790
+ (non-musical . #t)
1791
+ (flat-positions . (2 3 4 2 1 2 1))
1792
+ (sharp-positions . (4 5 4 2 3 2 3))
1793
+ (space-alist . (
1794
+ (time-signature . (extra-space . 1.25))
1795
+ (signum-repetitionis . (extra-space . 0.6))
1796
+ (staff-bar . (extra-space . 0.6))
1797
+ (key-signature . (extra-space . 0.5))
1798
+ (cue-clef . (extra-space . 0.5))
1799
+ (right-edge . (extra-space . 0.5))
1800
+ (first-note . (fixed-space . 2.5))
1801
+ (custos . (extra-space . 1.0))))
1802
+ (stencil . ,ly:key-signature-interface::print)
1803
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
1804
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1805
+ (extra-spacing-width . (0.0 . 1.0))
1806
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height-including-staff)
1807
+ (Y-offset . ,staff-symbol-referencer::callback)
1808
+ (meta . ((class . Item)
1809
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
1810
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
1811
+ (interfaces . (accidental-switch-interface
1812
+ break-aligned-interface
1813
+ font-interface
1814
+ key-cancellation-interface
1815
+ key-signature-interface
1816
+ pure-from-neighbor-interface
1817
+ staff-symbol-referencer-interface))
1818
+ (description . "A key cancellation, normally
1819
+ consisting of naturals, to be displayed (if necessary) immediately
1820
+ before a @iref{KeySignature} grob if the key changes.")))))
1821
+
1822
+ (KeySignature
1823
+ . (
1824
+ (avoid-slur . inside)
1825
+ (break-align-anchor . ,ly:break-aligned-interface::calc-extent-aligned-anchor)
1826
+ (break-align-anchor-alignment . ,RIGHT)
1827
+ (break-align-symbol . key-signature)
1828
+ (break-visibility . ,begin-of-line-visible)
1829
+ (non-musical . #t)
1830
+ (flat-positions . (2 3 4 2 1 2 1))
1831
+ (sharp-positions . (4 5 4 2 3 2 3))
1832
+ (space-alist . (
1833
+ (ambitus . (extra-space . 1.15))
1834
+ (time-signature . (extra-space . 1.15))
1835
+ (signum-repetitionis . (extra-space . 1.1))
1836
+ (staff-bar . (extra-space . 1.1))
1837
+ (cue-clef . (extra-space . 0.5))
1838
+ (right-edge . (extra-space . 0.5))
1839
+ (first-note . (fixed-space . 2.5))))
1840
+ (stencil . ,ly:key-signature-interface::print)
1841
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1842
+ (extra-spacing-width . (0.0 . 1.0))
1843
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height-including-staff)
1844
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
1845
+ (Y-offset . ,staff-symbol-referencer::callback)
1846
+ (meta . ((class . Item)
1847
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
1848
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
1849
+ (interfaces . (accidental-switch-interface
1850
+ break-aligned-interface
1851
+ font-interface
1852
+ key-signature-interface
1853
+ pure-from-neighbor-interface
1854
+ staff-symbol-referencer-interface))
1855
+ (description . "A key signature. See also
1856
+ @iref{KeyCancellation}.")))))
1857
+
1858
+ (KievanLigature
1859
+ . (
1860
+ (springs-and-rods . ,ly:spanner::set-spacing-rods)
1861
+ (stencil . ,ly:kievan-ligature::print)
1862
+ (padding . 0.5)
1863
+ (meta . ((class . Spanner)
1864
+ (interfaces . (font-interface
1865
+ kievan-ligature-interface))
1866
+ (description . "An auxiliary grob to handle a
1867
+ melisma (ligature) as used in Kievan square notation. See also
1868
+ @iref{MensuralLigature}, @iref{VaticanaLigature}, and
1869
+ @iref{LigatureBracket}.")))))
1870
+
1871
+
1872
+ (LaissezVibrerTie
1873
+ . (
1874
+ (control-points . ,ly:semi-tie::calc-control-points)
1875
+ (cross-staff . ,semi-tie::calc-cross-staff)
1876
+ (details . ((ratio . 0.333)
1877
+ (height-limit . 1.0)))
1878
+ (direction . ,ly:tie::calc-direction)
1879
+ (head-direction . ,LEFT)
1880
+ (stencil . ,ly:tie::print)
1881
+ (thickness . 1.0)
1882
+ (extra-spacing-height . (-0.5 . 0.5))
1883
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
1884
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
1885
+ (meta . ((class . Item)
1886
+ (interfaces . (bezier-curve-interface
1887
+ semi-tie-interface
1888
+ tie-interface))
1889
+ (description . "A laissez-vibrer tie (i.e., a
1890
+ tie from a note into nothing). See also
1891
+ @iref{LaissezVibrerTieColumn}, @iref{RepeatTie}, and
1892
+ @iref{Tie}.")))))
1893
+
1894
+ (LaissezVibrerTieColumn
1895
+ . (
1896
+ (head-direction . ,ly:semi-tie-column::calc-head-direction)
1897
+ (positioning-done . ,ly:semi-tie-column::calc-positioning-done)
1898
+ (X-extent . #f)
1899
+ (Y-extent . #f)
1900
+ (meta . ((class . Item)
1901
+ (interfaces . (semi-tie-column-interface))
1902
+ (description . "An auxiliary grob to determine
1903
+ direction and shape of stacked @iref{LaissezVibrerTie}
1904
+ grobs.")))))
1905
+
1906
+ (LedgerLineSpanner
1907
+ . (
1908
+ (layer . 0)
1909
+ (length-fraction . 0.25)
1910
+ (minimum-length-fraction . 0.25)
1911
+ (springs-and-rods . ,ly:ledger-line-spanner::set-spacing-rods)
1912
+ (stencil . ,ly:ledger-line-spanner::print)
1913
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
1914
+ (X-extent . #f)
1915
+ (Y-extent . #f)
1916
+ (meta . ((class . Spanner)
1917
+ (interfaces . (ledger-line-spanner-interface))
1918
+ (description . "An auxiliary grob to manage
1919
+ ledger lines of a whole staff.")))))
1920
+
1921
+ (LeftEdge
1922
+ . (
1923
+ (break-align-anchor . ,ly:break-aligned-interface::calc-extent-aligned-anchor)
1924
+ (break-align-symbol . left-edge)
1925
+ (break-visibility . ,begin-of-line-visible)
1926
+ (non-musical . #t)
1927
+ (space-alist . (
1928
+ (ambitus . (extra-space . 1.15))
1929
+ (breathing-sign . (minimum-space . 0.0))
1930
+ (cue-end-clef . (extra-space . 0.8))
1931
+ (clef . (extra-space . 0.8))
1932
+ (cue-clef . (extra-space . 0.8))
1933
+ (signum-repetitionis . (extra-space . 0.0))
1934
+ (staff-bar . (extra-space . 0.0))
1935
+ (staff-ellipsis . (extra-space . 0.0))
1936
+ (key-cancellation . (extra-space . 0.0))
1937
+ (key-signature . (extra-space . 0.8))
1938
+ (time-signature . (extra-space . 1.0))
1939
+ (custos . (extra-space . 0.0))
1940
+ (first-note . (fixed-space . 2.0))
1941
+ (right-edge . (extra-space . 0.0))
1942
+ ))
1943
+ (X-extent . (0 . 0))
1944
+ (Y-extent . (0 . 0))
1945
+ (meta . ((class . Item)
1946
+ (interfaces . (break-aligned-interface))
1947
+ (description . "The left edge of a staff. Useful
1948
+ as an anchor point for other grobs.")))))
1949
+
1950
+ (LigatureBracket
1951
+ . (
1952
+ ;; ugh. A ligature bracket is totally different from
1953
+ ;; a tuplet bracket.
1954
+
1955
+ (bracket-visibility . #t)
1956
+ (connect-to-neighbor . ,ly:tuplet-bracket::calc-connect-to-neighbors)
1957
+ (direction . ,UP)
1958
+ (edge-height . (0.7 . 0.7))
1959
+ (padding . 2.0)
1960
+ (positions . ,ly:tuplet-bracket::calc-positions)
1961
+ (shorten-pair . (-0.2 . -0.2))
1962
+ (staff-padding . 0.25)
1963
+ (stencil . ,ly:tuplet-bracket::print)
1964
+ (thickness . 1.6)
1965
+ (tuplet-slur . #f)
1966
+ (X-positions . ,ly:tuplet-bracket::calc-x-positions)
1967
+ (meta . ((class . Spanner)
1968
+ (interfaces . (line-interface
1969
+ tuplet-bracket-interface))
1970
+ (description . "A horizontal bracket over a group
1971
+ of notes, usually indicating an ancient ligature if transcribed
1972
+ into modern notation. See also @iref{KievanLigature},
1973
+ @iref{MensuralLigature}, and @iref{VaticanaLigature}.")))))
1974
+
1975
+ (LyricExtender
1976
+ . (
1977
+ (minimum-length . 1.5)
1978
+ (stencil . ,ly:lyric-extender::print)
1979
+ (thickness . 0.8) ; line-thickness
1980
+ (Y-extent . (0 . 0))
1981
+ (meta . ((class . Spanner)
1982
+ (interfaces . (lyric-extender-interface
1983
+ lyric-interface))
1984
+ (description . "An extender line in lyrics.")))))
1985
+
1986
+ (LyricHyphen
1987
+ . (
1988
+ (after-line-breaking . ,ly:spanner::kill-zero-spanned-time)
1989
+ (dash-period . 10.0)
1990
+ (height . 0.42)
1991
+ (length . 0.66)
1992
+ (minimum-distance . 0.1)
1993
+ (minimum-length . 0.3)
1994
+ (padding . 0.07)
1995
+ (springs-and-rods . ,ly:lyric-hyphen::set-spacing-rods)
1996
+ (stencil . ,ly:lyric-hyphen::print)
1997
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
1998
+ (thickness . 1.3)
1999
+ (Y-extent . (0 . 0))
2000
+ (meta . ((class . Spanner)
2001
+ (interfaces . (font-interface
2002
+ lyric-hyphen-interface
2003
+ lyric-interface))
2004
+ (description . "A hyphen in lyrics. See also
2005
+ @iref{VowelTransition}.")))))
2006
+
2007
+ (LyricRepeatCount
2008
+ . (
2009
+ (break-align-symbols . (staff-bar breathing-sign))
2010
+ (break-visibility . ,begin-of-line-invisible)
2011
+ (extra-spacing-width . (-1.0 . 1.0))
2012
+ ;; Recede in height for purposes of note spacing,
2013
+ ;; so notes in melismata can be freely spaced above lyrics
2014
+ (extra-spacing-height . (0.2 . -0.2))
2015
+ (font-series . medium)
2016
+ (font-shape . italic)
2017
+ (font-size . 1.0)
2018
+ (non-musical . #t)
2019
+ ;; To help communicate that the count describes the section
2020
+ ;; that is ending, keep it left of center at a double repeat.
2021
+ (parent-alignment-X . ,CENTER)
2022
+ (self-alignment-X . ,RIGHT)
2023
+ (stencil . ,lyric-text::print)
2024
+ (text . ,(grob::calc-property-by-copy 'text))
2025
+ (word-space . 0.6)
2026
+ (skyline-horizontal-padding . 0.1)
2027
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
2028
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
2029
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2030
+ (meta . ((class . Item)
2031
+ (description . "A repeat count in lyrics.")
2032
+ (interfaces . (break-alignable-interface
2033
+ font-interface
2034
+ lyric-interface
2035
+ lyric-repeat-count-interface
2036
+ self-alignment-interface
2037
+ text-interface))))))
2038
+
2039
+ (LyricSpace
2040
+ . (
2041
+ (minimum-distance . 0.45)
2042
+ (padding . 0.0)
2043
+ (springs-and-rods . ,ly:lyric-hyphen::set-spacing-rods)
2044
+ (X-extent . #f)
2045
+ (Y-extent . #f)
2046
+ (meta . ((class . Spanner)
2047
+ (interfaces . (lyric-hyphen-interface
2048
+ lyric-space-interface))
2049
+ (description . "A space in lyrics.")))))
2050
+
2051
+ (LyricText
2052
+ . (
2053
+ (extra-spacing-width . (0.0 . 0.0))
2054
+ ;; Recede in height for purposes of note spacing,
2055
+ ;; so notes in melismata can be freely spaced above lyrics
2056
+ (extra-spacing-height . (0.2 . -0.2))
2057
+ (font-series . medium)
2058
+ (font-size . 1.0)
2059
+ (parent-alignment-X . ())
2060
+ (self-alignment-X . ,CENTER)
2061
+ (stencil . ,lyric-text::print)
2062
+ (text . ,(grob::calc-property-by-copy 'text))
2063
+ (word-space . 0.6)
2064
+ (skyline-horizontal-padding . 0.1)
2065
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
2066
+ (X-align-on-main-noteheads . #t)
2067
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
2068
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2069
+ (meta . ((class . Item)
2070
+ (interfaces . (font-interface
2071
+ lyric-syllable-interface
2072
+ rhythmic-grob-interface
2073
+ self-alignment-interface
2074
+ text-interface))
2075
+ (description . "A chunk of text in lyrics. See
2076
+ also @iref{LyricExtender}, @iref{LyricHyphen}, @iref{LyricSpace},
2077
+ and @iref{VowelTransition}.")))))
2078
+
2079
+
2080
+ (MeasureCounter
2081
+ . (
2082
+ (count-from . 1)
2083
+ (direction . ,UP)
2084
+ (font-encoding . fetaText)
2085
+ (font-features . ("cv47"))
2086
+ (font-size . -2)
2087
+ ;; This ought to be an en dash rather than a mere dash, but it
2088
+ ;; looks way too wide with fetaText.
2089
+ (number-range-separator . "-")
2090
+ (outside-staff-horizontal-padding . 0.5)
2091
+ (outside-staff-priority . 750)
2092
+ (self-alignment-X . ,CENTER)
2093
+ (side-axis . ,Y)
2094
+ (spacing-pair . (break-alignment . break-alignment))
2095
+ (staff-padding . 0.5)
2096
+ (stencil . ,ly:text-interface::print)
2097
+ (text . ,measure-counter::text)
2098
+ ;; For the space around the number-range-separator.
2099
+ (word-space . 0.2)
2100
+ (X-offset . ,centered-spanner-interface::calc-x-offset)
2101
+ (Y-offset . ,side-position-interface::y-aligned-side)
2102
+ (meta . ((class . Spanner)
2103
+ (interfaces . (centered-spanner-interface
2104
+ font-interface
2105
+ measure-counter-interface
2106
+ outside-staff-interface
2107
+ self-alignment-interface
2108
+ side-position-interface
2109
+ text-interface))
2110
+ (description . "A grob to print a counter for
2111
+ measures.")))))
2112
+
2113
+ (MeasureSpanner
2114
+ . (
2115
+ (connect-to-neighbor . ,ly:measure-spanner::calc-connect-to-neighbors)
2116
+ (direction . ,UP)
2117
+ (edge-height . (0.7 . 0.7))
2118
+ (outside-staff-priority . 750)
2119
+ (self-alignment-X . ,CENTER)
2120
+ (side-axis . ,Y)
2121
+ (spacing-pair . (staff-bar . staff-bar))
2122
+ (staff-padding . 0.5)
2123
+ (stencil . ,ly:measure-spanner::print)
2124
+ (Y-offset . ,side-position-interface::y-aligned-side)
2125
+ (meta . ((class . Spanner)
2126
+ (interfaces . (accidental-switch-interface
2127
+ font-interface
2128
+ measure-spanner-interface
2129
+ line-interface
2130
+ outside-staff-interface
2131
+ self-alignment-interface
2132
+ side-position-interface
2133
+ text-interface))
2134
+ (description . "A horizontal bracket between
2135
+ bar lines. See also @iref{HorizontalBracket}.")))))
2136
+
2137
+ (MeasureGrouping
2138
+ . (
2139
+ (direction . ,UP)
2140
+ (height . 2.0)
2141
+ (padding . 2)
2142
+ (side-axis . ,Y)
2143
+ (staff-padding . 3)
2144
+ (stencil . ,ly:measure-grouping::print)
2145
+ (thickness . 1)
2146
+ (Y-offset . ,side-position-interface::y-aligned-side)
2147
+ (meta . ((class . Spanner)
2148
+ (interfaces . (measure-grouping-interface
2149
+ outside-staff-interface
2150
+ side-position-interface))
2151
+ (description . "A measure grouping or conducting
2152
+ sign.")))))
2153
+
2154
+ (MelodyItem
2155
+ . (
2156
+ (neutral-direction . ,DOWN)
2157
+ (meta . ((class . Item)
2158
+ (interfaces . (melody-spanner-interface))
2159
+ (description . "An auxiliary grob to help alter
2160
+ the stem directions of middle notes on a staff so that they
2161
+ follow the melody.")))))
2162
+
2163
+ (MensuralLigature
2164
+ . (
2165
+ (springs-and-rods . ,ly:spanner::set-spacing-rods)
2166
+ (stencil . ,ly:mensural-ligature::print)
2167
+ (thickness . 1.3)
2168
+ (meta . ((class . Spanner)
2169
+ (interfaces . (font-interface
2170
+ mensural-ligature-interface))
2171
+ (description . "A grob to display a ligature as
2172
+ used in mensural notation. See also @iref{KievanLigature},
2173
+ @iref{VaticanaLigature}, and @iref{LigatureBracket}.")))))
2174
+
2175
+ (MetronomeMark
2176
+ . (
2177
+ (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff)
2178
+ (break-visibility . ,end-of-line-invisible)
2179
+ (direction . ,UP)
2180
+ (extra-spacing-width . (+inf.0 . -inf.0))
2181
+ (flag-style . default)
2182
+ (outside-staff-horizontal-padding . 0.2)
2183
+ (outside-staff-priority . 1300)
2184
+ (padding . 0.8)
2185
+ (side-axis . ,Y)
2186
+ (stencil . ,ly:text-interface::print)
2187
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
2188
+ (Y-offset . ,side-position-interface::y-aligned-side)
2189
+ (X-offset . ,self-alignment-interface::self-aligned-on-breakable)
2190
+ (self-alignment-X . ,LEFT)
2191
+ (break-align-symbols . (time-signature))
2192
+ (non-break-align-symbols . (paper-column-interface))
2193
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2194
+ (meta . ((class . Item)
2195
+ (interfaces . (break-alignable-interface
2196
+ font-interface
2197
+ metronome-mark-interface
2198
+ outside-staff-interface
2199
+ self-alignment-interface
2200
+ side-position-interface
2201
+ text-interface))
2202
+ (description . "A metronome mark. This is
2203
+ either a precise tempo indication like @q{quarter note = 80}, or
2204
+ an arbitrary piece of text (like @q{Allegro}), possibly followed
2205
+ by a precise indication in parentheses.")))))
2206
+
2207
+ (MultiMeasureRest
2208
+ . (
2209
+ (expand-limit . 10)
2210
+ (hair-thickness . 2.0)
2211
+ (round-up-exceptions . ())
2212
+ (bound-padding . 0.5)
2213
+ (max-symbol-separation . 8.0)
2214
+ (space-increment . 2.0)
2215
+ (spacing-pair . (break-alignment . break-alignment))
2216
+ (springs-and-rods . ,ly:multi-measure-rest::set-spacing-rods)
2217
+ (stencil . ,ly:multi-measure-rest::print)
2218
+ (thick-thickness . 6.6)
2219
+ ;; See Wanske pp. 125
2220
+ (usable-duration-logs . ,(iota 4 -3))
2221
+ (voiced-position . 4)
2222
+ (Y-extent . ,(ly:make-unpure-pure-container ly:multi-measure-rest::height))
2223
+ (Y-offset . ,staff-symbol-referencer::callback)
2224
+ (meta . ((class . Spanner)
2225
+ (interfaces . (font-interface
2226
+ multi-measure-interface
2227
+ outside-staff-interface
2228
+ multi-measure-rest-interface
2229
+ rest-interface
2230
+ staff-symbol-referencer-interface))
2231
+ (description . "A multi-measure rest. See also
2232
+ @iref{MultiMeasureRestNumber}, @iref{MultiMeasureRestText},
2233
+ @iref{MultiMeasureRestScript}, and @iref{Rest}.")))))
2234
+
2235
+ (MultiMeasureRestNumber
2236
+ . (
2237
+ (bound-padding . 1.0)
2238
+ (direction . ,UP)
2239
+ (font-encoding . fetaText)
2240
+ (font-features . ("cv47"))
2241
+ (padding . 0.4)
2242
+ (parent-alignment-X . ,CENTER)
2243
+ (self-alignment-X . ,CENTER)
2244
+ (side-axis . ,Y)
2245
+ (springs-and-rods . ,ly:multi-measure-rest::set-text-rods)
2246
+ (staff-padding . 0.4)
2247
+ (stencil . ,ly:text-interface::print)
2248
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
2249
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
2250
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2251
+ (Y-offset . ,side-position-interface::y-aligned-side)
2252
+ (meta . ((class . Spanner)
2253
+ (interfaces . (font-interface
2254
+ multi-measure-interface
2255
+ multi-measure-rest-number-interface
2256
+ outside-staff-interface
2257
+ self-alignment-interface
2258
+ side-position-interface
2259
+ text-interface))
2260
+ (description . "A grob to print the length of a
2261
+ @iref{MultiMeasureRest} grob.")))))
2262
+
2263
+ (MultiMeasureRestText
2264
+ . (
2265
+ (direction . ,UP)
2266
+ (outside-staff-priority . 450)
2267
+ (padding . 0.2)
2268
+ (parent-alignment-X . ,CENTER)
2269
+ (self-alignment-X . ,CENTER)
2270
+ (side-axis . ,Y)
2271
+ (skyline-horizontal-padding . 0.2)
2272
+ (staff-padding . 0.25)
2273
+ (stencil . ,ly:text-interface::print)
2274
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
2275
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
2276
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2277
+ (Y-offset . ,side-position-interface::y-aligned-side)
2278
+ (meta . ((class . Spanner)
2279
+ (interfaces . (font-interface
2280
+ multi-measure-interface
2281
+ outside-staff-interface
2282
+ self-alignment-interface
2283
+ side-position-interface
2284
+ text-interface))
2285
+ (description . "A text markup for a
2286
+ @iref{MultiMeasureRest} grob. See also @iref{TextScript}.")))))
2287
+
2288
+ (MultiMeasureRestScript
2289
+ . (
2290
+ (direction . ,UP)
2291
+ (outside-staff-padding . 0)
2292
+ (outside-staff-priority . 40)
2293
+ (parent-alignment-X . ,CENTER)
2294
+ (self-alignment-X . ,CENTER)
2295
+ (side-axis . ,Y)
2296
+ (staff-padding . 0.25)
2297
+ (stencil . ,ly:script-interface::print)
2298
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
2299
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
2300
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2301
+ (Y-offset . ,side-position-interface::y-aligned-side)
2302
+ (meta . ((class . Spanner)
2303
+ (interfaces . (font-interface
2304
+ multi-measure-interface
2305
+ outside-staff-interface
2306
+ script-interface
2307
+ self-alignment-interface
2308
+ side-position-interface))
2309
+ (description . "An articulation (like a fermata)
2310
+ attached to a @iref{MultiMeasureRest} grob. See also
2311
+ @iref{Script}.")))))
2312
+
2313
+
2314
+ (NonMusicalPaperColumn
2315
+ . (
2316
+ (allow-loose-spacing . #t)
2317
+ (axes . (,X))
2318
+ (bound-alignment-interfaces . (break-alignment-interface))
2319
+ ;; used by Paper_column::print when debugging columns:
2320
+ (font-size . -7.5)
2321
+ (full-measure-extra-space . 1.0)
2322
+ (horizontal-skylines . ,ly:separation-item::calc-skylines)
2323
+ ;; (stencil . ,ly:paper-column::print)
2324
+
2325
+ (keep-inside-line . #t)
2326
+ ;; used by Paper_column::print when debugging columns:
2327
+ (layer . 1000)
2328
+ (line-break-permission . allow)
2329
+ (non-musical . #t)
2330
+ (page-break-permission . allow)
2331
+ (X-extent . ,ly:axis-group-interface::width)
2332
+ (meta . ((class . Paper_column)
2333
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
2334
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
2335
+ (interfaces . (axis-group-interface
2336
+ font-interface
2337
+ non-musical-paper-column-interface
2338
+ separation-item-interface
2339
+ spaceable-grob-interface))
2340
+ (description . "An auxiliary grob grouping
2341
+ non-musical items to handle the flexible horizontal space between
2342
+ non-musical and musical columns. Grobs that have the property
2343
+ @code{non-musical} set to @code{#t} belong to this column.")))))
2344
+
2345
+ (NoteCollision
2346
+ . (
2347
+ (axes . (,X ,Y))
2348
+ (fa-styles . (fa faFunk faThin faWalker))
2349
+ (note-collision-threshold . 1)
2350
+ (positioning-done . ,ly:note-collision-interface::calc-positioning-done)
2351
+ (prefer-dotted-right . #t)
2352
+ (X-extent . ,ly:axis-group-interface::width)
2353
+ (Y-extent . ,axis-group-interface::height)
2354
+ (vertical-skylines . ,ly:axis-group-interface::calc-skylines)
2355
+ (meta . ((class . Item)
2356
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
2357
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
2358
+ (interfaces . (axis-group-interface
2359
+ note-collision-interface))
2360
+ (description . "An auxiliary grob to group
2361
+ @iref{NoteColumn} grobs from several voices, mainly to handle
2362
+ note collisions. See also @iref{RestCollision}.")))))
2363
+
2364
+ (NoteColumn
2365
+ . (
2366
+ (bend-me . ())
2367
+ (axes . (,X ,Y))
2368
+ (bound-alignment-interfaces . (rhythmic-head-interface stem-interface))
2369
+ (horizontal-skylines . ,ly:separation-item::calc-skylines)
2370
+ (main-extent . ,ly:note-column::calc-main-extent)
2371
+ (skyline-vertical-padding . 0.15)
2372
+ (X-extent . ,ly:axis-group-interface::width)
2373
+ (Y-extent . ,axis-group-interface::height)
2374
+ (vertical-skylines . ,ly:axis-group-interface::calc-skylines)
2375
+ (meta . ((class . Item)
2376
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
2377
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
2378
+ (interfaces . (axis-group-interface
2379
+ bend-interface
2380
+ note-column-interface
2381
+ separation-item-interface))
2382
+ (description . "An auxiliary grob to align
2383
+ stacked notes, stems, flags, accidentals, and other items from
2384
+ the same voice. See also @iref{NoteCollision}.")))))
2385
+
2386
+ (NoteHead
2387
+ . (
2388
+ (bend-me . ())
2389
+ (flexa-width . 2.0)
2390
+ (duration-log . ,note-head::calc-duration-log)
2391
+ (extra-spacing-height . ,ly:note-head::include-ledger-line-height)
2392
+ (glyph-name . ,note-head::calc-glyph-name)
2393
+ (ligature-flexa . #f)
2394
+ (parenthesis-friends . (accidental-grob dot))
2395
+ (stem-attachment . ,ly:note-head::calc-stem-attachment)
2396
+ (stencil . ,ly:note-head::print)
2397
+ (X-offset . ,ly:note-head::stem-x-shift)
2398
+ (Y-offset . ,staff-symbol-referencer::callback)
2399
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2400
+ (meta . ((class . Item)
2401
+ (interfaces . (bend-interface
2402
+ font-interface
2403
+ gregorian-ligature-interface
2404
+ ledgered-interface
2405
+ ligature-head-interface
2406
+ mensural-ligature-interface
2407
+ note-head-interface
2408
+ rhythmic-grob-interface
2409
+ rhythmic-head-interface
2410
+ staff-symbol-referencer-interface
2411
+ vaticana-ligature-interface))
2412
+ (description . "A note head. See also
2413
+ @iref{TabNoteHead}.")))))
2414
+
2415
+ (NoteName
2416
+ . (
2417
+ (stencil . ,ly:text-interface::print)
2418
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2419
+ (meta . ((class . Item)
2420
+ (interfaces . (accidental-switch-interface
2421
+ font-interface
2422
+ note-name-interface
2423
+ text-interface))
2424
+ (description . "A textual representation of a
2425
+ note name.")))))
2426
+
2427
+ (NoteSpacing
2428
+ . (
2429
+ ;; Changed this from 0.75.
2430
+ ;; If you ever change this back, please document! --hwn
2431
+ (knee-spacing-correction . 1.0)
2432
+ (same-direction-correction . 0.25)
2433
+ (space-to-barline . #t)
2434
+ (stem-spacing-correction . 0.5)
2435
+ (meta . ((class . Item)
2436
+ (interfaces . (note-spacing-interface
2437
+ spacing-interface))
2438
+ (description . "An auxiliary grob to handle
2439
+ (horizontal) spacing of notes. See also
2440
+ @iref{GraceSpacing}, @iref{StaffSpacing}, and
2441
+ @iref{SpacingSpanner}.")))))
2442
+
2443
+
2444
+ (OttavaBracket
2445
+ . (
2446
+ (dash-fraction . 0.3)
2447
+ (edge-height . (0 . 0.8))
2448
+ (font-series . bold)
2449
+ (font-shape . italic)
2450
+ (minimum-length . 0.3)
2451
+ (outside-staff-priority . 400)
2452
+ (padding . 0.5)
2453
+ (shorten-pair . (-0.8 . -0.6))
2454
+ (staff-padding . 2.0)
2455
+ (stencil . ,ly:ottava-bracket::print)
2456
+ (style . dashed-line)
2457
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
2458
+ (Y-offset . ,side-position-interface::y-aligned-side)
2459
+ (meta . ((class . Spanner)
2460
+ (interfaces . (font-interface
2461
+ horizontal-bracket-interface
2462
+ line-interface
2463
+ outside-staff-interface
2464
+ ottava-bracket-interface
2465
+ side-position-interface
2466
+ text-interface))
2467
+ (description . "An ottava bracket.")))))
2468
+
2469
+
2470
+ (PaperColumn
2471
+ . (
2472
+ (allow-loose-spacing . #t)
2473
+ (axes . (,X))
2474
+ (bound-alignment-interfaces . (note-column-interface))
2475
+ ;; used by Paper_column::print when debugging columns:
2476
+ (font-size . -7.5)
2477
+ (horizontal-skylines . ,ly:separation-item::calc-skylines)
2478
+ (keep-inside-line . #t)
2479
+ ;; used by Paper_column::print when debugging columns:
2480
+ (layer . 1000)
2481
+ ;; 0.08 comes from spacing-horizontal-skyline.ly
2482
+ ;; allows double flat of F to be nestled over dots of C
2483
+ (skyline-vertical-padding . 0.08)
2484
+ ;; (stencil . ,ly:paper-column::print)
2485
+ (X-extent . ,ly:axis-group-interface::width)
2486
+ (meta . ((class . Paper_column)
2487
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
2488
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
2489
+ (interfaces . (axis-group-interface
2490
+ font-interface
2491
+ musical-paper-column-interface
2492
+ separation-item-interface
2493
+ spaceable-grob-interface))
2494
+ (description . "An auxiliary grob grouping
2495
+ musical items to handle the flexible horizontal space between
2496
+ musical and non-musical columns. See also
2497
+ @iref{NonMusicalPaperColumn}.")))))
2498
+
2499
+ (Parentheses
2500
+ . (
2501
+ (break-visibility . ,(sticky-grob-interface::inherit-property
2502
+ 'break-visibility))
2503
+ (font-size . -6)
2504
+ (padding . 0.2)
2505
+ (stencil . ,parentheses-interface::print)
2506
+ (stencils . ,parentheses-interface::calc-parenthesis-stencils)
2507
+ ;; X-extent needs to be non-empty in order to allow proper
2508
+ ;; horizontal attachment. Parentheses does not reserve
2509
+ ;; space of its own, however.
2510
+ (X-extent . (0 . 0))
2511
+ (Y-extent . ,parentheses-interface::y-extent)
2512
+ (meta . ((classes . (Item Spanner))
2513
+ (interfaces . (font-interface
2514
+ parentheses-interface
2515
+ sticky-grob-interface))
2516
+ (description . "A grob to create parentheses
2517
+ around other grobs.")))))
2518
+
2519
+ (PercentRepeat
2520
+ . (
2521
+ (dot-negative-kern . 0.75)
2522
+ (font-encoding . fetaMusic)
2523
+ (self-alignment-X . ,CENTER)
2524
+ (slope . 1.0)
2525
+ (spacing-pair . (break-alignment . staff-bar))
2526
+ (springs-and-rods . ,ly:multi-measure-rest::set-spacing-rods)
2527
+ (stencil . ,ly:percent-repeat-interface::percent)
2528
+ (thickness . 0.48)
2529
+ (X-offset . ,centered-spanner-interface::calc-x-offset)
2530
+ (meta . ((class . Spanner)
2531
+ (interfaces . (centered-spanner-interface
2532
+ font-interface
2533
+ multi-measure-rest-interface
2534
+ percent-repeat-interface))
2535
+ (description . "A percent symbol for repeating
2536
+ a bar. See also @iref{PercentRepeatCounter},
2537
+ @iref{DoublePercentRepeat}, @iref{DoubleRepeatSlash}, and
2538
+ @iref{RepeatSlash}.")))))
2539
+
2540
+ (PercentRepeatCounter
2541
+ . (
2542
+ (direction . ,UP)
2543
+ (font-encoding . fetaText)
2544
+ (font-features . ("cv47"))
2545
+ (font-size . -2)
2546
+ (padding . 0.2)
2547
+ (parent-alignment-X . ,CENTER)
2548
+ (self-alignment-X . ,CENTER)
2549
+ (staff-padding . 0.25)
2550
+ (stencil . ,ly:text-interface::print)
2551
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
2552
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2553
+ (Y-offset . ,side-position-interface::y-aligned-side)
2554
+ (meta . ((class . Spanner)
2555
+ (interfaces . (font-interface
2556
+ outside-staff-interface
2557
+ self-alignment-interface
2558
+ side-position-interface
2559
+ text-interface))
2560
+ (description . "A grob to print a counter for
2561
+ @iref{PercentRepeat} grobs.")))))
2562
+
2563
+ (PhrasingSlur
2564
+ . (
2565
+ (control-points . ,ly:slur::calc-control-points)
2566
+ (cross-staff . ,ly:slur::calc-cross-staff)
2567
+ (details . ,default-slur-details)
2568
+ (direction . ,ly:slur::calc-direction)
2569
+ (height-limit . 2.0)
2570
+ (minimum-length . 1.5)
2571
+ (ratio . 0.333)
2572
+ (springs-and-rods . ,ly:spanner::set-spacing-rods)
2573
+ (stencil . ,ly:slur::print)
2574
+ (thickness . 1.1)
2575
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
2576
+ (Y-extent . ,slur::height)
2577
+ (meta . ((class . Spanner)
2578
+ (interfaces . (bezier-curve-interface
2579
+ outside-staff-interface
2580
+ slur-interface))
2581
+ (description . "A phrasing slur, indicating a
2582
+ @q{musical sentence}. See also @iref{Slur}.")))))
2583
+
2584
+ ;; an example of a text spanner
2585
+ (PianoPedalBracket
2586
+ . (
2587
+ (bound-padding . 1.0)
2588
+ (bracket-flare . (0.5 . 0.5))
2589
+ (direction . ,DOWN)
2590
+ (edge-height . (1.0 . 1.0))
2591
+ (shorten-pair . (0.0 . 0.0))
2592
+ (stencil . ,ly:piano-pedal-bracket::print)
2593
+ (style . line)
2594
+ (thickness . 1.0)
2595
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
2596
+ (meta . ((class . Spanner)
2597
+ (interfaces . (line-interface
2598
+ piano-pedal-bracket-interface
2599
+ piano-pedal-interface))
2600
+ (description . "A piano pedal bracket. It can
2601
+ also be part of @iref{SostenutoPedal}, @iref{SustainPedal}, or
2602
+ @iref{UnaCordaPedal} grobs if they are printed in a bracketed
2603
+ style.")))))
2604
+
2605
+
2606
+ (RehearsalMark
2607
+ . (
2608
+ (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff)
2609
+ (baseline-skip . 2)
2610
+ (break-align-symbols . (staff-bar key-signature clef))
2611
+ (break-visibility . ,end-of-line-invisible)
2612
+ (direction . ,UP)
2613
+ (extra-spacing-width . (+inf.0 . -inf.0))
2614
+ (font-size . 2)
2615
+ (non-musical . #t)
2616
+ (outside-staff-horizontal-padding . 0.2)
2617
+ (outside-staff-priority . 1500)
2618
+ (padding . 0.8)
2619
+ (self-alignment-X . ,break-alignable-interface::self-alignment-opposite-of-anchor)
2620
+ (stencil . ,ly:text-interface::print)
2621
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
2622
+ (X-offset . ,self-alignment-interface::self-aligned-on-breakable)
2623
+ (Y-offset . ,side-position-interface::y-aligned-side)
2624
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2625
+ (meta . ((class . Item)
2626
+ (interfaces . (accidental-switch-interface
2627
+ break-alignable-interface
2628
+ font-interface
2629
+ mark-interface
2630
+ outside-staff-interface
2631
+ rehearsal-mark-interface
2632
+ self-alignment-interface
2633
+ side-position-interface
2634
+ text-interface))
2635
+ (description . "A rehearsal mark.")))))
2636
+
2637
+ (RepeatSlash
2638
+ . (
2639
+ (slash-negative-kern . 0.85)
2640
+ (slope . 1.7)
2641
+ (stencil . ,ly:percent-repeat-interface::beat-slash)
2642
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2643
+ (thickness . 0.48)
2644
+ (meta . ((class . Item)
2645
+ (interfaces . (percent-repeat-interface
2646
+ rhythmic-grob-interface))
2647
+ (description . "A symbol consisting of one or
2648
+ more slashes for repeating patterns shorter than a single
2649
+ measure, and which contain identical durations. See also
2650
+ @iref{PercentRepeat}, @iref{DoublePercentRepeat}, and
2651
+ @iref{DoubleRepeatSlash}.")))))
2652
+
2653
+ (RepeatTie
2654
+ . (
2655
+ (cross-staff . ,semi-tie::calc-cross-staff)
2656
+ (control-points . ,ly:semi-tie::calc-control-points)
2657
+ (details . ((ratio . 0.333)
2658
+ (height-limit . 1.0)))
2659
+ (direction . ,ly:tie::calc-direction)
2660
+ (head-direction . ,RIGHT)
2661
+ (stencil . ,ly:tie::print)
2662
+ (thickness . 1.0)
2663
+ (extra-spacing-height . (-0.5 . 0.5))
2664
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2665
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
2666
+ (meta . ((class . Item)
2667
+ (interfaces . (bezier-curve-interface
2668
+ semi-tie-interface
2669
+ tie-interface))
2670
+ (description . "A repeat tie (i.e., a tie from
2671
+ nothing to a note). See also @iref{RepeatTieColumn},
2672
+ @iref{LaissezVibrerTie}, and @iref{Tie}.")))))
2673
+
2674
+ (RepeatTieColumn
2675
+ . (
2676
+ (head-direction . ,ly:semi-tie-column::calc-head-direction)
2677
+ (positioning-done . ,ly:semi-tie-column::calc-positioning-done)
2678
+ (X-extent . #f)
2679
+ (Y-extent . #f)
2680
+ (meta . ((class . Item)
2681
+ (interfaces . (semi-tie-column-interface))
2682
+ (description . "An auxiliary grob to determine
2683
+ direction and shape of stacked @iref{RepeatTie} grobs.")))))
2684
+
2685
+ (Rest
2686
+ . (
2687
+ (cross-staff . ,ly:rest::calc-cross-staff)
2688
+ (duration-log . ,stem::calc-duration-log)
2689
+ (minimum-distance . 0.25)
2690
+ (parenthesis-friends . (dot))
2691
+ (stencil . ,ly:rest::print)
2692
+ (voiced-position . 4)
2693
+ (X-extent . ,ly:rest::width)
2694
+ (Y-extent . ,(ly:make-unpure-pure-container ly:rest::height ly:rest::pure-height))
2695
+ (Y-offset . ,(ly:make-unpure-pure-container ly:rest::y-offset-callback))
2696
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
2697
+ (meta . ((class . Item)
2698
+ (interfaces . (font-interface
2699
+ rest-interface
2700
+ rhythmic-grob-interface
2701
+ rhythmic-head-interface
2702
+ staff-symbol-referencer-interface))
2703
+ (description . "An ordinary rest. See also
2704
+ @iref{MultiMeasureRest}.")))))
2705
+
2706
+ (RestCollision
2707
+ . (
2708
+ (minimum-distance . 0.75)
2709
+ (positioning-done . ,ly:rest-collision::calc-positioning-done)
2710
+ (meta . ((class . Item)
2711
+ (interfaces . (rest-collision-interface))
2712
+ (description . "An auxiliary grob to handle rest
2713
+ collisions of different voices. See also
2714
+ @iref{NoteCollision}.")))))
2715
+
2716
+
2717
+ (Script
2718
+ . (
2719
+ (add-stem-support . #t)
2720
+ (cross-staff . ,ly:script-interface::calc-cross-staff)
2721
+ (direction . ,ly:script-interface::calc-direction)
2722
+ (font-encoding . fetaMusic)
2723
+ (horizon-padding . 0.1) ; to avoid interleaving with accidentals
2724
+ (positioning-done . ,ly:script-interface::calc-positioning-done)
2725
+ (self-alignment-X . ,CENTER)
2726
+ (side-axis . ,Y)
2727
+
2728
+ ;; padding set in script definitions.
2729
+ (slur-padding . 0.2)
2730
+ (staff-padding . 0.25)
2731
+
2732
+ (stencil . ,ly:script-interface::print)
2733
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
2734
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2735
+ (X-offset . ,script-interface::calc-x-offset)
2736
+ (Y-offset . ,side-position-interface::y-aligned-side)
2737
+ (meta . ((class . Item)
2738
+ (interfaces . (font-interface
2739
+ outside-staff-interface
2740
+ script-interface
2741
+ self-alignment-interface
2742
+ side-position-interface))
2743
+ (description . "An articulation (staccato,
2744
+ accent, etc.). See also @iref{ScriptColumn},
2745
+ @iref{ScriptRow}, and @iref{MultiMeasureRestScript}.")))))
2746
+
2747
+ (ScriptColumn
2748
+ . (
2749
+ (before-line-breaking . ,ly:script-column::before-line-breaking)
2750
+ (meta . ((class . Item)
2751
+ (interfaces . (script-column-interface))
2752
+ (description . "An auxiliary grob to
2753
+ (vertically) align stacked @iref{Script} grobs.")))))
2754
+
2755
+ (ScriptRow
2756
+ . (
2757
+ (before-line-breaking . ,ly:script-column::row-before-line-breaking)
2758
+ (meta . ((class . Item)
2759
+ (interfaces . (script-column-interface))
2760
+ (description . "An auxiliary grob to
2761
+ horizontally align stacked @iref{Script} grobs.")))))
2762
+
2763
+ (SectionLabel
2764
+ . (
2765
+ (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff)
2766
+ (baseline-skip . 2)
2767
+ (break-align-symbols . (left-edge staff-bar))
2768
+ (break-visibility . ,end-of-line-invisible)
2769
+ (direction . ,UP)
2770
+ (extra-spacing-width . (+inf.0 . -inf.0))
2771
+ ;; Larger than MetronomeMark; smaller than RehearsalMark.
2772
+ ;; Avoid bold to contrast with descriptive tempo marks.
2773
+ (font-size . 1.5)
2774
+ (non-musical . #t)
2775
+ (outside-staff-horizontal-padding . 0.2)
2776
+ ;; SectionLabel was developed as an optional substitute for an
2777
+ ;; automatic CodaMark, so they are unlikely to be
2778
+ ;; simultaneous, but if a long SectionLabel overlaps a later
2779
+ ;; SegnoMark or CodaMark, it looks better to place the
2780
+ ;; SectionLabel outside.
2781
+ ;;
2782
+ ;; We keep RehearsalMarks outside by default because their
2783
+ ;; nominal function is outside of the music.
2784
+ (outside-staff-priority . 1450)
2785
+ (padding . 0.8)
2786
+ (self-alignment-X . ,LEFT)
2787
+ (stencil . ,ly:text-interface::print)
2788
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
2789
+ (X-offset . ,self-alignment-interface::self-aligned-on-breakable)
2790
+ (Y-offset . ,side-position-interface::y-aligned-side)
2791
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2792
+ (meta . ((class . Item)
2793
+ (interfaces . (break-alignable-interface
2794
+ font-interface
2795
+ outside-staff-interface
2796
+ section-label-interface
2797
+ self-alignment-interface
2798
+ side-position-interface
2799
+ text-interface))
2800
+ (description . "A section label, for example
2801
+ @q{Coda}.")))))
2802
+
2803
+ (SegnoMark
2804
+ . (
2805
+ (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff)
2806
+ (baseline-skip . 2)
2807
+ (break-align-symbols . (staff-bar key-signature clef))
2808
+ (break-visibility . ,end-of-line-invisible)
2809
+ (direction . ,UP)
2810
+ (extra-spacing-width . (+inf.0 . -inf.0))
2811
+ (font-size . 2)
2812
+ (non-musical . #t)
2813
+ (outside-staff-horizontal-padding . 0.2)
2814
+ (outside-staff-priority . 1400) ; inside RehearsalMark
2815
+ (padding . 0.8)
2816
+ (self-alignment-X . ,break-alignable-interface::self-alignment-opposite-of-anchor)
2817
+ (stencil . ,ly:text-interface::print)
2818
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
2819
+ (X-offset . ,self-alignment-interface::self-aligned-on-breakable)
2820
+ (Y-offset . ,side-position-interface::y-aligned-side)
2821
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2822
+ (meta . ((class . Item)
2823
+ (interfaces . (break-alignable-interface
2824
+ font-interface
2825
+ mark-interface
2826
+ outside-staff-interface
2827
+ segno-mark-interface
2828
+ self-alignment-interface
2829
+ side-position-interface
2830
+ text-interface))
2831
+ (description . "A segno mark (created with
2832
+ @code{\\repeat segno}, not with @code{\\segno}).")))))
2833
+
2834
+ ;; Ancient end-repeat sign. This isn't a bar line, but it shares
2835
+ ;; much of the BarLine implementation.
2836
+ (SignumRepetitionis
2837
+ . (
2838
+ (bar-extent . ,ly:bar-line::calc-bar-extent)
2839
+ (break-align-anchor . ,ly:bar-line::calc-anchor)
2840
+ (break-align-symbol . signum-repetitionis)
2841
+ (break-visibility . ,begin-of-line-invisible)
2842
+ (extra-spacing-height . ,pure-from-neighbor-interface::account-for-span-bar)
2843
+ (gap . 0.4)
2844
+ ;; The engraver should set a glyph based on the repeat count.
2845
+ ;; If it doesn't, we signal it with this modern-looking placeholder.
2846
+ (glyph . ":|.")
2847
+ ;; Bypass BarLine's start-/middle-/end-of-line distinctions.
2848
+ (glyph-name . ,(grob::relay-other-property 'glyph))
2849
+ (kern . 3.0)
2850
+ (segno-kern . 3.0)
2851
+ (hair-thickness . 1.9)
2852
+ (thick-thickness . 6.0)
2853
+
2854
+ (layer . 0)
2855
+ (non-musical . #t)
2856
+ (rounded . #f)
2857
+ (space-alist . ((ambitus . (extra-space . 1.0))
2858
+ (time-signature . (extra-space . 0.75))
2859
+ (custos . (minimum-space . 2.0))
2860
+ (clef . (extra-space . 1.0))
2861
+ (key-signature . (extra-space . 1.0))
2862
+ (key-cancellation . (extra-space . 1.0))
2863
+ (first-note . (extra-space . 0.5))
2864
+ (next-note . (semi-fixed-space . 0.9))
2865
+ (signum-repetitionis . (extra-space . 0.5))
2866
+ (staff-bar . (extra-space . 0.5))
2867
+ (right-edge . (extra-space . 0.0))))
2868
+ (stencil . ,ly:bar-line::print)
2869
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2870
+ (meta . ((class . Item)
2871
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
2872
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
2873
+ (interfaces . (break-aligned-interface
2874
+ font-interface
2875
+ pure-from-neighbor-interface
2876
+ signum-repetitionis-interface))))))
2877
+
2878
+ (Slur
2879
+ . (
2880
+ (avoid-slur . inside)
2881
+ (control-points . ,ly:slur::calc-control-points)
2882
+ (cross-staff . ,ly:slur::calc-cross-staff)
2883
+ (details . ,default-slur-details)
2884
+ (direction . ,ly:slur::calc-direction)
2885
+ (height-limit . 2.0)
2886
+ (line-thickness . 0.8)
2887
+ (minimum-length . 1.5)
2888
+ (ratio . 0.25)
2889
+ (springs-and-rods . ,ly:spanner::set-spacing-rods)
2890
+ (stencil . ,ly:slur::print)
2891
+ (thickness . 1.2)
2892
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
2893
+ (Y-extent . ,slur::height)
2894
+ (meta . ((class . Spanner)
2895
+ (interfaces . (bezier-curve-interface
2896
+ outside-staff-interface
2897
+ slur-interface))
2898
+ (description . "A slur. See also
2899
+ @iref{PhrasingSlur}.")))))
2900
+
2901
+ (SostenutoPedal
2902
+ . (
2903
+ (direction . ,RIGHT)
2904
+ (extra-spacing-width . (+inf.0 . -inf.0))
2905
+ (font-shape . italic)
2906
+ (padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner
2907
+ (parent-alignment-X . #f)
2908
+ (self-alignment-X . ,CENTER)
2909
+ (stencil . ,ly:text-interface::print)
2910
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
2911
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
2912
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
2913
+ (meta . ((class . Item)
2914
+ (interfaces . (font-interface
2915
+ piano-pedal-script-interface
2916
+ self-alignment-interface
2917
+ text-interface))
2918
+ (description . "A sostenuto pedal mark. See
2919
+ also @iref{SostenutoPedalLineSpanner}, @iref{PianoPedalBracket},
2920
+ @iref{SustainPedal}, and @iref{UnaCordaPedal}.")))))
2921
+
2922
+ (SostenutoPedalLineSpanner
2923
+ . (
2924
+ (axes . (,Y))
2925
+ (direction . ,DOWN)
2926
+ (minimum-space . 1.0)
2927
+ (outside-staff-priority . 1000)
2928
+ (padding . 1.2)
2929
+ (side-axis . ,Y)
2930
+ (staff-padding . 1.0)
2931
+ (vertical-skylines . ,grob::always-vertical-skylines-from-element-stencils)
2932
+ (X-extent . ,ly:axis-group-interface::width)
2933
+ (Y-extent . ,axis-group-interface::height)
2934
+ (Y-offset . ,side-position-interface::y-aligned-side)
2935
+ (meta . ((class . Spanner)
2936
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
2937
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
2938
+ (interfaces . (axis-group-interface
2939
+ outside-staff-interface
2940
+ piano-pedal-interface
2941
+ side-position-interface))
2942
+ (description . "An auxiliary grob providing a
2943
+ baseline to align consecutive @iref{SostenutoPedal} grobs
2944
+ vertically.")))))
2945
+
2946
+ (SpacingSpanner
2947
+ . (
2948
+ (average-spacing-wishes . #t)
2949
+ (base-shortest-duration . ,(ly:make-moment 3 16))
2950
+ (common-shortest-duration . ,ly:spacing-spanner::calc-common-shortest-duration)
2951
+ (shortest-duration-space . 2.0)
2952
+ (spacing-increment . 1.2)
2953
+ (springs-and-rods . ,ly:spacing-spanner::set-springs)
2954
+ (meta . ((class . Spanner)
2955
+ (interfaces . (spacing-options-interface
2956
+ spacing-spanner-interface))
2957
+ (description . "An auxiliary grob to set all
2958
+ horizontal spacing constraints across a score. There is normally
2959
+ one such grob for the whole score, but there can be several if
2960
+ @code{\\newSpacingSection} is used. See also
2961
+ @iref{GraceSpacing}, @iref{NoteSpacing}, and
2962
+ @iref{StaffSpacing}.")))))
2963
+
2964
+ (SpanBar
2965
+ . (
2966
+ (allow-span-bar . #t)
2967
+ (bar-extent . ,axis-group-interface::height)
2968
+ (before-line-breaking . ,ly:span-bar::before-line-breaking)
2969
+ (break-align-anchor . ,ly:span-bar::calc-anchor)
2970
+ (break-align-symbol . staff-bar)
2971
+ (glyph-name . ,ly:span-bar::calc-glyph-name)
2972
+ (layer . 0)
2973
+ (non-musical . #t)
2974
+ (stencil . ,ly:span-bar::print)
2975
+ (X-extent . ,ly:span-bar::width)
2976
+ (Y-extent . (+inf.0 . -inf.0))
2977
+ (meta . ((class . Item)
2978
+ (interfaces . (bar-line-interface
2979
+ break-aligned-interface
2980
+ font-interface
2981
+ span-bar-interface))
2982
+ (description . "A span bar, i.e., the parts of
2983
+ a multi-staff bar line that are outside of staves. See also
2984
+ @iref{SpanBarStub}.")))))
2985
+
2986
+ (SpanBarStub
2987
+ . (
2988
+ (X-extent . ,(grob::inherit-parent-property
2989
+ X 'X-extent))
2990
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height)
2991
+ ;; we want this to be ignored, so empty, but the extra spacing height
2992
+ ;; should preserve the span bar's presence for horizontal spacing
2993
+ (Y-extent . ,pure-from-neighbor-interface::height-if-pure)
2994
+ (meta . ((class . Item)
2995
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
2996
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
2997
+ (interfaces . (pure-from-neighbor-interface))
2998
+ (description . "An auxiliary grob, acting like a
2999
+ fake @iref{SpanBar} grob in contexts such as @iref{Lyrics} that
3000
+ are crossed by a span bar, to keep span bars taking horizontal
3001
+ space.")))))
3002
+
3003
+ (StaffEllipsis ; indicates a cut made by skipTypesetting = ##t
3004
+ . (
3005
+ (break-align-symbol . staff-ellipsis)
3006
+ (break-visibility . ,all-visible)
3007
+ (layer . 1)
3008
+ (non-musical . #t)
3009
+ (space-alist . (
3010
+ (ambitus . (extra-space . 1.0))
3011
+ (breathing-sign . (extra-space . 1.0))
3012
+ (custos . (extra-space . 1.0))
3013
+ (key-signature . (extra-space . 1.0))
3014
+ (time-signature . (extra-space . 1.0))
3015
+ (signum-repetitionis . (extra-space . 1.0))
3016
+ (staff-bar . (extra-space . 1.0))
3017
+ (clef . (extra-space . 1.0))
3018
+ (cue-clef . (extra-space . 1.0))
3019
+ (cue-end-clef . (extra-space . 1.0))
3020
+ (first-note . (extra-space . 1.0))
3021
+ (right-edge . (fixed-space . 0))))
3022
+ (text . ,(make-line-markup (list
3023
+ (make-null-markup)
3024
+ (make-musicglyph-markup "dots.dot")
3025
+ (make-musicglyph-markup "dots.dot")
3026
+ (make-musicglyph-markup "dots.dot")
3027
+ (make-null-markup))))
3028
+ (stencil . ,staff-ellipsis::print)
3029
+ (whiteout . #t)
3030
+ (Y-extent . ,staff-ellipsis::calc-y-extent)
3031
+ (meta . ((class . Item)
3032
+ (interfaces . (break-aligned-interface
3033
+ font-interface
3034
+ text-interface))
3035
+ (description . "A visual marker (usually three
3036
+ consecutive dots) to indicate that typesetting of music is
3037
+ skipped.")))))
3038
+
3039
+ (StaffGrouper
3040
+ . (
3041
+ (staff-staff-spacing . ((basic-distance . 9)
3042
+ (minimum-distance . 7)
3043
+ (padding . 1)
3044
+ (stretchability . 5)))
3045
+ (staffgroup-staff-spacing . ((basic-distance . 10.5)
3046
+ (minimum-distance . 8)
3047
+ (padding . 1)
3048
+ (stretchability . 9)))
3049
+ (meta . ((class . Spanner)
3050
+ (interfaces . (staff-grouper-interface))
3051
+ (description . "An auxiliary grob to manage
3052
+ vertical spacing of staff groups. See also
3053
+ @iref{VerticalAlignment} and @iref{VerticalAxisGroup}.")))))
3054
+
3055
+ (StaffSpacing
3056
+ . (
3057
+ (non-musical . #t)
3058
+ (stem-spacing-correction . 0.4)
3059
+ (meta . ((class . Item)
3060
+ (interfaces . (spacing-interface
3061
+ staff-spacing-interface))
3062
+ (description . "An auxiliary grob to handle
3063
+ spacing within a staff. See also @iref{NoteSpacing},
3064
+ @iref{GraceSpacing}, and @iref{SpacingSpanner}.")))))
3065
+
3066
+ (StaffHighlight
3067
+ . (
3068
+ (bound-prefatory-paddings . (0.5 . 0.5))
3069
+ (color . ,(grob::calc-property-by-copy 'color))
3070
+ (stencil . ,staff-highlight::print)
3071
+ (layer . -1)
3072
+ (shorten-pair . (0 . 0))
3073
+ (X-extent . ,staff-highlight::width)
3074
+ (Y-extent . ,staff-highlight::height)
3075
+ (meta . ((class . Spanner)
3076
+ (interfaces . (staff-highlight-interface))
3077
+ (description . "A colored span to highlight a music passage.")))))
3078
+
3079
+ (StaffSymbol
3080
+ . (
3081
+ (break-align-symbols . (staff-bar break-alignment))
3082
+ (layer . 0)
3083
+ (ledger-line-thickness . (1.0 . 0.1))
3084
+ (line-count . 5)
3085
+ (stencil . ,ly:staff-symbol::print)
3086
+ (widened-extent . ,staff-symbol::calc-widened-extent)
3087
+ (Y-extent . ,(ly:make-unpure-pure-container ly:staff-symbol::height))
3088
+ (meta . ((class . Spanner)
3089
+ (interfaces . (staff-symbol-interface))
3090
+ (description . "A staff symbol, usually
3091
+ five horizontal lines.")))))
3092
+
3093
+ (StanzaNumber
3094
+ . (
3095
+ (direction . ,LEFT)
3096
+ (font-series . bold)
3097
+ (padding . 1.0)
3098
+ (side-axis . ,X)
3099
+ (stencil . ,ly:text-interface::print)
3100
+ (X-offset . ,ly:side-position-interface::x-aligned-side)
3101
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
3102
+ (meta . ((class . Item)
3103
+ (interfaces . (font-interface
3104
+ side-position-interface
3105
+ stanza-number-interface
3106
+ text-interface))
3107
+ (description . "A stanza number (or markup) for
3108
+ lyrics.")))))
3109
+
3110
+ (Stem
3111
+ . (
3112
+ (beamlet-default-length . (1.1 . 1.1))
3113
+ (beamlet-max-length-proportion . (0.75 . 0.75))
3114
+ (cross-staff . ,ly:stem::calc-cross-staff)
3115
+ (default-direction . ,ly:stem::calc-default-direction)
3116
+ (details
3117
+ . (
3118
+ ;; 3.5 (or 3 measured from note head) is standard length
3119
+ ;; 32nd, 64th, ..., 1024th flagged stems should be longer
3120
+ (lengths . (3.5 3.5 3.5 4.25 5.0 6.0 7.0 8.0 9.0))
3121
+
3122
+ ;; FIXME. 3.5 yields too long beams (according to Ross and
3123
+ ;; looking at Baerenreiter examples) for a number of common
3124
+ ;; boundary cases. Subtracting half a beam thickness fixes
3125
+ ;; this, but the bug may well be somewhere else.
3126
+
3127
+ ;; FIXME this should come from 'lengths
3128
+ (beamed-lengths . (3.26 3.5 3.6))
3129
+
3130
+ ;; The 'normal' minima
3131
+ (beamed-minimum-free-lengths . (1.83 1.5 1.25))
3132
+ ;;(beamed-minimum-free-lengths . (2.0 1.83 1.25))
3133
+
3134
+ ;; The 'extreme case' minima
3135
+ (beamed-extreme-minimum-free-lengths . (2.0 1.25))
3136
+
3137
+ ;; Stems in unnatural (forced) direction should be shortened by
3138
+ ;; one staff space, according to [Roush & Gourlay].
3139
+ ;; Flagged stems we shorten only half a staff space.
3140
+ (stem-shorten . (1.0 0.5 0.25))
3141
+
3142
+ ))
3143
+
3144
+ ;; We use the normal minima as minimum for the ideal lengths,
3145
+ ;; and the extreme minima as abolute minimum length.
3146
+
3147
+ (direction . ,ly:stem::calc-direction)
3148
+ (double-stem-separation . 0.5)
3149
+ (duration-log . ,stem::calc-duration-log)
3150
+ (length . ,(ly:make-unpure-pure-container ly:stem::calc-length ly:stem::pure-calc-length))
3151
+ (neutral-direction . ,DOWN)
3152
+ (note-collision-threshold . 1)
3153
+ (positioning-done . ,ly:stem::calc-positioning-done)
3154
+ (stem-info . ,ly:stem::calc-stem-info)
3155
+ (stem-begin-position . ,(ly:make-unpure-pure-container ly:stem::calc-stem-begin-position ly:stem::pure-calc-stem-begin-position))
3156
+ (stencil . ,ly:stem::print)
3157
+ (thickness . 1.3)
3158
+ (X-extent . ,ly:stem::width)
3159
+ (X-offset . ,ly:stem::offset-callback)
3160
+ (Y-extent . ,(ly:make-unpure-pure-container ly:stem::height ly:stem::pure-height))
3161
+ (Y-offset . ,staff-symbol-referencer::callback)
3162
+ (meta . ((class . Item)
3163
+ (interfaces . (stem-interface))
3164
+ (description . "A stem. See also
3165
+ @iref{StemStub}.")))))
3166
+
3167
+ (StemStub
3168
+ . (
3169
+ (X-extent . ,stem-stub::width)
3170
+ (extra-spacing-height . ,stem-stub::extra-spacing-height)
3171
+ (Y-extent . ,(ly:make-unpure-pure-container #f stem-stub::pure-height))
3172
+ (meta . ((class . Item)
3173
+ (interfaces . ())
3174
+ (description . "An auxiliary grob that prevents
3175
+ cross-staff @iref{Stem} grobs from colliding with
3176
+ articulations.")))))
3177
+
3178
+ (StemTremolo
3179
+ . (
3180
+ (beam-thickness . 0.48) ; staff-space
3181
+ (beam-width . ,ly:stem-tremolo::calc-width) ; staff-space
3182
+ (cross-staff . ,ly:stem-tremolo::calc-cross-staff)
3183
+ (direction . ,ly:stem-tremolo::calc-direction)
3184
+ (parent-alignment-X . ,CENTER)
3185
+ (slope . ,ly:stem-tremolo::calc-slope)
3186
+ (stencil . ,ly:stem-tremolo::print)
3187
+ (shape . ,ly:stem-tremolo::calc-shape)
3188
+ (X-extent . ,ly:stem-tremolo::width)
3189
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
3190
+ (Y-extent . ,(grob::unpure-Y-extent-from-stencil ly:stem-tremolo::pure-height))
3191
+ (Y-offset . ,(ly:make-unpure-pure-container ly:stem-tremolo::calc-y-offset ly:stem-tremolo::pure-calc-y-offset))
3192
+ (meta . ((class . Item)
3193
+ (interfaces . (self-alignment-interface
3194
+ stem-tremolo-interface))
3195
+ (description . "A stem tremolo.")))))
3196
+
3197
+ (StringNumber
3198
+ . (
3199
+ (add-stem-support . ,only-if-beamed)
3200
+ (avoid-slur . around)
3201
+ (cross-staff . ,script-or-side-position-cross-staff)
3202
+ (font-encoding . fetaText)
3203
+ (font-features . ("cv47"))
3204
+ (font-size . -5) ; don't overlap when next to heads.
3205
+ (number-type . arabic)
3206
+ (padding . 0.5)
3207
+ (parent-alignment-X . ,CENTER)
3208
+ (script-priority . 100)
3209
+ (self-alignment-X . ,CENTER)
3210
+ (self-alignment-Y . ,CENTER)
3211
+ (staff-padding . 0.5)
3212
+ (stencil . ,print-circled-text-callback)
3213
+ (text . ,string-number::calc-text)
3214
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
3215
+ (meta . ((class . Item)
3216
+ (interfaces . (font-interface
3217
+ self-alignment-interface
3218
+ outside-staff-interface
3219
+ side-position-interface
3220
+ number-interface
3221
+ string-number-interface
3222
+ text-interface
3223
+ text-script-interface))
3224
+ (description . "A markup (by default a digit in
3225
+ a circle) to name a string.")))))
3226
+
3227
+ (StrokeFinger
3228
+ . (
3229
+ (add-stem-support . ,only-if-beamed)
3230
+ (digit-names . #("p" "i" "m" "a" "x"))
3231
+ (font-shape . italic)
3232
+ (font-size . -4) ; don't overlap when next to heads.
3233
+ (padding . 0.5)
3234
+ (parent-alignment-X . ,CENTER)
3235
+ (script-priority . 100)
3236
+ (self-alignment-X . ,CENTER)
3237
+ (self-alignment-Y . ,CENTER)
3238
+ (staff-padding . 0.5)
3239
+ (stencil . ,ly:text-interface::print)
3240
+ (text . ,stroke-finger::calc-text)
3241
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
3242
+ (meta . ((class . Item)
3243
+ (interfaces . (font-interface
3244
+ outside-staff-interface
3245
+ self-alignment-interface
3246
+ side-position-interface
3247
+ stroke-finger-interface
3248
+ text-interface
3249
+ text-script-interface))
3250
+ (description . "A markup (usually a lowercase
3251
+ letter) to indicate right-hand fingering. See also
3252
+ @iref{Fingering}.")))))
3253
+
3254
+ (SustainPedal
3255
+ . (
3256
+ (extra-spacing-width . (+inf.0 . -inf.0))
3257
+ (padding . 0.0) ;; padding relative to SustainPedalLineSpanner
3258
+ (parent-alignment-X . #f)
3259
+ (self-alignment-X . ,CENTER)
3260
+ (stencil . ,ly:sustain-pedal::print)
3261
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
3262
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
3263
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
3264
+ (meta . ((class . Item)
3265
+ (interfaces . (font-interface
3266
+ piano-pedal-interface
3267
+ piano-pedal-script-interface
3268
+ self-alignment-interface
3269
+ text-interface))
3270
+ (description . "A sustain pedal mark. See also
3271
+ @iref{SustainPedalLineSpanner}, @iref{PianoPedalBracket},
3272
+ @iref{SostenutoPedal}, and @iref{UnaCordaPedal}.")))))
3273
+
3274
+ (SustainPedalLineSpanner
3275
+ . (
3276
+ (axes . (,Y))
3277
+ (direction . ,DOWN)
3278
+ (minimum-space . 1.0)
3279
+ (outside-staff-priority . 1000)
3280
+ (padding . 1.2)
3281
+ (side-axis . ,Y)
3282
+ (staff-padding . 1.2)
3283
+ (vertical-skylines . ,grob::always-vertical-skylines-from-element-stencils)
3284
+ (X-extent . ,ly:axis-group-interface::width)
3285
+ (Y-extent . ,axis-group-interface::height)
3286
+ (Y-offset . ,side-position-interface::y-aligned-side)
3287
+ (meta . ((class . Spanner)
3288
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
3289
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
3290
+ (interfaces . (axis-group-interface
3291
+ outside-staff-interface
3292
+ piano-pedal-interface
3293
+ side-position-interface))
3294
+ (description . "An auxiliary grob providing a
3295
+ baseline to align consecutive @iref{SustainPedal} grobs
3296
+ vertically.")))))
3297
+
3298
+ (System
3299
+ . (
3300
+ (adjacent-pure-heights . ,ly:axis-group-interface::adjacent-pure-heights)
3301
+ (axes . (,X ,Y))
3302
+ (outside-staff-placement-directive . left-to-right-polite)
3303
+ (show-vertical-skylines . ,grob::show-skylines-if-debug-skylines-set)
3304
+ (skyline-horizontal-padding . 1.0)
3305
+ (vertical-skylines . ,ly:axis-group-interface::calc-skylines)
3306
+ (X-extent . ,ly:axis-group-interface::width)
3307
+ (Y-extent . ,(ly:make-unpure-pure-container ly:system::height ly:system::calc-pure-height))
3308
+ (meta . ((class . System)
3309
+ (object-callbacks . ((footnotes-before-line-breaking . ,ly:system::footnotes-before-line-breaking)
3310
+ (footnotes-after-line-breaking . ,ly:system::footnotes-after-line-breaking)
3311
+ (pure-relevant-grobs . ,ly:system::calc-pure-relevant-grobs)
3312
+ (pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
3313
+ (vertical-skyline-elements . ,ly:system::vertical-skyline-elements)
3314
+ (vertical-alignment . ,ly:system::get-vertical-alignment)))
3315
+ (interfaces . (axis-group-interface
3316
+ outside-staff-axis-group-interface))
3317
+ (description . "The top-level grob of a score.
3318
+ All other grobs are descendants of it.")))))
3319
+
3320
+ (SystemStartBar
3321
+ . (
3322
+ (collapse-height . 5.0)
3323
+ (direction . ,LEFT)
3324
+
3325
+ ;; ugh--hardcoded.
3326
+ (padding . -0.1) ;; bar must cover rounded ending of staff line.
3327
+ (stencil . ,ly:system-start-delimiter::print)
3328
+ (style . bar-line)
3329
+ (thickness . 1.6)
3330
+ (X-offset . ,ly:side-position-interface::x-aligned-side)
3331
+ (meta . ((class . Spanner)
3332
+ (interfaces . (side-position-interface
3333
+ system-start-delimiter-interface))
3334
+ (description . "A bar line as a system start
3335
+ delimiter.")))))
3336
+
3337
+ (SystemStartBrace
3338
+ . (
3339
+ (collapse-height . 5.0)
3340
+ (direction . ,LEFT)
3341
+ (font-encoding . fetaBraces)
3342
+ (padding . 0.3)
3343
+ (stencil . ,ly:system-start-delimiter::print)
3344
+ (style . brace)
3345
+ (X-offset . ,ly:side-position-interface::x-aligned-side)
3346
+ (meta . ((class . Spanner)
3347
+ (interfaces . (font-interface
3348
+ side-position-interface
3349
+ system-start-delimiter-interface))
3350
+ (description . "A brace as a system start
3351
+ delimiter.")))))
3352
+
3353
+ (SystemStartBracket
3354
+ . (
3355
+ (collapse-height . 5.0)
3356
+ (direction . ,LEFT)
3357
+ (padding . 0.8)
3358
+ (stencil . ,ly:system-start-delimiter::print)
3359
+ (style . bracket)
3360
+ (thickness . 0.45)
3361
+ (X-offset . ,ly:side-position-interface::x-aligned-side)
3362
+ (meta . ((class . Spanner)
3363
+ (interfaces . (font-interface
3364
+ side-position-interface
3365
+ system-start-delimiter-interface))
3366
+ (description . "A bracket as a system start
3367
+ delimiter.")))))
3368
+
3369
+ (SystemStartSquare
3370
+ . (
3371
+ (collapse-height . 5.0)
3372
+ (direction . ,LEFT)
3373
+ (stencil . ,ly:system-start-delimiter::print)
3374
+ (style . line-bracket)
3375
+ (thickness . 1.0)
3376
+ (X-offset . ,ly:side-position-interface::x-aligned-side)
3377
+ (meta . ((class . Spanner)
3378
+ (interfaces . (font-interface
3379
+ side-position-interface
3380
+ system-start-delimiter-interface))
3381
+ (description . "A rectangle-like bracket as a
3382
+ start delimiter.")))))
3383
+
3384
+
3385
+ (TabNoteHead
3386
+ . (
3387
+ (bend-me . ())
3388
+ (details . ((cautionary-properties . ((angularity . 0.4)
3389
+ (half-thickness . 0.075)
3390
+ (padding . 0)
3391
+ (procedure . ,parenthesize-stencil)
3392
+ (width . 0.25)))
3393
+ (head-offset . 3/5)
3394
+ (harmonic-properties . ((angularity . 2)
3395
+ (half-thickness . 0.075)
3396
+ (padding . 0)
3397
+ (procedure . ,parenthesize-stencil)
3398
+ (width . 0.25)))
3399
+ (repeat-tied-properties . ((note-head-visible . #t)
3400
+ (parenthesize . #t)))
3401
+ (tied-properties . ((parenthesize . #t)))))
3402
+
3403
+ (direction . ,CENTER)
3404
+ (duration-log . ,note-head::calc-duration-log)
3405
+ (font-series . bold)
3406
+ (font-size . -2)
3407
+ (parenthesis-friends . (dot))
3408
+ (stem-attachment . ,ly:note-head::calc-tab-stem-attachment)
3409
+ (stencil . ,tab-note-head::print)
3410
+ (whiteout . #t)
3411
+ (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
3412
+ (Y-offset . ,staff-symbol-referencer::callback)
3413
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
3414
+ (meta . ((class . Item)
3415
+ (interfaces . (bend-interface
3416
+ font-interface
3417
+ note-head-interface
3418
+ rhythmic-grob-interface
3419
+ rhythmic-head-interface
3420
+ staff-symbol-referencer-interface
3421
+ tab-note-head-interface
3422
+ text-interface))
3423
+ (description . "A @q{note head} (usually a
3424
+ digit) in a tablature. See also @iref{NoteHead}.")))))
3425
+
3426
+ (TextMark
3427
+ . (
3428
+ (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff)
3429
+ (baseline-skip . 2)
3430
+ (break-align-symbols . (staff-bar key-signature clef))
3431
+ (break-visibility . ,text-mark-interface::calc-break-visibility)
3432
+ (direction . ,UP)
3433
+ ;; See \markLengthOn
3434
+ (extra-spacing-width . (+inf.0 . -inf.0))
3435
+ ;; slightly bigger than TextScript, smaller than SectionLabel
3436
+ (font-size . 0.5)
3437
+ (non-musical . #t)
3438
+ (outside-staff-horizontal-padding . 0.2)
3439
+ ;; More than CenteredBarNumberLineSpanner but less than MetronomeMark.
3440
+ ;; This is a guess; there isn't a single use case for text marks, so it
3441
+ ;; is expected that the user might have to tweak outside-staff-priority
3442
+ ;; if needed.
3443
+ (outside-staff-priority . 1250)
3444
+ (padding . 0.8)
3445
+ (self-alignment-X . ,text-mark-interface::calc-self-alignment-X)
3446
+ (stencil . ,ly:text-interface::print)
3447
+ (text . ,(grob::calc-property-by-copy 'text))
3448
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
3449
+ (X-offset . ,self-alignment-interface::self-aligned-on-breakable)
3450
+ (Y-offset . ,side-position-interface::y-aligned-side)
3451
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
3452
+ (meta . ((class . Item)
3453
+ (interfaces . (accidental-switch-interface
3454
+ break-alignable-interface
3455
+ font-interface
3456
+ mark-interface
3457
+ outside-staff-interface
3458
+ self-alignment-interface
3459
+ side-position-interface
3460
+ text-interface
3461
+ text-mark-interface))
3462
+ (description . "An arbitrary textual mark.
3463
+ See also @iref{SectionLabel} and @iref{JumpScript} for grobs with a
3464
+ more specific intent.")))))
3465
+
3466
+ (TextScript
3467
+ . (
3468
+ (avoid-slur . around)
3469
+ (cross-staff . #f)
3470
+ (direction . ,DOWN)
3471
+ (extra-spacing-width . (+inf.0 . -inf.0))
3472
+ (outside-staff-horizontal-padding . 0.2)
3473
+ (outside-staff-priority . 450)
3474
+
3475
+ ;; sync with Fingering ?
3476
+ (padding . 0.3)
3477
+
3478
+ (parent-alignment-X . #f)
3479
+ (script-priority . 200)
3480
+ ;; self-alignment cannot be LEFT because of fingering diagrams.
3481
+ (self-alignment-X . #f)
3482
+ (side-axis . ,Y)
3483
+ (slur-padding . 0.5)
3484
+ (staff-padding . 0.5)
3485
+ (stencil . ,ly:text-interface::print)
3486
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
3487
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
3488
+ (X-align-on-main-noteheads . #t)
3489
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
3490
+ (Y-offset . ,side-position-interface::y-aligned-side)
3491
+ (meta . ((class . Item)
3492
+ (interfaces . (accidental-switch-interface
3493
+ font-interface
3494
+ instrument-specific-markup-interface
3495
+ outside-staff-interface
3496
+ self-alignment-interface
3497
+ side-position-interface
3498
+ text-interface
3499
+ text-script-interface))
3500
+ (description . "A markup attached to a grob like
3501
+ a note head. See also @iref{MultiMeasureRestText}.")))))
3502
+
3503
+ (TextSpanner
3504
+ . (
3505
+ (bound-details . ((left . ((padding . 0.25)
3506
+ (attach-dir . ,LEFT)
3507
+ ))
3508
+ (left-broken . ((attach-dir . ,RIGHT)))
3509
+ (right . ((padding . 0.25)
3510
+ ))
3511
+ ))
3512
+ (dash-fraction . 0.2)
3513
+ (dash-period . 3.0)
3514
+ (direction . ,UP)
3515
+ (font-shape . italic)
3516
+ (left-bound-info . ,ly:horizontal-line-spanner::calc-left-bound-info)
3517
+ (outside-staff-priority . 350)
3518
+ (right-bound-info . ,ly:horizontal-line-spanner::calc-right-bound-info)
3519
+ (side-axis . ,Y)
3520
+ (staff-padding . 0.8)
3521
+ (stencil . ,ly:line-spanner::print)
3522
+ (style . dashed-line)
3523
+ (Y-offset . ,side-position-interface::y-aligned-side)
3524
+
3525
+ (meta . ((class . Spanner)
3526
+ (interfaces . (font-interface
3527
+ horizontal-line-spanner-interface
3528
+ line-interface
3529
+ line-spanner-interface
3530
+ outside-staff-interface
3531
+ side-position-interface))
3532
+ (description . "Text like @q{rit}, usually
3533
+ followed by a (dashed) line. See also
3534
+ @iref{DynamicTextSpanner}.")))))
3535
+
3536
+ (Tie
3537
+ . (
3538
+ (avoid-slur . inside)
3539
+ (control-points . ,ly:tie::calc-control-points)
3540
+ (details . (
3541
+ ;; for a full list, see tie-details.cc
3542
+ (ratio . 0.333)
3543
+ (center-staff-line-clearance . 0.6)
3544
+ (tip-staff-line-clearance . 0.45)
3545
+ (note-head-gap . 0.2)
3546
+ (stem-gap . 0.35)
3547
+ (height-limit . 1.0)
3548
+ (horizontal-distance-penalty-factor . 10)
3549
+ (same-dir-as-stem-penalty . 8)
3550
+ (min-length-penalty-factor . 26)
3551
+ (tie-tie-collision-distance . 0.45)
3552
+ (tie-tie-collision-penalty . 25.0)
3553
+ (intra-space-threshold . 1.25)
3554
+ (outer-tie-vertical-distance-symmetry-penalty-factor . 10)
3555
+ (outer-tie-length-symmetry-penalty-factor . 10)
3556
+ (vertical-distance-penalty-factor . 7)
3557
+ (outer-tie-vertical-gap . 0.25)
3558
+ (multi-tie-region-size . 3)
3559
+ (single-tie-region-size . 4)
3560
+ (between-length-limit . 1.0)))
3561
+
3562
+ (direction . ,ly:tie::calc-direction)
3563
+ (line-thickness . 0.8)
3564
+ (neutral-direction . ,UP)
3565
+ (springs-and-rods . ,ly:spanner::set-spacing-rods)
3566
+ (stencil . ,ly:tie::print)
3567
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
3568
+ (thickness . 1.2)
3569
+ (meta . ((class . Spanner)
3570
+ (interfaces . (bezier-curve-interface
3571
+ tie-interface))
3572
+ (description . "A tie. See also
3573
+ @iref{TieColumn}, @iref{LaissezVibrerTie}, and
3574
+ @iref{RepeatTie}.")))))
3575
+
3576
+ (TieColumn
3577
+ . (
3578
+ (before-line-breaking . ,ly:tie-column::before-line-breaking)
3579
+ (positioning-done . ,ly:tie-column::calc-positioning-done)
3580
+ (X-extent . #f)
3581
+ (Y-extent . #f)
3582
+ (meta . ((class . Spanner)
3583
+ (interfaces . (tie-column-interface))
3584
+ (description . "An auxiliary grob to determine
3585
+ direction and shape of stacked @iref{Tie} grobs.")))))
3586
+
3587
+ (TimeSignature
3588
+ . (
3589
+ (avoid-slur . inside)
3590
+ (break-align-anchor
3591
+ . ,ly:break-aligned-interface::calc-extent-aligned-anchor)
3592
+ (break-align-symbol . time-signature)
3593
+ (break-align-anchor-alignment . ,LEFT)
3594
+ (break-visibility . ,all-visible)
3595
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height-including-staff)
3596
+ (extra-spacing-width . (0.0 . 0.8))
3597
+ (non-musical . #t)
3598
+ (space-alist . (
3599
+ (ambitus . (extra-space . 1.0))
3600
+ (cue-clef . (extra-space . 1.5))
3601
+ (first-note . (fixed-space . 2.0))
3602
+ (right-edge . (extra-space . 0.5))
3603
+ (signum-repetitionis . (extra-space . 1.0))
3604
+ (staff-bar . (extra-space . 1.0))))
3605
+ (stencil . ,ly:time-signature::print)
3606
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
3607
+ (style . C)
3608
+ (meta . ((class . Item)
3609
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
3610
+ (pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
3611
+ (interfaces . (break-aligned-interface
3612
+ font-interface
3613
+ pure-from-neighbor-interface
3614
+ time-signature-interface))
3615
+ (description . "A time signature.")))))
3616
+
3617
+ (TrillPitchAccidental
3618
+ . (
3619
+ (direction . ,LEFT)
3620
+ (font-size . -4)
3621
+ (glyph-name . ,accidental-interface::calc-glyph-name)
3622
+ (padding . 0.2)
3623
+ (side-axis . ,X)
3624
+ (stencil . ,ly:accidental-interface::print)
3625
+ (X-offset . ,ly:side-position-interface::x-aligned-side)
3626
+ (Y-extent . ,accidental-interface::height)
3627
+ (meta . ((class . Item)
3628
+ (interfaces . (accidental-interface
3629
+ accidental-switch-interface
3630
+ font-interface
3631
+ inline-accidental-interface
3632
+ side-position-interface
3633
+ trill-pitch-accidental-interface))
3634
+ (description . "The accidental of a pitched
3635
+ trill. See also @iref{TrillPitchGroup}.")))))
3636
+
3637
+ (TrillPitchGroup
3638
+ . (
3639
+ (axes . (,X))
3640
+ (direction . ,RIGHT)
3641
+ ;; minimum shift to the right, in case the parent note has no stem
3642
+ (minimum-space . 2.5)
3643
+ (horizon-padding . 0.1) ; to avoid interleaving with augmentation dots
3644
+ (padding . 0.3)
3645
+ (side-axis . ,X)
3646
+ (X-extent . ,ly:axis-group-interface::width)
3647
+ (X-offset . ,ly:side-position-interface::x-aligned-side)
3648
+ (Y-extent . ,(ly:make-unpure-pure-container
3649
+ ly:axis-group-interface::height
3650
+ trill-pitch-group::pure-height))
3651
+ (meta . ((class . Item)
3652
+ (interfaces . (axis-group-interface
3653
+ side-position-interface))
3654
+ (description . "An auxiliary grob to construct
3655
+ a pitched trill, aligning @iref{TrillPitchAccidental},
3656
+ @iref{TrillPitchParentheses}, and @iref{TrillPitchHead}
3657
+ horizontally. See also @iref{TrillSpanner}.")))))
3658
+
3659
+ (TrillPitchHead
3660
+ . (
3661
+ (duration-log . 2)
3662
+ (font-size . -4)
3663
+ (parenthesis-friends . (accidental-grob))
3664
+ (stencil . ,ly:note-head::print)
3665
+ (Y-offset . ,staff-symbol-referencer::callback)
3666
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
3667
+ (meta . ((class . Item)
3668
+ (interfaces . (font-interface
3669
+ ledgered-interface
3670
+ pitched-trill-interface
3671
+ rhythmic-head-interface
3672
+ staff-symbol-referencer-interface))
3673
+ (description . "The note head of a pitched
3674
+ trill. See also @iref{TrillPitchGroup}.")))))
3675
+
3676
+ (TrillPitchParentheses
3677
+ . (
3678
+ ;; This is different from Parentheses, which has -6 plus the font size
3679
+ ;; of its host.
3680
+ (font-size . -4)
3681
+ ;; This default comes from a time when parentheses were baked into
3682
+ ;; TrillPitchGroup and the padding defined both the inner padding
3683
+ ;; of the parentheses and the padding of the whole group from the
3684
+ ;; main note column. It could be revisited (Parentheses has 0.2).
3685
+ (padding . 0.3)
3686
+ (stencil . ,parentheses-interface::print)
3687
+ (stencils . ,parentheses-interface::calc-parenthesis-stencils)
3688
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
3689
+ (meta . ((class . Item)
3690
+ (interfaces . (font-interface
3691
+ parentheses-interface
3692
+ pitched-trill-interface))
3693
+ (description . "The parentheses of a pitched
3694
+ trill. See also @iref{TrillPitchGroup}.")))))
3695
+
3696
+ (TrillSpanner
3697
+ . (
3698
+ (after-line-breaking . ,ly:spanner::kill-zero-spanned-time)
3699
+ (bound-details . ((left . (
3700
+ ;; Need true X extent for chained trills not to overlap.
3701
+ ;; The trill glyph has a loop on its left, which sticks
3702
+ ;; out of its bounding box.
3703
+ (text . ,(make-with-true-dimension-markup
3704
+ X
3705
+ (make-musicglyph-markup "scripts.trill")))
3706
+ (stencil-offset . (0 . -1))
3707
+ (attach-dir . ,CENTER)
3708
+ ))
3709
+ (left-broken . ((end-on-note . #t)))
3710
+ (right . ((adjust-on-neighbor . #t)
3711
+ (attach-dir . ,LEFT)
3712
+ (end-on-accidental . #t)))
3713
+ ))
3714
+ (direction . ,UP)
3715
+ (left-bound-info . ,ly:horizontal-line-spanner::calc-left-bound-info)
3716
+ (outside-staff-priority . 50)
3717
+ (padding . 0.5)
3718
+ (right-bound-info . ,ly:horizontal-line-spanner::calc-right-bound-info)
3719
+ (staff-padding . 1.0)
3720
+ (stencil . ,ly:line-spanner::print)
3721
+ (style . trill)
3722
+ (to-barline . #t)
3723
+ (meta . ((class . Spanner)
3724
+ (interfaces . (font-interface
3725
+ horizontal-line-spanner-interface
3726
+ line-interface
3727
+ line-spanner-interface
3728
+ outside-staff-interface
3729
+ side-position-interface
3730
+ trill-spanner-interface))
3731
+ (description . "A continued trill with a wiggly
3732
+ line (created with @code{\\startTrillSpan}, not with
3733
+ @code{\\trill}). See also @iref{TrillPitchGroup}.")))))
3734
+
3735
+ (TupletBracket
3736
+ . (
3737
+ (avoid-scripts . #t)
3738
+ (connect-to-neighbor . ,ly:tuplet-bracket::calc-connect-to-neighbors)
3739
+ (cross-staff . ,ly:tuplet-bracket::calc-cross-staff)
3740
+ (direction . ,ly:tuplet-bracket::calc-direction)
3741
+ (edge-height . (0.7 . 0.7))
3742
+ (full-length-to-extent . #t)
3743
+ (visible-over-note-heads . #f)
3744
+ (padding . 1.1)
3745
+ (positions . ,ly:tuplet-bracket::calc-positions)
3746
+ (shorten-pair . (-0.2 . -0.2))
3747
+ (staff-padding . 0.25)
3748
+ (stencil . ,ly:tuplet-bracket::print)
3749
+ (thickness . 1.6)
3750
+ (tuplet-slur . #f)
3751
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
3752
+ (X-positions . ,ly:tuplet-bracket::calc-x-positions)
3753
+
3754
+ (meta . ((class . Spanner)
3755
+ (interfaces . (line-interface
3756
+ outside-staff-interface
3757
+ tuplet-bracket-interface))
3758
+ (description . "A tuplet bracket. See also
3759
+ @iref{TupletNumber}.")))))
3760
+
3761
+ (TupletNumber
3762
+ . (
3763
+ (avoid-slur . inside)
3764
+ (cross-staff . ,ly:tuplet-number::calc-cross-staff)
3765
+ (direction . ,tuplet-number::calc-direction)
3766
+ (font-shape . italic)
3767
+ (font-size . -2)
3768
+ (knee-to-beam . #t)
3769
+ (stencil . ,ly:tuplet-number::print)
3770
+ (text . ,tuplet-number::calc-denominator-text)
3771
+ (X-offset . ,ly:tuplet-number::calc-x-offset)
3772
+ (Y-offset . ,ly:tuplet-number::calc-y-offset)
3773
+ (meta . ((class . Spanner)
3774
+ (interfaces . (font-interface
3775
+ outside-staff-interface
3776
+ text-interface
3777
+ tuplet-number-interface))
3778
+ (description . "A tuplet number. See also
3779
+ @iref{TupletBracket}.")))))
3780
+
3781
+
3782
+ (UnaCordaPedal
3783
+ . (
3784
+ (direction . ,RIGHT)
3785
+ (extra-spacing-width . (+inf.0 . -inf.0))
3786
+ (font-shape . italic)
3787
+ (padding . 0.0) ;; padding relative to UnaCordaPedalLineSpanner
3788
+ (parent-alignment-X . #f)
3789
+ (self-alignment-X . ,CENTER)
3790
+ (stencil . ,ly:text-interface::print)
3791
+ (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
3792
+ (Y-extent . ,grob::always-Y-extent-from-stencil)
3793
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
3794
+ (meta . ((class . Item)
3795
+ (interfaces . (font-interface
3796
+ piano-pedal-script-interface
3797
+ self-alignment-interface
3798
+ text-interface))
3799
+ (description . "An una corda pedal mark. See
3800
+ also @iref{UnaCordaPedalLineSpanner}, @iref{SostenutoPedal},
3801
+ @iref{SustainPedal}, and @iref{PianoPedalBracket}.")))))
3802
+
3803
+ (UnaCordaPedalLineSpanner
3804
+ . (
3805
+ (axes . (,Y))
3806
+ (direction . ,DOWN)
3807
+ (minimum-space . 1.0)
3808
+ (outside-staff-priority . 1000)
3809
+ (padding . 1.2)
3810
+ (side-axis . ,Y)
3811
+ (staff-padding . 1.2)
3812
+ (vertical-skylines . ,grob::always-vertical-skylines-from-element-stencils)
3813
+ (X-extent . ,ly:axis-group-interface::width)
3814
+ (Y-extent . ,axis-group-interface::height)
3815
+ (Y-offset . ,side-position-interface::y-aligned-side)
3816
+ (meta . ((class . Spanner)
3817
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
3818
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
3819
+ (interfaces . (axis-group-interface
3820
+ outside-staff-interface
3821
+ piano-pedal-interface
3822
+ side-position-interface))
3823
+ (description . "An auxiliary grob providing a
3824
+ baseline to align consecutive @iref{UnaCordaPedal} grobs
3825
+ vertically.")))))
3826
+
3827
+
3828
+ (VaticanaLigature
3829
+ . (
3830
+ (flexa-width . 2.0)
3831
+ (stencil . ,ly:vaticana-ligature::print)
3832
+ (thickness . 0.6)
3833
+ (meta . ((class . Spanner)
3834
+ (interfaces . (font-interface
3835
+ vaticana-ligature-interface))
3836
+ (description . "A grob to display a melisma
3837
+ (ligature) as used in Gregorian chant. See also
3838
+ @iref{KievanLigature}, @iref{MensuralLigature}, and
3839
+ @iref{LigatureBracket}.")))))
3840
+
3841
+ (VerticalAlignment
3842
+ . (
3843
+ (axes . (,Y))
3844
+ (positioning-done . ,ly:align-interface::align-to-ideal-distances)
3845
+ (stacking-dir . -1)
3846
+ (vertical-skylines . ,ly:axis-group-interface::combine-skylines)
3847
+ (X-extent . ,ly:axis-group-interface::width)
3848
+ (Y-extent . ,axis-group-interface::height)
3849
+ (meta . ((class . Spanner)
3850
+ (object-callbacks . ((Y-common . ,ly:axis-group-interface::calc-y-common)
3851
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
3852
+ (pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)))
3853
+ (interfaces . (align-interface
3854
+ axis-group-interface))
3855
+ (description . "A top-level auxiliary grob to
3856
+ stack groups (staves, lyrics lines, etc.). See also
3857
+ @iref{StaffGrouper} and @iref{VerticalAxisGroup}.")))))
3858
+
3859
+ (VerticalAxisGroup
3860
+ . (
3861
+ (adjacent-pure-heights . ,ly:axis-group-interface::adjacent-pure-heights)
3862
+ (axes . (,Y))
3863
+ (default-staff-staff-spacing . ((basic-distance . 9)
3864
+ (minimum-distance . 8)
3865
+ (padding . 1)))
3866
+ (nonstaff-unrelatedstaff-spacing . ((padding . 0.5)))
3867
+ (outside-staff-placement-directive . left-to-right-polite)
3868
+ (staff-staff-spacing . ,(ly:make-unpure-pure-container ly:axis-group-interface::calc-staff-staff-spacing ly:axis-group-interface::calc-pure-staff-staff-spacing))
3869
+ (show-vertical-skylines . ,grob::show-skylines-if-debug-skylines-set)
3870
+ (skyline-horizontal-padding . 0.1)
3871
+ (vertical-skylines . ,ly:hara-kiri-group-spanner::calc-skylines)
3872
+ (X-extent . ,ly:axis-group-interface::width)
3873
+ (Y-extent . ,(ly:make-unpure-pure-container ly:hara-kiri-group-spanner::y-extent ly:hara-kiri-group-spanner::pure-height))
3874
+ (Y-offset . ,ly:hara-kiri-group-spanner::force-hara-kiri-callback)
3875
+ (meta . ((class . Spanner)
3876
+ (object-callbacks . (
3877
+ (X-common . ,ly:axis-group-interface::calc-x-common)
3878
+ (pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
3879
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
3880
+
3881
+ (interfaces . (axis-group-interface
3882
+ hara-kiri-group-spanner-interface
3883
+ outside-staff-axis-group-interface))
3884
+ (description . "An auxiliary grob to group
3885
+ everything contained in a context like @iref{Staff},
3886
+ @iref{Lyrics}, @iref{Dynamics}, etc. See also @iref{StaffGrouper}
3887
+ and @iref{VerticalAlignment}.")))))
3888
+
3889
+ (VoiceFollower
3890
+ . (
3891
+ (after-line-breaking . ,ly:spanner::kill-zero-spanned-time)
3892
+ (bound-details . ((right . ((attach-dir . ,CENTER)
3893
+ (padding . 1.5)
3894
+ ))
3895
+ (left . ((attach-dir . ,CENTER)
3896
+ (padding . 1.5)
3897
+ ))
3898
+ ))
3899
+ (cross-staff . #t)
3900
+ (gap . 0.5)
3901
+ (left-bound-info . ,ly:line-spanner::calc-left-bound-info)
3902
+ (normalized-endpoints . ,ly:spanner::calc-normalized-endpoints)
3903
+ (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
3904
+ (stencil . ,ly:line-spanner::print)
3905
+ (style . line)
3906
+ (meta . ((class . Spanner)
3907
+ (interfaces . (line-interface
3908
+ line-spanner-interface))
3909
+ (description . "A line to indicate staff changes
3910
+ of a voice.")))))
3911
+
3912
+ (VoltaBracket
3913
+ . (
3914
+ (baseline-skip . 1.7)
3915
+ (direction . ,UP)
3916
+ (edge-height . (2.0 . 2.0)) ;; staff-space;
3917
+ (font-encoding . fetaText)
3918
+ (font-features . ("cv47" "ss01"))
3919
+ (font-size . -4)
3920
+ (shorten-pair . ,ly:volta-bracket::calc-shorten-pair)
3921
+ (stencil . ,ly:volta-bracket-interface::print)
3922
+ (thickness . 1.6) ;; line-thickness
3923
+ (word-space . 0.6)
3924
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
3925
+ (Y-extent . ,(grob::unpure-Y-extent-from-stencil volta-bracket-interface::pure-height))
3926
+ (meta . ((class . Spanner)
3927
+ (interfaces . (font-interface
3928
+ horizontal-bracket-interface
3929
+ line-interface
3930
+ side-position-interface
3931
+ text-interface
3932
+ volta-bracket-interface
3933
+ volta-interface))
3934
+ (description . "A volta bracket. See also
3935
+ @iref{VoltaBracketSpanner}.")))))
3936
+
3937
+ (VoltaBracketSpanner
3938
+ . (
3939
+ (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff)
3940
+ (axes . (,Y))
3941
+ (direction . ,UP)
3942
+ (outside-staff-priority . 600)
3943
+ (padding . 1)
3944
+ (side-axis . ,Y)
3945
+ (vertical-skylines . ,grob::always-vertical-skylines-from-element-stencils)
3946
+ (X-extent . ,ly:axis-group-interface::width)
3947
+ (Y-extent . ,axis-group-interface::height)
3948
+ (Y-offset . ,side-position-interface::y-aligned-side)
3949
+ (meta . ((class . Spanner)
3950
+ (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
3951
+ (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
3952
+ (interfaces . (axis-group-interface
3953
+ outside-staff-interface
3954
+ side-position-interface
3955
+ volta-interface))
3956
+ (description . "An auxiliary grob providing a
3957
+ baseline to align consecutive @iref{VoltaBracket} grobs
3958
+ vertically.")))))
3959
+
3960
+ (VowelTransition
3961
+ . (
3962
+ (after-line-breaking . ,ly:spanner::kill-zero-spanned-time)
3963
+ (arrow-length . 0.5)
3964
+ (arrow-width . 0.5)
3965
+ (bound-details . ((left . ((padding . 0.14)
3966
+ (attach-dir . ,RIGHT)
3967
+ ))
3968
+ (right-broken . ((padding . 0)))
3969
+ (left-broken . ((padding . 0)))
3970
+ (right . ((padding . 0.14)
3971
+ (attach-dir . ,LEFT)
3972
+ (arrow . #t)
3973
+ ))))
3974
+ (left-bound-info . ,ly:horizontal-line-spanner::calc-left-bound-info)
3975
+ (minimum-length . 1.0)
3976
+ (right-bound-info . ,ly:horizontal-line-spanner::calc-right-bound-info)
3977
+ (springs-and-rods . ,ly:vowel-transition::set-spacing-rods)
3978
+ (stencil . ,ly:line-spanner::print)
3979
+ (style . line)
3980
+ (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
3981
+ (Y-offset . 0.5)
3982
+ (meta . ((class . Spanner)
3983
+ (interfaces . (horizontal-line-spanner-interface
3984
+ line-interface
3985
+ line-spanner-interface
3986
+ lyric-interface))
3987
+ (description . "A vowel transition in
3988
+ lyrics. See also @iref{LyricHyphen}.")))))
3989
+
3990
+ ))
3991
+
3992
+ (define (completize-grob-entry x)
3993
+ "Transplant assoc key into @code{meta.name} of @var{X}.
3994
+ Add @code{grob-interface}. If @code{meta.class} is provided,
3995
+ turn it into a one-element list in @code{meta.classes}.
3996
+ "
3997
+ (let* ((name-sym (car x))
3998
+ ;; Make (shallow) copies of the list and its items because we modify
3999
+ ;; them below.
4000
+ (grob-entry (map list-copy (cdr x)))
4001
+ (meta-entry (map list-copy (assoc-get 'meta grob-entry)))
4002
+ (class-entry
4003
+ (assoc-get 'class meta-entry #f))
4004
+ (ifaces-entry
4005
+ (assoc-get 'interfaces meta-entry)))
4006
+
4007
+ (if class-entry
4008
+ (set! meta-entry
4009
+ (assoc-set! meta-entry
4010
+ 'classes
4011
+ (list class-entry))))
4012
+
4013
+ (set! ifaces-entry (uniq-list (sort ifaces-entry symbol<?)))
4014
+ (set! ifaces-entry (cons 'grob-interface ifaces-entry))
4015
+
4016
+ (set! meta-entry (assoc-set! meta-entry 'name name-sym))
4017
+ (set! meta-entry (assoc-set! meta-entry 'interfaces ifaces-entry))
4018
+ (set! grob-entry (assoc-set! grob-entry 'meta meta-entry))
4019
+
4020
+ ;; make sure that \property Foo.Bar =\turnOff doesn't complain
4021
+ (set-object-property! name-sym 'translation-type? ly:grob-properties?)
4022
+ (set-object-property! name-sym 'is-grob? #t)
4023
+
4024
+ (cons name-sym grob-entry)))
4025
+
4026
+ (define-session-public all-grob-descriptions
4027
+ (sort (map completize-grob-entry all-grob-descriptions-data) alist<?))