LilyPond-Ruby 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1109) 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/lilypond/2.24.1/ccache/lily/accreg.go +0 -0
  330. data/lib/lilypond/2.24.1/ccache/lily/auto-beam.go +0 -0
  331. data/lib/lilypond/2.24.1/ccache/lily/autochange.go +0 -0
  332. data/lib/lilypond/2.24.1/ccache/lily/backend-library.go +0 -0
  333. data/lib/lilypond/2.24.1/ccache/lily/bar-line.go +0 -0
  334. data/lib/lilypond/2.24.1/ccache/lily/breath.go +0 -0
  335. data/lib/lilypond/2.24.1/ccache/lily/c++.go +0 -0
  336. data/lib/lilypond/2.24.1/ccache/lily/chord-entry.go +0 -0
  337. data/lib/lilypond/2.24.1/ccache/lily/chord-ignatzek-names.go +0 -0
  338. data/lib/lilypond/2.24.1/ccache/lily/chord-name.go +0 -0
  339. data/lib/lilypond/2.24.1/ccache/lily/clip-region.go +0 -0
  340. data/lib/lilypond/2.24.1/ccache/lily/color.go +0 -0
  341. data/lib/lilypond/2.24.1/ccache/lily/curried-definitions.go +0 -0
  342. data/lib/lilypond/2.24.1/ccache/lily/define-context-properties.go +0 -0
  343. data/lib/lilypond/2.24.1/ccache/lily/define-event-classes.go +0 -0
  344. data/lib/lilypond/2.24.1/ccache/lily/define-grob-interfaces.go +0 -0
  345. data/lib/lilypond/2.24.1/ccache/lily/define-grob-properties.go +0 -0
  346. data/lib/lilypond/2.24.1/ccache/lily/define-grobs.go +0 -0
  347. data/lib/lilypond/2.24.1/ccache/lily/define-markup-commands.go +0 -0
  348. data/lib/lilypond/2.24.1/ccache/lily/define-music-callbacks.go +0 -0
  349. data/lib/lilypond/2.24.1/ccache/lily/define-music-display-methods.go +0 -0
  350. data/lib/lilypond/2.24.1/ccache/lily/define-music-properties.go +0 -0
  351. data/lib/lilypond/2.24.1/ccache/lily/define-music-types.go +0 -0
  352. data/lib/lilypond/2.24.1/ccache/lily/define-note-names.go +0 -0
  353. data/lib/lilypond/2.24.1/ccache/lily/define-stencil-commands.go +0 -0
  354. data/lib/lilypond/2.24.1/ccache/lily/define-woodwind-diagrams.go +0 -0
  355. data/lib/lilypond/2.24.1/ccache/lily/display-lily.go +0 -0
  356. data/lib/lilypond/2.24.1/ccache/lily/display-woodwind-diagrams.go +0 -0
  357. data/lib/lilypond/2.24.1/ccache/lily/file-cache.go +0 -0
  358. data/lib/lilypond/2.24.1/ccache/lily/flag-styles.go +0 -0
  359. data/lib/lilypond/2.24.1/ccache/lily/font-encodings.go +0 -0
  360. data/lib/lilypond/2.24.1/ccache/lily/font.go +0 -0
  361. data/lib/lilypond/2.24.1/ccache/lily/framework-cairo.go +0 -0
  362. data/lib/lilypond/2.24.1/ccache/lily/framework-ps.go +0 -0
  363. data/lib/lilypond/2.24.1/ccache/lily/framework-svg.go +0 -0
  364. data/lib/lilypond/2.24.1/ccache/lily/fret-diagrams.go +0 -0
  365. data/lib/lilypond/2.24.1/ccache/lily/graphviz.go +0 -0
  366. data/lib/lilypond/2.24.1/ccache/lily/harp-pedals.go +0 -0
  367. data/lib/lilypond/2.24.1/ccache/lily/layout-beam.go +0 -0
  368. data/lib/lilypond/2.24.1/ccache/lily/layout-slur.go +0 -0
  369. data/lib/lilypond/2.24.1/ccache/lily/lily-library.go +0 -0
  370. data/lib/lilypond/2.24.1/ccache/lily/lily.go +0 -0
  371. data/lib/lilypond/2.24.1/ccache/lily/ly-syntax-constructors.go +0 -0
  372. data/lib/lilypond/2.24.1/ccache/lily/markup-macros.go +0 -0
  373. data/lib/lilypond/2.24.1/ccache/lily/markup.go +0 -0
  374. data/lib/lilypond/2.24.1/ccache/lily/midi.go +0 -0
  375. data/lib/lilypond/2.24.1/ccache/lily/modal-transforms.go +0 -0
  376. data/lib/lilypond/2.24.1/ccache/lily/music-functions.go +0 -0
  377. data/lib/lilypond/2.24.1/ccache/lily/output-lib.go +0 -0
  378. data/lib/lilypond/2.24.1/ccache/lily/output-ps.go +0 -0
  379. data/lib/lilypond/2.24.1/ccache/lily/output-svg.go +0 -0
  380. data/lib/lilypond/2.24.1/ccache/lily/page.go +0 -0
  381. data/lib/lilypond/2.24.1/ccache/lily/paper-system.go +0 -0
  382. data/lib/lilypond/2.24.1/ccache/lily/paper.go +0 -0
  383. data/lib/lilypond/2.24.1/ccache/lily/parser-clef.go +0 -0
  384. data/lib/lilypond/2.24.1/ccache/lily/parser-ly-from-scheme.go +0 -0
  385. data/lib/lilypond/2.24.1/ccache/lily/part-combiner.go +0 -0
  386. data/lib/lilypond/2.24.1/ccache/lily/predefined-fretboards.go +0 -0
  387. data/lib/lilypond/2.24.1/ccache/lily/ps-to-png.go +0 -0
  388. data/lib/lilypond/2.24.1/ccache/lily/scheme-engravers.go +0 -0
  389. data/lib/lilypond/2.24.1/ccache/lily/scheme-performers.go +0 -0
  390. data/lib/lilypond/2.24.1/ccache/lily/script.go +0 -0
  391. data/lib/lilypond/2.24.1/ccache/lily/skyline.go +0 -0
  392. data/lib/lilypond/2.24.1/ccache/lily/song-util.go +0 -0
  393. data/lib/lilypond/2.24.1/ccache/lily/song.go +0 -0
  394. data/lib/lilypond/2.24.1/ccache/lily/stencil.go +0 -0
  395. data/lib/lilypond/2.24.1/ccache/lily/tablature.go +0 -0
  396. data/lib/lilypond/2.24.1/ccache/lily/time-signature-settings.go +0 -0
  397. data/lib/lilypond/2.24.1/ccache/lily/time-signature.go +0 -0
  398. data/lib/lilypond/2.24.1/ccache/lily/titling.go +0 -0
  399. data/lib/lilypond/2.24.1/ccache/lily/to-xml.go +0 -0
  400. data/lib/lilypond/2.24.1/ccache/lily/translation-functions.go +0 -0
  401. data/share/emacs/site-lisp/lilypond-font-lock.el +208 -0
  402. data/share/emacs/site-lisp/lilypond-indent.el +605 -0
  403. data/share/emacs/site-lisp/lilypond-init.el +21 -0
  404. data/share/emacs/site-lisp/lilypond-mode.el +1204 -0
  405. data/share/emacs/site-lisp/lilypond-song.el +556 -0
  406. data/share/emacs/site-lisp/lilypond-what-beat.el +279 -0
  407. data/share/emacs/site-lisp/lilypond-words.el +1428 -0
  408. data/share/guile/2.2/guile-procedures.txt +8860 -0
  409. data/share/guile/2.2/ice-9/and-let-star.scm +73 -0
  410. data/share/guile/2.2/ice-9/arrays.scm +70 -0
  411. data/share/guile/2.2/ice-9/atomic.scm +38 -0
  412. data/share/guile/2.2/ice-9/binary-ports.scm +53 -0
  413. data/share/guile/2.2/ice-9/boot-9.scm +4131 -0
  414. data/share/guile/2.2/ice-9/buffered-input.scm +109 -0
  415. data/share/guile/2.2/ice-9/calling.scm +326 -0
  416. data/share/guile/2.2/ice-9/channel.scm +170 -0
  417. data/share/guile/2.2/ice-9/command-line.scm +477 -0
  418. data/share/guile/2.2/ice-9/common-list.scm +278 -0
  419. data/share/guile/2.2/ice-9/control.scm +110 -0
  420. data/share/guile/2.2/ice-9/curried-definitions.scm +57 -0
  421. data/share/guile/2.2/ice-9/debug.scm +25 -0
  422. data/share/guile/2.2/ice-9/deprecated.scm +93 -0
  423. data/share/guile/2.2/ice-9/documentation.scm +203 -0
  424. data/share/guile/2.2/ice-9/eval-string.scm +90 -0
  425. data/share/guile/2.2/ice-9/eval.scm +723 -0
  426. data/share/guile/2.2/ice-9/expect.scm +171 -0
  427. data/share/guile/2.2/ice-9/fdes-finalizers.scm +25 -0
  428. data/share/guile/2.2/ice-9/format.scm +1626 -0
  429. data/share/guile/2.2/ice-9/ftw.scm +564 -0
  430. data/share/guile/2.2/ice-9/futures.scm +308 -0
  431. data/share/guile/2.2/ice-9/gap-buffer.scm +283 -0
  432. data/share/guile/2.2/ice-9/getopt-long.scm +371 -0
  433. data/share/guile/2.2/ice-9/hash-table.scm +45 -0
  434. data/share/guile/2.2/ice-9/hcons.scm +80 -0
  435. data/share/guile/2.2/ice-9/history.scm +65 -0
  436. data/share/guile/2.2/ice-9/i18n.scm +531 -0
  437. data/share/guile/2.2/ice-9/iconv.scm +95 -0
  438. data/share/guile/2.2/ice-9/lineio.scm +115 -0
  439. data/share/guile/2.2/ice-9/list.scm +36 -0
  440. data/share/guile/2.2/ice-9/local-eval.scm +261 -0
  441. data/share/guile/2.2/ice-9/ls.scm +94 -0
  442. data/share/guile/2.2/ice-9/mapping.scm +118 -0
  443. data/share/guile/2.2/ice-9/match.scm +59 -0
  444. data/share/guile/2.2/ice-9/match.upstream.scm +917 -0
  445. data/share/guile/2.2/ice-9/networking.scm +94 -0
  446. data/share/guile/2.2/ice-9/null.scm +34 -0
  447. data/share/guile/2.2/ice-9/occam-channel.scm +261 -0
  448. data/share/guile/2.2/ice-9/optargs.scm +381 -0
  449. data/share/guile/2.2/ice-9/peg/cache.scm +45 -0
  450. data/share/guile/2.2/ice-9/peg/codegen.scm +359 -0
  451. data/share/guile/2.2/ice-9/peg/simplify-tree.scm +97 -0
  452. data/share/guile/2.2/ice-9/peg/string-peg.scm +273 -0
  453. data/share/guile/2.2/ice-9/peg/using-parsers.scm +116 -0
  454. data/share/guile/2.2/ice-9/peg.scm +42 -0
  455. data/share/guile/2.2/ice-9/poe.scm +116 -0
  456. data/share/guile/2.2/ice-9/poll.scm +172 -0
  457. data/share/guile/2.2/ice-9/popen.scm +178 -0
  458. data/share/guile/2.2/ice-9/ports.scm +566 -0
  459. data/share/guile/2.2/ice-9/posix.scm +75 -0
  460. data/share/guile/2.2/ice-9/pretty-print.scm +483 -0
  461. data/share/guile/2.2/ice-9/psyntax-pp.scm +3542 -0
  462. data/share/guile/2.2/ice-9/psyntax.scm +3326 -0
  463. data/share/guile/2.2/ice-9/q.scm +153 -0
  464. data/share/guile/2.2/ice-9/quasisyntax.scm +136 -0
  465. data/share/guile/2.2/ice-9/r5rs.scm +45 -0
  466. data/share/guile/2.2/ice-9/r6rs-libraries.scm +242 -0
  467. data/share/guile/2.2/ice-9/rdelim.scm +208 -0
  468. data/share/guile/2.2/ice-9/receive.scm +26 -0
  469. data/share/guile/2.2/ice-9/regex.scm +229 -0
  470. data/share/guile/2.2/ice-9/runq.scm +241 -0
  471. data/share/guile/2.2/ice-9/rw.scm +27 -0
  472. data/share/guile/2.2/ice-9/safe-r5rs.scm +145 -0
  473. data/share/guile/2.2/ice-9/safe.scm +34 -0
  474. data/share/guile/2.2/ice-9/sandbox.scm +1399 -0
  475. data/share/guile/2.2/ice-9/save-stack.scm +58 -0
  476. data/share/guile/2.2/ice-9/scm-style-repl.scm +279 -0
  477. data/share/guile/2.2/ice-9/serialize.scm +114 -0
  478. data/share/guile/2.2/ice-9/session.scm +530 -0
  479. data/share/guile/2.2/ice-9/slib.scm +33 -0
  480. data/share/guile/2.2/ice-9/stack-catch.scm +47 -0
  481. data/share/guile/2.2/ice-9/streams.scm +168 -0
  482. data/share/guile/2.2/ice-9/string-fun.scm +280 -0
  483. data/share/guile/2.2/ice-9/suspendable-ports.scm +788 -0
  484. data/share/guile/2.2/ice-9/syncase.scm +37 -0
  485. data/share/guile/2.2/ice-9/textual-ports.scm +70 -0
  486. data/share/guile/2.2/ice-9/threads.scm +392 -0
  487. data/share/guile/2.2/ice-9/time.scm +58 -0
  488. data/share/guile/2.2/ice-9/top-repl.scm +78 -0
  489. data/share/guile/2.2/ice-9/unicode.scm +26 -0
  490. data/share/guile/2.2/ice-9/vlist.scm +595 -0
  491. data/share/guile/2.2/ice-9/weak-vector.scm +31 -0
  492. data/share/guile/2.2/language/brainfuck/compile-scheme.scm +123 -0
  493. data/share/guile/2.2/language/brainfuck/compile-tree-il.scm +184 -0
  494. data/share/guile/2.2/language/brainfuck/parse.scm +95 -0
  495. data/share/guile/2.2/language/brainfuck/spec.scm +43 -0
  496. data/share/guile/2.2/language/bytecode/spec.scm +42 -0
  497. data/share/guile/2.2/language/bytecode.scm +104 -0
  498. data/share/guile/2.2/language/cps/closure-conversion.scm +848 -0
  499. data/share/guile/2.2/language/cps/compile-bytecode.scm +610 -0
  500. data/share/guile/2.2/language/cps/constructors.scm +106 -0
  501. data/share/guile/2.2/language/cps/contification.scm +448 -0
  502. data/share/guile/2.2/language/cps/cse.scm +414 -0
  503. data/share/guile/2.2/language/cps/dce.scm +363 -0
  504. data/share/guile/2.2/language/cps/effects-analysis.scm +597 -0
  505. data/share/guile/2.2/language/cps/elide-values.scm +88 -0
  506. data/share/guile/2.2/language/cps/handle-interrupts.scm +69 -0
  507. data/share/guile/2.2/language/cps/intmap.scm +765 -0
  508. data/share/guile/2.2/language/cps/intset.scm +830 -0
  509. data/share/guile/2.2/language/cps/licm.scm +308 -0
  510. data/share/guile/2.2/language/cps/optimize.scm +135 -0
  511. data/share/guile/2.2/language/cps/peel-loops.scm +287 -0
  512. data/share/guile/2.2/language/cps/primitives.scm +141 -0
  513. data/share/guile/2.2/language/cps/prune-bailouts.scm +86 -0
  514. data/share/guile/2.2/language/cps/prune-top-level-scopes.scm +63 -0
  515. data/share/guile/2.2/language/cps/reify-primitives.scm +179 -0
  516. data/share/guile/2.2/language/cps/renumber.scm +217 -0
  517. data/share/guile/2.2/language/cps/rotate-loops.scm +239 -0
  518. data/share/guile/2.2/language/cps/self-references.scm +79 -0
  519. data/share/guile/2.2/language/cps/simplify.scm +274 -0
  520. data/share/guile/2.2/language/cps/slot-allocation.scm +1058 -0
  521. data/share/guile/2.2/language/cps/spec.scm +51 -0
  522. data/share/guile/2.2/language/cps/specialize-numbers.scm +724 -0
  523. data/share/guile/2.2/language/cps/specialize-primcalls.scm +87 -0
  524. data/share/guile/2.2/language/cps/split-rec.scm +174 -0
  525. data/share/guile/2.2/language/cps/type-checks.scm +72 -0
  526. data/share/guile/2.2/language/cps/type-fold.scm +455 -0
  527. data/share/guile/2.2/language/cps/types.scm +1826 -0
  528. data/share/guile/2.2/language/cps/utils.scm +550 -0
  529. data/share/guile/2.2/language/cps/verify.scm +304 -0
  530. data/share/guile/2.2/language/cps/with-cps.scm +145 -0
  531. data/share/guile/2.2/language/cps.scm +358 -0
  532. data/share/guile/2.2/language/ecmascript/array.scm +121 -0
  533. data/share/guile/2.2/language/ecmascript/base.scm +251 -0
  534. data/share/guile/2.2/language/ecmascript/compile-tree-il.scm +576 -0
  535. data/share/guile/2.2/language/ecmascript/function.scm +78 -0
  536. data/share/guile/2.2/language/ecmascript/impl.scm +169 -0
  537. data/share/guile/2.2/language/ecmascript/parse.scm +352 -0
  538. data/share/guile/2.2/language/ecmascript/spec.scm +37 -0
  539. data/share/guile/2.2/language/ecmascript/tokenize.scm +513 -0
  540. data/share/guile/2.2/language/elisp/bindings.scm +107 -0
  541. data/share/guile/2.2/language/elisp/boot.el +617 -0
  542. data/share/guile/2.2/language/elisp/compile-tree-il.scm +812 -0
  543. data/share/guile/2.2/language/elisp/falias.scm +47 -0
  544. data/share/guile/2.2/language/elisp/lexer.scm +430 -0
  545. data/share/guile/2.2/language/elisp/parser.scm +222 -0
  546. data/share/guile/2.2/language/elisp/runtime/function-slot.scm +63 -0
  547. data/share/guile/2.2/language/elisp/runtime/value-slot.scm +24 -0
  548. data/share/guile/2.2/language/elisp/runtime.scm +153 -0
  549. data/share/guile/2.2/language/elisp/spec.scm +43 -0
  550. data/share/guile/2.2/language/scheme/compile-tree-il.scm +33 -0
  551. data/share/guile/2.2/language/scheme/decompile-tree-il.scm +796 -0
  552. data/share/guile/2.2/language/scheme/spec.scm +63 -0
  553. data/share/guile/2.2/language/tree-il/analyze.scm +1568 -0
  554. data/share/guile/2.2/language/tree-il/canonicalize.scm +82 -0
  555. data/share/guile/2.2/language/tree-il/compile-cps.scm +1149 -0
  556. data/share/guile/2.2/language/tree-il/debug.scm +246 -0
  557. data/share/guile/2.2/language/tree-il/effects.scm +591 -0
  558. data/share/guile/2.2/language/tree-il/fix-letrec.scm +314 -0
  559. data/share/guile/2.2/language/tree-il/optimize.scm +43 -0
  560. data/share/guile/2.2/language/tree-il/peval.scm +1669 -0
  561. data/share/guile/2.2/language/tree-il/primitives.scm +630 -0
  562. data/share/guile/2.2/language/tree-il/spec.scm +46 -0
  563. data/share/guile/2.2/language/tree-il.scm +630 -0
  564. data/share/guile/2.2/language/value/spec.scm +30 -0
  565. data/share/guile/2.2/oop/goops/accessors.scm +72 -0
  566. data/share/guile/2.2/oop/goops/active-slot.scm +63 -0
  567. data/share/guile/2.2/oop/goops/composite-slot.scm +83 -0
  568. data/share/guile/2.2/oop/goops/describe.scm +189 -0
  569. data/share/guile/2.2/oop/goops/internal.scm +30 -0
  570. data/share/guile/2.2/oop/goops/save.scm +874 -0
  571. data/share/guile/2.2/oop/goops/simple.scm +30 -0
  572. data/share/guile/2.2/oop/goops/stklos.scm +74 -0
  573. data/share/guile/2.2/oop/goops.scm +3176 -0
  574. data/share/guile/2.2/rnrs/arithmetic/bitwise.scm +92 -0
  575. data/share/guile/2.2/rnrs/arithmetic/fixnums.scm +291 -0
  576. data/share/guile/2.2/rnrs/arithmetic/flonums.scm +203 -0
  577. data/share/guile/2.2/rnrs/base.scm +291 -0
  578. data/share/guile/2.2/rnrs/bytevectors.scm +83 -0
  579. data/share/guile/2.2/rnrs/conditions.scm +225 -0
  580. data/share/guile/2.2/rnrs/control.scm +22 -0
  581. data/share/guile/2.2/rnrs/enums.scm +152 -0
  582. data/share/guile/2.2/rnrs/eval.scm +39 -0
  583. data/share/guile/2.2/rnrs/exceptions.scm +276 -0
  584. data/share/guile/2.2/rnrs/files.scm +96 -0
  585. data/share/guile/2.2/rnrs/hashtables.scm +190 -0
  586. data/share/guile/2.2/rnrs/io/ports.scm +554 -0
  587. data/share/guile/2.2/rnrs/io/simple.scm +167 -0
  588. data/share/guile/2.2/rnrs/lists.scm +55 -0
  589. data/share/guile/2.2/rnrs/mutable-pairs.scm +23 -0
  590. data/share/guile/2.2/rnrs/mutable-strings.scm +23 -0
  591. data/share/guile/2.2/rnrs/programs.scm +22 -0
  592. data/share/guile/2.2/rnrs/r5rs.scm +34 -0
  593. data/share/guile/2.2/rnrs/records/inspection.scm +81 -0
  594. data/share/guile/2.2/rnrs/records/procedural.scm +289 -0
  595. data/share/guile/2.2/rnrs/records/syntactic.scm +248 -0
  596. data/share/guile/2.2/rnrs/sorting.scm +27 -0
  597. data/share/guile/2.2/rnrs/syntax-case.scm +68 -0
  598. data/share/guile/2.2/rnrs/unicode.scm +104 -0
  599. data/share/guile/2.2/rnrs.scm +289 -0
  600. data/share/guile/2.2/scripts/api-diff.scm +179 -0
  601. data/share/guile/2.2/scripts/autofrisk.scm +218 -0
  602. data/share/guile/2.2/scripts/compile.scm +273 -0
  603. data/share/guile/2.2/scripts/disassemble.scm +38 -0
  604. data/share/guile/2.2/scripts/display-commentary.scm +67 -0
  605. data/share/guile/2.2/scripts/doc-snarf.scm +439 -0
  606. data/share/guile/2.2/scripts/frisk.scm +290 -0
  607. data/share/guile/2.2/scripts/generate-autoload.scm +144 -0
  608. data/share/guile/2.2/scripts/help.scm +188 -0
  609. data/share/guile/2.2/scripts/lint.scm +318 -0
  610. data/share/guile/2.2/scripts/list.scm +91 -0
  611. data/share/guile/2.2/scripts/punify.scm +87 -0
  612. data/share/guile/2.2/scripts/read-rfc822.scm +131 -0
  613. data/share/guile/2.2/scripts/read-scheme-source.scm +282 -0
  614. data/share/guile/2.2/scripts/read-text-outline.scm +253 -0
  615. data/share/guile/2.2/scripts/scan-api.scm +223 -0
  616. data/share/guile/2.2/scripts/snarf-check-and-output-texi.scm +303 -0
  617. data/share/guile/2.2/scripts/snarf-guile-m4-docs.scm +86 -0
  618. data/share/guile/2.2/scripts/summarize-guile-TODO.scm +213 -0
  619. data/share/guile/2.2/scripts/use2dot.scm +110 -0
  620. data/share/guile/2.2/srfi/srfi-1.scm +1061 -0
  621. data/share/guile/2.2/srfi/srfi-10.scm +89 -0
  622. data/share/guile/2.2/srfi/srfi-11.scm +146 -0
  623. data/share/guile/2.2/srfi/srfi-111.scm +37 -0
  624. data/share/guile/2.2/srfi/srfi-13.scm +132 -0
  625. data/share/guile/2.2/srfi/srfi-14.scm +99 -0
  626. data/share/guile/2.2/srfi/srfi-16.scm +51 -0
  627. data/share/guile/2.2/srfi/srfi-17.scm +174 -0
  628. data/share/guile/2.2/srfi/srfi-18.scm +382 -0
  629. data/share/guile/2.2/srfi/srfi-19.scm +1470 -0
  630. data/share/guile/2.2/srfi/srfi-2.scm +31 -0
  631. data/share/guile/2.2/srfi/srfi-26.scm +66 -0
  632. data/share/guile/2.2/srfi/srfi-27.scm +96 -0
  633. data/share/guile/2.2/srfi/srfi-28.scm +34 -0
  634. data/share/guile/2.2/srfi/srfi-31.scm +35 -0
  635. data/share/guile/2.2/srfi/srfi-34.scm +84 -0
  636. data/share/guile/2.2/srfi/srfi-35.scm +351 -0
  637. data/share/guile/2.2/srfi/srfi-37.scm +234 -0
  638. data/share/guile/2.2/srfi/srfi-38.scm +207 -0
  639. data/share/guile/2.2/srfi/srfi-39.scm +55 -0
  640. data/share/guile/2.2/srfi/srfi-4/gnu.scm +80 -0
  641. data/share/guile/2.2/srfi/srfi-4.scm +118 -0
  642. data/share/guile/2.2/srfi/srfi-41.scm +505 -0
  643. data/share/guile/2.2/srfi/srfi-42/ec.scm +1053 -0
  644. data/share/guile/2.2/srfi/srfi-42.scm +66 -0
  645. data/share/guile/2.2/srfi/srfi-43.scm +1077 -0
  646. data/share/guile/2.2/srfi/srfi-45.scm +93 -0
  647. data/share/guile/2.2/srfi/srfi-6.scm +29 -0
  648. data/share/guile/2.2/srfi/srfi-60.scm +73 -0
  649. data/share/guile/2.2/srfi/srfi-64/testing.scm +1040 -0
  650. data/share/guile/2.2/srfi/srfi-64.scm +55 -0
  651. data/share/guile/2.2/srfi/srfi-67/compare.scm +686 -0
  652. data/share/guile/2.2/srfi/srfi-67.scm +88 -0
  653. data/share/guile/2.2/srfi/srfi-69.scm +336 -0
  654. data/share/guile/2.2/srfi/srfi-71.scm +267 -0
  655. data/share/guile/2.2/srfi/srfi-8.scm +31 -0
  656. data/share/guile/2.2/srfi/srfi-88.scm +53 -0
  657. data/share/guile/2.2/srfi/srfi-9/gnu.scm +168 -0
  658. data/share/guile/2.2/srfi/srfi-9.scm +351 -0
  659. data/share/guile/2.2/srfi/srfi-98.scm +44 -0
  660. data/share/guile/2.2/statprof.scm +988 -0
  661. data/share/guile/2.2/sxml/apply-templates.scm +102 -0
  662. data/share/guile/2.2/sxml/fold.scm +250 -0
  663. data/share/guile/2.2/sxml/match.scm +75 -0
  664. data/share/guile/2.2/sxml/simple.scm +408 -0
  665. data/share/guile/2.2/sxml/ssax/input-parse.scm +180 -0
  666. data/share/guile/2.2/sxml/ssax.scm +265 -0
  667. data/share/guile/2.2/sxml/sxml-match.ss +1181 -0
  668. data/share/guile/2.2/sxml/transform.scm +298 -0
  669. data/share/guile/2.2/sxml/upstream/SSAX.scm +3235 -0
  670. data/share/guile/2.2/sxml/upstream/SXML-tree-trans.scm +249 -0
  671. data/share/guile/2.2/sxml/upstream/SXPath-old.scm +1216 -0
  672. data/share/guile/2.2/sxml/upstream/assert.scm +35 -0
  673. data/share/guile/2.2/sxml/upstream/input-parse.scm +326 -0
  674. data/share/guile/2.2/sxml/xpath.scm +493 -0
  675. data/share/guile/2.2/system/base/ck.scm +55 -0
  676. data/share/guile/2.2/system/base/compile.scm +282 -0
  677. data/share/guile/2.2/system/base/lalr.scm +51 -0
  678. data/share/guile/2.2/system/base/lalr.upstream.scm +2096 -0
  679. data/share/guile/2.2/system/base/language.scm +119 -0
  680. data/share/guile/2.2/system/base/message.scm +238 -0
  681. data/share/guile/2.2/system/base/pmatch.scm +68 -0
  682. data/share/guile/2.2/system/base/syntax.scm +299 -0
  683. data/share/guile/2.2/system/base/target.scm +152 -0
  684. data/share/guile/2.2/system/base/types.scm +561 -0
  685. data/share/guile/2.2/system/foreign-object.scm +91 -0
  686. data/share/guile/2.2/system/foreign.scm +200 -0
  687. data/share/guile/2.2/system/repl/command.scm +946 -0
  688. data/share/guile/2.2/system/repl/common.scm +263 -0
  689. data/share/guile/2.2/system/repl/coop-server.scm +200 -0
  690. data/share/guile/2.2/system/repl/debug.scm +210 -0
  691. data/share/guile/2.2/system/repl/describe.scm +347 -0
  692. data/share/guile/2.2/system/repl/error-handling.scm +183 -0
  693. data/share/guile/2.2/system/repl/repl.scm +233 -0
  694. data/share/guile/2.2/system/repl/server.scm +332 -0
  695. data/share/guile/2.2/system/syntax.scm +33 -0
  696. data/share/guile/2.2/system/vm/assembler.scm +2614 -0
  697. data/share/guile/2.2/system/vm/coverage.scm +351 -0
  698. data/share/guile/2.2/system/vm/debug.scm +766 -0
  699. data/share/guile/2.2/system/vm/disassembler.scm +658 -0
  700. data/share/guile/2.2/system/vm/dwarf.scm +1852 -0
  701. data/share/guile/2.2/system/vm/elf.scm +1042 -0
  702. data/share/guile/2.2/system/vm/frame.scm +485 -0
  703. data/share/guile/2.2/system/vm/inspect.scm +188 -0
  704. data/share/guile/2.2/system/vm/linker.scm +732 -0
  705. data/share/guile/2.2/system/vm/loader.scm +27 -0
  706. data/share/guile/2.2/system/vm/program.scm +312 -0
  707. data/share/guile/2.2/system/vm/trace.scm +121 -0
  708. data/share/guile/2.2/system/vm/trap-state.scm +302 -0
  709. data/share/guile/2.2/system/vm/traps.scm +608 -0
  710. data/share/guile/2.2/system/vm/vm.scm +32 -0
  711. data/share/guile/2.2/system/xref.scm +369 -0
  712. data/share/guile/2.2/texinfo/docbook.scm +240 -0
  713. data/share/guile/2.2/texinfo/html.scm +279 -0
  714. data/share/guile/2.2/texinfo/indexing.scm +75 -0
  715. data/share/guile/2.2/texinfo/plain-text.scm +322 -0
  716. data/share/guile/2.2/texinfo/reflection.scm +585 -0
  717. data/share/guile/2.2/texinfo/serialize.scm +300 -0
  718. data/share/guile/2.2/texinfo/string-utils.scm +410 -0
  719. data/share/guile/2.2/texinfo.scm +1263 -0
  720. data/share/guile/2.2/web/client.scm +513 -0
  721. data/share/guile/2.2/web/http.scm +2043 -0
  722. data/share/guile/2.2/web/request.scm +326 -0
  723. data/share/guile/2.2/web/response.scm +379 -0
  724. data/share/guile/2.2/web/server/http.scm +183 -0
  725. data/share/guile/2.2/web/server.scm +397 -0
  726. data/share/guile/2.2/web/uri.scm +552 -0
  727. data/share/lilypond/2.24.1/fontconfig/0bd3dc0958fa2205aaaa8ebb13e2872b-le64.cache-8 +0 -0
  728. data/share/lilypond/2.24.1/fontconfig/188ac73a183f12857f63bb60a4a6d603-le64.cache-8 +0 -0
  729. data/share/lilypond/2.24.1/fontconfig/32b6488e5b8292a2e95c79d947e009e8-le64.cache-8 +0 -0
  730. data/share/lilypond/2.24.1/fontconfig/3830d5c3ddfd5cd38a049b759396e72e-le64.cache-8 +0 -0
  731. data/share/lilypond/2.24.1/fontconfig/3f7329c5293ffd510edef78f73874cfd-le64.cache-8 +0 -0
  732. data/share/lilypond/2.24.1/fontconfig/4c599c202bc5c08e2d34565a40eac3b2-le64.cache-8 +0 -0
  733. data/share/lilypond/2.24.1/fontconfig/57e423e26b20ab21d0f2f29c145174c3-le64.cache-8 +0 -0
  734. data/share/lilypond/2.24.1/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-le64.cache-8 +0 -0
  735. data/share/lilypond/2.24.1/fontconfig/826f6b6ef79022e2eac8af26bf4b62f2-le64.cache-8 +0 -0
  736. data/share/lilypond/2.24.1/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-le64.cache-8 +0 -0
  737. data/share/lilypond/2.24.1/fontconfig/95530828ff6c81d309f8258d8d02a23e-le64.cache-8 +0 -0
  738. data/share/lilypond/2.24.1/fontconfig/CACHEDIR.TAG +4 -0
  739. data/share/lilypond/2.24.1/fontconfig/bf3b770c553c462765856025a94f1ce6-le64.cache-8 +0 -0
  740. data/share/lilypond/2.24.1/fontconfig/c855463f699352c367813e37f3f70ea7-le64.cache-8 +0 -0
  741. data/share/lilypond/2.24.1/fontconfig/d3e5c4ee2ceb1fc347f91d4cefc53bc0-le64.cache-8 +0 -0
  742. data/share/lilypond/2.24.1/fontconfig/d589a48862398ed80a3d6066f4f56f4c-le64.cache-8 +0 -0
  743. data/share/lilypond/2.24.1/fontconfig/d82eb4fd963d448e2fcb7d7b793b5df3-le64.cache-8 +0 -0
  744. data/share/lilypond/2.24.1/fontconfig/e13b20fdb08344e0e664864cc2ede53d-le64.cache-8 +0 -0
  745. data/share/lilypond/2.24.1/fontconfig/e52a45a1c8c8fe895fc0fc8c4e6999b8-le64.cache-8 +0 -0
  746. data/share/lilypond/2.24.1/fontconfig/f1f2465696798768e9653f19e17ccdc8-le64.cache-8 +0 -0
  747. data/share/lilypond/2.24.1/fonts/00-lilypond-fonts.conf +99 -0
  748. data/share/lilypond/2.24.1/fonts/99-lilypond-fonts.conf +28 -0
  749. data/share/lilypond/2.24.1/fonts/otf/C059-BdIta.otf +0 -0
  750. data/share/lilypond/2.24.1/fonts/otf/C059-Bold.otf +0 -0
  751. data/share/lilypond/2.24.1/fonts/otf/C059-Italic.otf +0 -0
  752. data/share/lilypond/2.24.1/fonts/otf/C059-Roman.otf +0 -0
  753. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-Bold.otf +0 -0
  754. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-BoldItalic.otf +0 -0
  755. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-Italic.otf +0 -0
  756. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-Regular.otf +0 -0
  757. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-Bold.otf +0 -0
  758. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-BoldItalic.otf +0 -0
  759. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-Italic.otf +0 -0
  760. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-Regular.otf +0 -0
  761. data/share/lilypond/2.24.1/fonts/otf/emmentaler-11.otf +0 -0
  762. data/share/lilypond/2.24.1/fonts/otf/emmentaler-13.otf +0 -0
  763. data/share/lilypond/2.24.1/fonts/otf/emmentaler-14.otf +0 -0
  764. data/share/lilypond/2.24.1/fonts/otf/emmentaler-16.otf +0 -0
  765. data/share/lilypond/2.24.1/fonts/otf/emmentaler-18.otf +0 -0
  766. data/share/lilypond/2.24.1/fonts/otf/emmentaler-20.otf +0 -0
  767. data/share/lilypond/2.24.1/fonts/otf/emmentaler-23.otf +0 -0
  768. data/share/lilypond/2.24.1/fonts/otf/emmentaler-26.otf +0 -0
  769. data/share/lilypond/2.24.1/fonts/otf/emmentaler-brace.otf +0 -0
  770. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-bold.otf +0 -0
  771. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-bolditalic.otf +0 -0
  772. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-italic.otf +0 -0
  773. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-regular.otf +0 -0
  774. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-bold.otf +0 -0
  775. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-bolditalic.otf +0 -0
  776. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-italic.otf +0 -0
  777. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-regular.otf +0 -0
  778. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-bold.otf +0 -0
  779. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-bolditalic.otf +0 -0
  780. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-italic.otf +0 -0
  781. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-regular.otf +0 -0
  782. data/share/lilypond/2.24.1/fonts/source/common-modules-and-initialization.mf +26 -0
  783. data/share/lilypond/2.24.1/fonts/source/debugging-settings.mf +14 -0
  784. data/share/lilypond/2.24.1/fonts/source/declare-autometric-parameters.mf +9 -0
  785. data/share/lilypond/2.24.1/fonts/source/feta-accidentals.mf +58 -0
  786. data/share/lilypond/2.24.1/fonts/source/feta-accordion.mf +575 -0
  787. data/share/lilypond/2.24.1/fonts/source/feta-alphabet-generic.mf +16 -0
  788. data/share/lilypond/2.24.1/fonts/source/feta-alphabet11.mf +6 -0
  789. data/share/lilypond/2.24.1/fonts/source/feta-alphabet13.mf +6 -0
  790. data/share/lilypond/2.24.1/fonts/source/feta-alphabet14.mf +6 -0
  791. data/share/lilypond/2.24.1/fonts/source/feta-alphabet16.mf +6 -0
  792. data/share/lilypond/2.24.1/fonts/source/feta-alphabet18.mf +6 -0
  793. data/share/lilypond/2.24.1/fonts/source/feta-alphabet20.mf +6 -0
  794. data/share/lilypond/2.24.1/fonts/source/feta-alphabet23.mf +6 -0
  795. data/share/lilypond/2.24.1/fonts/source/feta-alphabet26.mf +6 -0
  796. data/share/lilypond/2.24.1/fonts/source/feta-arrow.mf +114 -0
  797. data/share/lilypond/2.24.1/fonts/source/feta-arrowheads.mf +171 -0
  798. data/share/lilypond/2.24.1/fonts/source/feta-autometric.mf +303 -0
  799. data/share/lilypond/2.24.1/fonts/source/feta-braces-a.mf +6 -0
  800. data/share/lilypond/2.24.1/fonts/source/feta-braces-b.mf +6 -0
  801. data/share/lilypond/2.24.1/fonts/source/feta-braces-c.mf +6 -0
  802. data/share/lilypond/2.24.1/fonts/source/feta-braces-d.mf +6 -0
  803. data/share/lilypond/2.24.1/fonts/source/feta-braces-e.mf +6 -0
  804. data/share/lilypond/2.24.1/fonts/source/feta-braces-f.mf +6 -0
  805. data/share/lilypond/2.24.1/fonts/source/feta-braces-g.mf +6 -0
  806. data/share/lilypond/2.24.1/fonts/source/feta-braces-generic.mf +47 -0
  807. data/share/lilypond/2.24.1/fonts/source/feta-braces-h.mf +6 -0
  808. data/share/lilypond/2.24.1/fonts/source/feta-braces-i.mf +6 -0
  809. data/share/lilypond/2.24.1/fonts/source/feta-braces.mf +125 -0
  810. data/share/lilypond/2.24.1/fonts/source/feta-brackettips.mf +100 -0
  811. data/share/lilypond/2.24.1/fonts/source/feta-clefs.mf +963 -0
  812. data/share/lilypond/2.24.1/fonts/source/feta-dots.mf +37 -0
  813. data/share/lilypond/2.24.1/fonts/source/feta-dynamics.mf +891 -0
  814. data/share/lilypond/2.24.1/fonts/source/feta-flags-generic.mf +17 -0
  815. data/share/lilypond/2.24.1/fonts/source/feta-flags.mf +926 -0
  816. data/share/lilypond/2.24.1/fonts/source/feta-flags11.mf +6 -0
  817. data/share/lilypond/2.24.1/fonts/source/feta-flags13.mf +6 -0
  818. data/share/lilypond/2.24.1/fonts/source/feta-flags14.mf +6 -0
  819. data/share/lilypond/2.24.1/fonts/source/feta-flags16.mf +6 -0
  820. data/share/lilypond/2.24.1/fonts/source/feta-flags18.mf +6 -0
  821. data/share/lilypond/2.24.1/fonts/source/feta-flags20.mf +6 -0
  822. data/share/lilypond/2.24.1/fonts/source/feta-flags23.mf +6 -0
  823. data/share/lilypond/2.24.1/fonts/source/feta-flags26.mf +6 -0
  824. data/share/lilypond/2.24.1/fonts/source/feta-flats.mf +668 -0
  825. data/share/lilypond/2.24.1/fonts/source/feta-macros.mf +506 -0
  826. data/share/lilypond/2.24.1/fonts/source/feta-naturals.mf +223 -0
  827. data/share/lilypond/2.24.1/fonts/source/feta-noteheads-generic.mf +17 -0
  828. data/share/lilypond/2.24.1/fonts/source/feta-noteheads.mf +2642 -0
  829. data/share/lilypond/2.24.1/fonts/source/feta-noteheads11.mf +6 -0
  830. data/share/lilypond/2.24.1/fonts/source/feta-noteheads13.mf +6 -0
  831. data/share/lilypond/2.24.1/fonts/source/feta-noteheads14.mf +6 -0
  832. data/share/lilypond/2.24.1/fonts/source/feta-noteheads16.mf +6 -0
  833. data/share/lilypond/2.24.1/fonts/source/feta-noteheads18.mf +6 -0
  834. data/share/lilypond/2.24.1/fonts/source/feta-noteheads20.mf +6 -0
  835. data/share/lilypond/2.24.1/fonts/source/feta-noteheads23.mf +6 -0
  836. data/share/lilypond/2.24.1/fonts/source/feta-noteheads26.mf +6 -0
  837. data/share/lilypond/2.24.1/fonts/source/feta-numbers.mf +1677 -0
  838. data/share/lilypond/2.24.1/fonts/source/feta-other-generic.mf +27 -0
  839. data/share/lilypond/2.24.1/fonts/source/feta-params.mf +323 -0
  840. data/share/lilypond/2.24.1/fonts/source/feta-parenthesis.mf +63 -0
  841. data/share/lilypond/2.24.1/fonts/source/feta-pedals.mf +355 -0
  842. data/share/lilypond/2.24.1/fonts/source/feta-rests.mf +890 -0
  843. data/share/lilypond/2.24.1/fonts/source/feta-scripts.mf +2206 -0
  844. data/share/lilypond/2.24.1/fonts/source/feta-sharps.mf +524 -0
  845. data/share/lilypond/2.24.1/fonts/source/feta-sori-koron.mf +325 -0
  846. data/share/lilypond/2.24.1/fonts/source/feta-ties.mf +72 -0
  847. data/share/lilypond/2.24.1/fonts/source/feta-timesignatures.mf +119 -0
  848. data/share/lilypond/2.24.1/fonts/source/feta-trills.mf +321 -0
  849. data/share/lilypond/2.24.1/fonts/source/feta11.mf +6 -0
  850. data/share/lilypond/2.24.1/fonts/source/feta13.mf +6 -0
  851. data/share/lilypond/2.24.1/fonts/source/feta14.mf +6 -0
  852. data/share/lilypond/2.24.1/fonts/source/feta16.mf +6 -0
  853. data/share/lilypond/2.24.1/fonts/source/feta18.mf +6 -0
  854. data/share/lilypond/2.24.1/fonts/source/feta20.mf +7 -0
  855. data/share/lilypond/2.24.1/fonts/source/feta23.mf +6 -0
  856. data/share/lilypond/2.24.1/fonts/source/feta26.mf +6 -0
  857. data/share/lilypond/2.24.1/fonts/source/parmesan-accidentals.mf +483 -0
  858. data/share/lilypond/2.24.1/fonts/source/parmesan-clefs.mf +1636 -0
  859. data/share/lilypond/2.24.1/fonts/source/parmesan-custodes.mf +503 -0
  860. data/share/lilypond/2.24.1/fonts/source/parmesan-dots.mf +62 -0
  861. data/share/lilypond/2.24.1/fonts/source/parmesan-flags.mf +319 -0
  862. data/share/lilypond/2.24.1/fonts/source/parmesan-macros.mf +225 -0
  863. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads-generic.mf +16 -0
  864. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads.mf +2191 -0
  865. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads11.mf +6 -0
  866. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads13.mf +6 -0
  867. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads14.mf +6 -0
  868. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads16.mf +6 -0
  869. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads18.mf +6 -0
  870. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads20.mf +6 -0
  871. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads23.mf +6 -0
  872. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads26.mf +6 -0
  873. data/share/lilypond/2.24.1/fonts/source/parmesan-other-generic.mf +24 -0
  874. data/share/lilypond/2.24.1/fonts/source/parmesan-rests.mf +428 -0
  875. data/share/lilypond/2.24.1/fonts/source/parmesan-scripts.mf +284 -0
  876. data/share/lilypond/2.24.1/fonts/source/parmesan-timesignatures.mf +402 -0
  877. data/share/lilypond/2.24.1/fonts/source/parmesan11.mf +6 -0
  878. data/share/lilypond/2.24.1/fonts/source/parmesan13.mf +6 -0
  879. data/share/lilypond/2.24.1/fonts/source/parmesan14.mf +6 -0
  880. data/share/lilypond/2.24.1/fonts/source/parmesan16.mf +6 -0
  881. data/share/lilypond/2.24.1/fonts/source/parmesan18.mf +6 -0
  882. data/share/lilypond/2.24.1/fonts/source/parmesan20.mf +6 -0
  883. data/share/lilypond/2.24.1/fonts/source/parmesan23.mf +6 -0
  884. data/share/lilypond/2.24.1/fonts/source/parmesan26.mf +6 -0
  885. data/share/lilypond/2.24.1/fonts/svg/emmentaler-11.svg +2525 -0
  886. data/share/lilypond/2.24.1/fonts/svg/emmentaler-11.woff +0 -0
  887. data/share/lilypond/2.24.1/fonts/svg/emmentaler-13.svg +2530 -0
  888. data/share/lilypond/2.24.1/fonts/svg/emmentaler-13.woff +0 -0
  889. data/share/lilypond/2.24.1/fonts/svg/emmentaler-14.svg +2526 -0
  890. data/share/lilypond/2.24.1/fonts/svg/emmentaler-14.woff +0 -0
  891. data/share/lilypond/2.24.1/fonts/svg/emmentaler-16.svg +2523 -0
  892. data/share/lilypond/2.24.1/fonts/svg/emmentaler-16.woff +0 -0
  893. data/share/lilypond/2.24.1/fonts/svg/emmentaler-18.svg +2519 -0
  894. data/share/lilypond/2.24.1/fonts/svg/emmentaler-18.woff +0 -0
  895. data/share/lilypond/2.24.1/fonts/svg/emmentaler-20.svg +2512 -0
  896. data/share/lilypond/2.24.1/fonts/svg/emmentaler-20.woff +0 -0
  897. data/share/lilypond/2.24.1/fonts/svg/emmentaler-23.svg +2506 -0
  898. data/share/lilypond/2.24.1/fonts/svg/emmentaler-23.woff +0 -0
  899. data/share/lilypond/2.24.1/fonts/svg/emmentaler-26.svg +2510 -0
  900. data/share/lilypond/2.24.1/fonts/svg/emmentaler-26.woff +0 -0
  901. data/share/lilypond/2.24.1/fonts/svg/emmentaler-brace.svg +1757 -0
  902. data/share/lilypond/2.24.1/fonts/svg/emmentaler-brace.woff +0 -0
  903. data/share/lilypond/2.24.1/ly/Welcome_to_LilyPond.ly +45 -0
  904. data/share/lilypond/2.24.1/ly/arabic.ly +185 -0
  905. data/share/lilypond/2.24.1/ly/articulate.ly +1013 -0
  906. data/share/lilypond/2.24.1/ly/bagpipe.ly +368 -0
  907. data/share/lilypond/2.24.1/ly/base-tkit.ly +135 -0
  908. data/share/lilypond/2.24.1/ly/catalan.ly +23 -0
  909. data/share/lilypond/2.24.1/ly/chord-modifiers-init.ly +63 -0
  910. data/share/lilypond/2.24.1/ly/chord-repetition-init.ly +60 -0
  911. data/share/lilypond/2.24.1/ly/context-mods-init.ly +119 -0
  912. data/share/lilypond/2.24.1/ly/declarations-init.ly +167 -0
  913. data/share/lilypond/2.24.1/ly/deutsch.ly +23 -0
  914. data/share/lilypond/2.24.1/ly/drumpitch-init.ly +366 -0
  915. data/share/lilypond/2.24.1/ly/dynamic-scripts-init.ly +54 -0
  916. data/share/lilypond/2.24.1/ly/english.ly +23 -0
  917. data/share/lilypond/2.24.1/ly/engraver-init.ly +1619 -0
  918. data/share/lilypond/2.24.1/ly/espanol.ly +23 -0
  919. data/share/lilypond/2.24.1/ly/event-listener.ly +241 -0
  920. data/share/lilypond/2.24.1/ly/festival.ly +38 -0
  921. data/share/lilypond/2.24.1/ly/generate-documentation.ly +7 -0
  922. data/share/lilypond/2.24.1/ly/grace-init.ly +56 -0
  923. data/share/lilypond/2.24.1/ly/graphviz-init.ly +174 -0
  924. data/share/lilypond/2.24.1/ly/gregorian.ly +268 -0
  925. data/share/lilypond/2.24.1/ly/guile-debugger.ly +55 -0
  926. data/share/lilypond/2.24.1/ly/hel-arabic.ly +307 -0
  927. data/share/lilypond/2.24.1/ly/init.ly +96 -0
  928. data/share/lilypond/2.24.1/ly/italiano.ly +23 -0
  929. data/share/lilypond/2.24.1/ly/lilypond-book-preamble.ly +47 -0
  930. data/share/lilypond/2.24.1/ly/lyrics-tkit.ly +68 -0
  931. data/share/lilypond/2.24.1/ly/makam.ly +166 -0
  932. data/share/lilypond/2.24.1/ly/midi-init.ly +59 -0
  933. data/share/lilypond/2.24.1/ly/music-functions-init.ly +2254 -0
  934. data/share/lilypond/2.24.1/ly/nederlands.ly +23 -0
  935. data/share/lilypond/2.24.1/ly/norsk.ly +23 -0
  936. data/share/lilypond/2.24.1/ly/paper-defaults-init.ly +188 -0
  937. data/share/lilypond/2.24.1/ly/performer-init.ly +398 -0
  938. data/share/lilypond/2.24.1/ly/persian.ly +335 -0
  939. data/share/lilypond/2.24.1/ly/piano-tkit.ly +61 -0
  940. data/share/lilypond/2.24.1/ly/portugues.ly +23 -0
  941. data/share/lilypond/2.24.1/ly/predefined-fretboards-init.ly +78 -0
  942. data/share/lilypond/2.24.1/ly/predefined-guitar-fretboards.ly +506 -0
  943. data/share/lilypond/2.24.1/ly/predefined-guitar-ninth-fretboards.ly +75 -0
  944. data/share/lilypond/2.24.1/ly/predefined-mandolin-fretboards.ly +876 -0
  945. data/share/lilypond/2.24.1/ly/predefined-ukulele-fretboards.ly +1285 -0
  946. data/share/lilypond/2.24.1/ly/property-init.ly +858 -0
  947. data/share/lilypond/2.24.1/ly/satb.ly +214 -0
  948. data/share/lilypond/2.24.1/ly/scale-definitions-init.ly +117 -0
  949. data/share/lilypond/2.24.1/ly/scheme-sandbox.ly +39 -0
  950. data/share/lilypond/2.24.1/ly/script-init.ly +94 -0
  951. data/share/lilypond/2.24.1/ly/spanners-init.ly +146 -0
  952. data/share/lilypond/2.24.1/ly/ssaattbb.ly +335 -0
  953. data/share/lilypond/2.24.1/ly/staff-tkit.ly +182 -0
  954. data/share/lilypond/2.24.1/ly/string-tunings-init.ly +94 -0
  955. data/share/lilypond/2.24.1/ly/suomi.ly +23 -0
  956. data/share/lilypond/2.24.1/ly/svenska.ly +23 -0
  957. data/share/lilypond/2.24.1/ly/swing.ly +362 -0
  958. data/share/lilypond/2.24.1/ly/text-replacements.ly +150 -0
  959. data/share/lilypond/2.24.1/ly/titling-init.ly +150 -0
  960. data/share/lilypond/2.24.1/ly/toc-init.ly +182 -0
  961. data/share/lilypond/2.24.1/ly/turkish-makam.ly +609 -0
  962. data/share/lilypond/2.24.1/ly/vlaams.ly +23 -0
  963. data/share/lilypond/2.24.1/ly/vocal-tkit.ly +103 -0
  964. data/share/lilypond/2.24.1/ly/voice-tkit.ly +34 -0
  965. data/share/lilypond/2.24.1/ps/encodingdefs.ps +2611 -0
  966. data/share/lilypond/2.24.1/ps/lilyponddefs.ps +49 -0
  967. data/share/lilypond/2.24.1/ps/music-drawing-routines.ps +329 -0
  968. data/share/lilypond/2.24.1/python/__pycache__/book_base.cpython-310.pyc +0 -0
  969. data/share/lilypond/2.24.1/python/__pycache__/book_docbook.cpython-310.pyc +0 -0
  970. data/share/lilypond/2.24.1/python/__pycache__/book_html.cpython-310.pyc +0 -0
  971. data/share/lilypond/2.24.1/python/__pycache__/book_latex.cpython-310.pyc +0 -0
  972. data/share/lilypond/2.24.1/python/__pycache__/book_snippets.cpython-310.pyc +0 -0
  973. data/share/lilypond/2.24.1/python/__pycache__/book_texinfo.cpython-310.pyc +0 -0
  974. data/share/lilypond/2.24.1/python/__pycache__/convertrules.cpython-310.pyc +0 -0
  975. data/share/lilypond/2.24.1/python/__pycache__/langdefs.cpython-310.pyc +0 -0
  976. data/share/lilypond/2.24.1/python/__pycache__/lilylib.cpython-310.pyc +0 -0
  977. data/share/lilypond/2.24.1/python/__pycache__/midi.cpython-310.pyc +0 -0
  978. data/share/lilypond/2.24.1/python/__pycache__/musicexp.cpython-310.pyc +0 -0
  979. data/share/lilypond/2.24.1/python/__pycache__/musicxml.cpython-310.pyc +0 -0
  980. data/share/lilypond/2.24.1/python/__pycache__/musicxml2ly_conversion.cpython-310.pyc +0 -0
  981. data/share/lilypond/2.24.1/python/__pycache__/utilities.cpython-310.pyc +0 -0
  982. data/share/lilypond/2.24.1/python/book_base.py +331 -0
  983. data/share/lilypond/2.24.1/python/book_docbook.py +154 -0
  984. data/share/lilypond/2.24.1/python/book_html.py +178 -0
  985. data/share/lilypond/2.24.1/python/book_latex.py +373 -0
  986. data/share/lilypond/2.24.1/python/book_snippets.py +1052 -0
  987. data/share/lilypond/2.24.1/python/book_texinfo.py +437 -0
  988. data/share/lilypond/2.24.1/python/convertrules.py +4764 -0
  989. data/share/lilypond/2.24.1/python/langdefs.py +131 -0
  990. data/share/lilypond/2.24.1/python/lilylib.py +141 -0
  991. data/share/lilypond/2.24.1/python/midi.py +212 -0
  992. data/share/lilypond/2.24.1/python/musicexp.py +2781 -0
  993. data/share/lilypond/2.24.1/python/musicxml.py +1905 -0
  994. data/share/lilypond/2.24.1/python/musicxml2ly_conversion.py +80 -0
  995. data/share/lilypond/2.24.1/python/utilities.py +280 -0
  996. data/share/lilypond/2.24.1/scm/lily/accreg.scm +579 -0
  997. data/share/lilypond/2.24.1/scm/lily/auto-beam.scm +163 -0
  998. data/share/lilypond/2.24.1/scm/lily/autochange.scm +100 -0
  999. data/share/lilypond/2.24.1/scm/lily/backend-library.scm +593 -0
  1000. data/share/lilypond/2.24.1/scm/lily/bar-line.scm +1281 -0
  1001. data/share/lilypond/2.24.1/scm/lily/breath.scm +74 -0
  1002. data/share/lilypond/2.24.1/scm/lily/c++.scm +174 -0
  1003. data/share/lilypond/2.24.1/scm/lily/chord-entry.scm +278 -0
  1004. data/share/lilypond/2.24.1/scm/lily/chord-ignatzek-names.scm +304 -0
  1005. data/share/lilypond/2.24.1/scm/lily/chord-name.scm +217 -0
  1006. data/share/lilypond/2.24.1/scm/lily/clip-region.scm +87 -0
  1007. data/share/lilypond/2.24.1/scm/lily/color.scm +757 -0
  1008. data/share/lilypond/2.24.1/scm/lily/curried-definitions.scm +68 -0
  1009. data/share/lilypond/2.24.1/scm/lily/define-context-properties.scm +939 -0
  1010. data/share/lilypond/2.24.1/scm/lily/define-event-classes.scm +142 -0
  1011. data/share/lilypond/2.24.1/scm/lily/define-grob-interfaces.scm +640 -0
  1012. data/share/lilypond/2.24.1/scm/lily/define-grob-properties.scm +1647 -0
  1013. data/share/lilypond/2.24.1/scm/lily/define-grobs.scm +4027 -0
  1014. data/share/lilypond/2.24.1/scm/lily/define-markup-commands.scm +5737 -0
  1015. data/share/lilypond/2.24.1/scm/lily/define-music-callbacks.scm +257 -0
  1016. data/share/lilypond/2.24.1/scm/lily/define-music-display-methods.scm +1350 -0
  1017. data/share/lilypond/2.24.1/scm/lily/define-music-properties.scm +242 -0
  1018. data/share/lilypond/2.24.1/scm/lily/define-music-types.scm +983 -0
  1019. data/share/lilypond/2.24.1/scm/lily/define-note-names.scm +1421 -0
  1020. data/share/lilypond/2.24.1/scm/lily/define-stencil-commands.scm +71 -0
  1021. data/share/lilypond/2.24.1/scm/lily/define-woodwind-diagrams.scm +1215 -0
  1022. data/share/lilypond/2.24.1/scm/lily/display-lily.scm +315 -0
  1023. data/share/lilypond/2.24.1/scm/lily/display-woodwind-diagrams.scm +1985 -0
  1024. data/share/lilypond/2.24.1/scm/lily/document-backend.scm +307 -0
  1025. data/share/lilypond/2.24.1/scm/lily/document-context-mods.scm +98 -0
  1026. data/share/lilypond/2.24.1/scm/lily/document-functions.scm +169 -0
  1027. data/share/lilypond/2.24.1/scm/lily/document-identifiers.scm +76 -0
  1028. data/share/lilypond/2.24.1/scm/lily/document-markup.scm +158 -0
  1029. data/share/lilypond/2.24.1/scm/lily/document-music.scm +146 -0
  1030. data/share/lilypond/2.24.1/scm/lily/document-outside-staff-priorities.scm +40 -0
  1031. data/share/lilypond/2.24.1/scm/lily/document-paper-sizes.scm +71 -0
  1032. data/share/lilypond/2.24.1/scm/lily/document-translation.scm +318 -0
  1033. data/share/lilypond/2.24.1/scm/lily/document-type-predicates.scm +85 -0
  1034. data/share/lilypond/2.24.1/scm/lily/documentation-generate.scm +259 -0
  1035. data/share/lilypond/2.24.1/scm/lily/documentation-lib.scm +207 -0
  1036. data/share/lilypond/2.24.1/scm/lily/file-cache.scm +28 -0
  1037. data/share/lilypond/2.24.1/scm/lily/flag-styles.scm +249 -0
  1038. data/share/lilypond/2.24.1/scm/lily/font-encodings.scm +1242 -0
  1039. data/share/lilypond/2.24.1/scm/lily/font.scm +303 -0
  1040. data/share/lilypond/2.24.1/scm/lily/framework-cairo.scm +26 -0
  1041. data/share/lilypond/2.24.1/scm/lily/framework-ps.scm +896 -0
  1042. data/share/lilypond/2.24.1/scm/lily/framework-svg.scm +172 -0
  1043. data/share/lilypond/2.24.1/scm/lily/fret-diagrams.scm +1261 -0
  1044. data/share/lilypond/2.24.1/scm/lily/graphviz.scm +78 -0
  1045. data/share/lilypond/2.24.1/scm/lily/guile-debugger.scm +90 -0
  1046. data/share/lilypond/2.24.1/scm/lily/harp-pedals.scm +172 -0
  1047. data/share/lilypond/2.24.1/scm/lily/hyphenate-internal-words.scm +51 -0
  1048. data/share/lilypond/2.24.1/scm/lily/layout-beam.scm +73 -0
  1049. data/share/lilypond/2.24.1/scm/lily/layout-slur.scm +45 -0
  1050. data/share/lilypond/2.24.1/scm/lily/lily-library.scm +1446 -0
  1051. data/share/lilypond/2.24.1/scm/lily/lily-sort.scm +116 -0
  1052. data/share/lilypond/2.24.1/scm/lily/lily.scm +929 -0
  1053. data/share/lilypond/2.24.1/scm/lily/ly-syntax-constructors.scm +374 -0
  1054. data/share/lilypond/2.24.1/scm/lily/markup-macros.scm +493 -0
  1055. data/share/lilypond/2.24.1/scm/lily/markup.scm +126 -0
  1056. data/share/lilypond/2.24.1/scm/lily/midi.scm +258 -0
  1057. data/share/lilypond/2.24.1/scm/lily/modal-transforms.scm +337 -0
  1058. data/share/lilypond/2.24.1/scm/lily/music-functions.scm +2878 -0
  1059. data/share/lilypond/2.24.1/scm/lily/output-lib.scm +3377 -0
  1060. data/share/lilypond/2.24.1/scm/lily/output-ps.scm +335 -0
  1061. data/share/lilypond/2.24.1/scm/lily/output-svg.scm +684 -0
  1062. data/share/lilypond/2.24.1/scm/lily/page.scm +321 -0
  1063. data/share/lilypond/2.24.1/scm/lily/paper-system.scm +271 -0
  1064. data/share/lilypond/2.24.1/scm/lily/paper.scm +376 -0
  1065. data/share/lilypond/2.24.1/scm/lily/parser-clef.scm +205 -0
  1066. data/share/lilypond/2.24.1/scm/lily/parser-ly-from-scheme.scm +170 -0
  1067. data/share/lilypond/2.24.1/scm/lily/part-combiner.scm +998 -0
  1068. data/share/lilypond/2.24.1/scm/lily/predefined-fretboards.scm +54 -0
  1069. data/share/lilypond/2.24.1/scm/lily/ps-to-png.scm +182 -0
  1070. data/share/lilypond/2.24.1/scm/lily/scheme-engravers.scm +1813 -0
  1071. data/share/lilypond/2.24.1/scm/lily/scheme-performers.scm +126 -0
  1072. data/share/lilypond/2.24.1/scm/lily/script.scm +416 -0
  1073. data/share/lilypond/2.24.1/scm/lily/skyline.scm +25 -0
  1074. data/share/lilypond/2.24.1/scm/lily/song-util.scm +191 -0
  1075. data/share/lilypond/2.24.1/scm/lily/song.scm +853 -0
  1076. data/share/lilypond/2.24.1/scm/lily/stencil.scm +998 -0
  1077. data/share/lilypond/2.24.1/scm/lily/tablature.scm +392 -0
  1078. data/share/lilypond/2.24.1/scm/lily/time-signature-settings.scm +473 -0
  1079. data/share/lilypond/2.24.1/scm/lily/time-signature.scm +35 -0
  1080. data/share/lilypond/2.24.1/scm/lily/titling.scm +99 -0
  1081. data/share/lilypond/2.24.1/scm/lily/to-xml.scm +254 -0
  1082. data/share/lilypond/2.24.1/scm/lily/translation-functions.scm +1169 -0
  1083. data/share/lilypond/2.24.1/vim/compiler/lilypond.vim +36 -0
  1084. data/share/lilypond/2.24.1/vim/ftdetect/lilypond.vim +4 -0
  1085. data/share/lilypond/2.24.1/vim/ftplugin/lilypond.vim +91 -0
  1086. data/share/lilypond/2.24.1/vim/indent/lilypond.vim +79 -0
  1087. data/share/lilypond/2.24.1/vim/syntax/lilypond-words +1408 -0
  1088. data/share/lilypond/2.24.1/vim/syntax/lilypond-words.vim +3 -0
  1089. data/share/lilypond/2.24.1/vim/syntax/lilypond.vim +104 -0
  1090. data/share/locale/ca/LC_MESSAGES/lilypond.mo +0 -0
  1091. data/share/locale/cs/LC_MESSAGES/lilypond.mo +0 -0
  1092. data/share/locale/da/LC_MESSAGES/lilypond.mo +0 -0
  1093. data/share/locale/de/LC_MESSAGES/lilypond.mo +0 -0
  1094. data/share/locale/el/LC_MESSAGES/lilypond.mo +0 -0
  1095. data/share/locale/eo/LC_MESSAGES/lilypond.mo +0 -0
  1096. data/share/locale/es/LC_MESSAGES/lilypond.mo +0 -0
  1097. data/share/locale/fi/LC_MESSAGES/lilypond.mo +0 -0
  1098. data/share/locale/fr/LC_MESSAGES/lilypond.mo +0 -0
  1099. data/share/locale/it/LC_MESSAGES/lilypond.mo +0 -0
  1100. data/share/locale/ja/LC_MESSAGES/lilypond.mo +0 -0
  1101. data/share/locale/nl/LC_MESSAGES/lilypond.mo +0 -0
  1102. data/share/locale/ru/LC_MESSAGES/lilypond.mo +0 -0
  1103. data/share/locale/sv/LC_MESSAGES/lilypond.mo +0 -0
  1104. data/share/locale/tr/LC_MESSAGES/lilypond.mo +0 -0
  1105. data/share/locale/uk/LC_MESSAGES/lilypond.mo +0 -0
  1106. data/share/locale/vi/LC_MESSAGES/lilypond.mo +0 -0
  1107. data/share/locale/zh_CN/LC_MESSAGES/lilypond.mo +0 -0
  1108. data/share/locale/zh_TW/LC_MESSAGES/lilypond.mo +0 -0
  1109. metadata +1108 -1
@@ -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<?))