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,1350 @@
1
+ ;;; define-music-display-methods.scm -- data for displaying music
2
+ ;;; expressions using LilyPond notation.
3
+ ;;;
4
+ ;;; Copyright (C) 2005--2022 Nicolas Sceaux <nicolas.sceaux@free.fr>
5
+ ;;;
6
+
7
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
8
+ ;;;
9
+ ;;; Display method implementation
10
+ ;;;
11
+
12
+ (define-module (lily display-lily))
13
+ (use-modules ((ice-9 list)
14
+ #:select (rassoc)))
15
+
16
+
17
+ ;;;
18
+ ;;; Scheme forms
19
+ ;;;
20
+ (define (number-list->lily-string scm-arg)
21
+ (string-join (map number->string scm-arg) ","))
22
+
23
+ (define (scheme-expr->lily-string scm-arg)
24
+ (cond ((or (number? scm-arg)
25
+ (string? scm-arg)
26
+ (boolean? scm-arg))
27
+ (format #f "~s" scm-arg))
28
+ ((or (symbol? scm-arg)
29
+ (list? scm-arg))
30
+ (format #f "'~s" scm-arg))
31
+ ((procedure? scm-arg)
32
+ (format #f "~a"
33
+ (or (procedure-name scm-arg)
34
+ (with-output-to-string
35
+ (lambda ()
36
+ (pretty-print (procedure-source scm-arg)))))))
37
+ (else
38
+ (format #f "~a"
39
+ (with-output-to-string
40
+ (lambda ()
41
+ (display-scheme-music scm-arg)))))))
42
+
43
+ ;;;
44
+ ;;; Markups
45
+ ;;;
46
+
47
+ (define-public (markup->lily-string markup-expr)
48
+ "Return a string describing, in LilyPond syntax, the given markup
49
+ expression."
50
+ (define (proc->command proc)
51
+ (let ((cmd-markup (symbol->string (procedure-name proc))))
52
+ (substring cmd-markup 0 (- (string-length cmd-markup)
53
+ (string-length "-markup")))))
54
+ (define (arg->string arg)
55
+ (cond ((string? arg)
56
+ (format #f "~s" arg))
57
+ ((markup? arg) ;; a markup
58
+ (markup->lily-string-aux arg))
59
+ ((and (pair? arg) (every markup? arg)) ;; a markup list
60
+ (format #f "{~{ ~a~}}" (map-in-order markup->lily-string-aux arg)))
61
+ (else ;; a scheme argument
62
+ (format #f "#~a" (scheme-expr->lily-string arg)))))
63
+ (define (markup->lily-string-aux expr)
64
+ (if (string? expr)
65
+ (format #f "~s" expr)
66
+ (let ((cmd (car expr))
67
+ (args (cdr expr)))
68
+ (if (eqv? cmd simple-markup) ;; a simple markup
69
+ (format #f "~s" (car args))
70
+ (format #f "\\~a~{ ~a~}"
71
+ (proc->command cmd)
72
+ (map-in-order arg->string args))))))
73
+ (cond ((string? markup-expr)
74
+ (format #f "~s" markup-expr))
75
+ ((eqv? (car markup-expr) simple-markup)
76
+ (format #f "~s" (second markup-expr)))
77
+ (else
78
+ (format #f "\\markup ~a"
79
+ (markup->lily-string-aux markup-expr)))))
80
+
81
+ ;;;
82
+ ;;; pitch names
83
+ ;;;
84
+
85
+ (define-public (note-name->lily-string ly-pitch)
86
+ ;; here we define a custom pitch= function, since we do not want to
87
+ ;; test whether octaves are also equal. (otherwise, we would be using equal?)
88
+ (define (pitch= pitch1 pitch2)
89
+ (and (= (ly:pitch-notename pitch1) (ly:pitch-notename pitch2))
90
+ (= (ly:pitch-alteration pitch1) (ly:pitch-alteration pitch2))))
91
+ (let* ((result (rassoc ly-pitch pitchnames pitch=)))
92
+ (and result (car result))))
93
+
94
+ (define-public (octave->lily-string pitch)
95
+ (let ((octave (ly:pitch-octave pitch)))
96
+ (cond ((>= octave 0)
97
+ (make-string (1+ octave) #\'))
98
+ ((< octave -1)
99
+ (make-string (1- (* -1 octave)) #\,))
100
+ (else ""))))
101
+
102
+ ;;;
103
+ ;;; durations
104
+ ;;;
105
+ (define*-public (duration->lily-string ly-duration #:key
106
+ (force-duration #f)
107
+ (time-scale (*time-scale*)))
108
+ (let ((log2 (ly:duration-log ly-duration))
109
+ (dots (ly:duration-dot-count ly-duration))
110
+ (scale (ly:duration-scale ly-duration)))
111
+ (if (or force-duration (not (*omit-duration*)))
112
+ (string-append (case log2
113
+ ((-1) "\\breve")
114
+ ((-2) "\\longa")
115
+ ((-3) "\\maxima")
116
+ (else (number->string (expt 2 log2))))
117
+ (make-string dots #\.)
118
+ (let ((end-scale (/ scale time-scale)))
119
+ (if (= end-scale 1) ""
120
+ (format #f "*~a" end-scale))))
121
+ "")))
122
+
123
+ ;;;
124
+ ;;; post events
125
+ ;;;
126
+
127
+ (define post-event? (music-type-predicate 'post-event))
128
+
129
+ (define* (event-direction->lily-string event #:optional (required #t))
130
+ (let ((direction (ly:music-property event 'direction)))
131
+ (cond ((or (not direction) (null? direction) (= CENTER direction))
132
+ (if required "-" ""))
133
+ ((= UP direction) "^")
134
+ ((= DOWN direction) "_")
135
+ (else ""))))
136
+
137
+ (define-syntax-rule (define-post-event-display-method type (param) direction-required str)
138
+ (define-display-method type (param)
139
+ (format #f "~a~a"
140
+ (event-direction->lily-string param direction-required)
141
+ str)))
142
+
143
+ (define-syntax-rule (define-span-event-display-method type (param) direction-required str-start str-stop)
144
+ (define-display-method type (param)
145
+ (format #f "~a~a"
146
+ (event-direction->lily-string param direction-required)
147
+ (if (= START (ly:music-property param 'span-direction))
148
+ str-start
149
+ str-stop))))
150
+
151
+ (define-display-method HyphenEvent (event)
152
+ " --")
153
+ (define-display-method ExtenderEvent (event)
154
+ " __")
155
+ (define-display-method VowelTransitionEvent (event)
156
+ " \\vowelTransition")
157
+ (define-display-method TieEvent (event)
158
+ " ~")
159
+ (define-display-method DurationLineEvent (event)
160
+ "\\-")
161
+ (define-display-method BendSpanEvent (event)
162
+ "\\^")
163
+ (define-display-method BeamForbidEvent (event)
164
+ "\\noBeam")
165
+ (define-display-method StringNumberEvent (event)
166
+ (format #f "\\~a" (ly:music-property event 'string-number)))
167
+ (define-display-method BreakDynamicSpanEvent (event)
168
+ "\\breakDynamicSpan")
169
+ (define-post-event-display-method LaissezVibrerEvent (event) #f
170
+ "\\laissezVibrer")
171
+ (define-post-event-display-method RepeatTieEvent (event) #f
172
+ "\\repeatTie")
173
+
174
+ (define-display-method TremoloEvent (event)
175
+ (let ((tremolo-type (ly:music-property event 'tremolo-type 8)))
176
+ (format #f ":~a" tremolo-type)))
177
+
178
+ (define-display-method ArticulationEvent (event) #t
179
+ (let* ((articulation (ly:music-property event 'articulation-type))
180
+ (shorthand
181
+ (case articulation
182
+ ((marcato) "^")
183
+ ((stopped) "+")
184
+ ((tenuto) "-")
185
+ ((staccatissimo) "!")
186
+ ((accent) ">")
187
+ ((staccato) ".")
188
+ ((portato) "_")
189
+ (else #f))))
190
+ (format #f "~a~:[\\~;~]~a"
191
+ (event-direction->lily-string event shorthand)
192
+ shorthand
193
+ (or shorthand articulation))))
194
+
195
+ (define-display-method MultiMeasureArticulationEvent (event)
196
+ (music->lily-string (make-music 'ArticulationEvent event)))
197
+
198
+ (define-post-event-display-method FingeringEvent (event) #t
199
+ (ly:music-property event 'digit))
200
+
201
+ (define-post-event-display-method TextScriptEvent (event) #t
202
+ (markup->lily-string (ly:music-property event 'text)))
203
+
204
+ (define-display-method MultiMeasureTextEvent (event)
205
+ (music->lily-string (make-music 'TextScriptEvent event)))
206
+
207
+ (define-post-event-display-method BendAfterEvent (event) #f
208
+ (format #f "\\bendAfter #~a " (ly:music-property event 'delta-step)))
209
+
210
+ (define-post-event-display-method FingerGlideEvent (event) #f "\\glide")
211
+ (define-post-event-display-method HarmonicEvent (event) #f "\\harmonic")
212
+ (define-post-event-display-method GlissandoEvent (event) #f "\\glissando")
213
+ (define-post-event-display-method ArpeggioEvent (event) #f "\\arpeggio")
214
+ (define-post-event-display-method AbsoluteDynamicEvent (event) #f
215
+ (format #f "\\~a" (ly:music-property event 'text)))
216
+
217
+ (define-post-event-display-method StrokeFingerEvent (event) #f
218
+ (format #f "\\rightHandFinger #~a " (ly:music-property event 'digit)))
219
+
220
+ (define-span-event-display-method BeamEvent (event) #f "[" "]")
221
+ (define-span-event-display-method SlurEvent (event) #f "(" ")")
222
+ (define-span-event-display-method CrescendoEvent (event) #f "\\<" "\\!")
223
+ (define-span-event-display-method DecrescendoEvent (event) #f "\\>" "\\!")
224
+ (define-span-event-display-method EpisemaEvent (event) #f "\\episemInitium" "\\episemFinis")
225
+ (define-span-event-display-method PhrasingSlurEvent (event) #f "\\(" "\\)")
226
+ (define-span-event-display-method SustainEvent (event) #f "\\sustainOn" "\\sustainOff")
227
+ (define-span-event-display-method SostenutoEvent (event) #f "\\sostenutoOn" "\\sostenutoOff")
228
+ (define-span-event-display-method TextSpanEvent (event) #f "\\startTextSpan" "\\stopTextSpan")
229
+ (define-span-event-display-method TrillSpanEvent (event) #f "\\startTrillSpan" "\\stopTrillSpan")
230
+ (define-span-event-display-method StaffSpanEvent (event) #f "\\startStaff" "\\stopStaff")
231
+ (define-span-event-display-method NoteGroupingEvent (event) #f "\\startGroup" "\\stopGroup")
232
+ (define-span-event-display-method UnaCordaEvent (event) #f "\\unaCorda" "\\treCorde")
233
+
234
+ ;;;
235
+ ;;; Void Music
236
+ ;;;
237
+
238
+ (define-display-method Music (expr)
239
+ (format #f "##{#}"))
240
+
241
+ ;;;
242
+ ;;; Graces
243
+ ;;;
244
+
245
+ (define-display-method GraceMusic (expr)
246
+ (format #f "\\grace ~a"
247
+ (music->lily-string (ly:music-property expr 'element))))
248
+
249
+ ;; \acciaccatura \appoggiatura \grace
250
+ ;; TODO: it would be better to compare ?start and ?stop
251
+ ;; with startAppoggiaturaMusic and stopAppoggiaturaMusic,
252
+ ;; using a custom music equality predicate.
253
+ (define-extra-display-method GraceMusic (expr)
254
+ "Display method for appoggiatura."
255
+ (with-music-match (expr (music
256
+ 'GraceMusic
257
+ element (music
258
+ 'SequentialMusic
259
+ elements (?start
260
+ ?music
261
+ ?stop))))
262
+ ;; we check whether ?start and ?stop look like
263
+ ;; startAppoggiaturaMusic stopAppoggiaturaMusic
264
+ (and (with-music-match (?start (music
265
+ 'SequentialMusic
266
+ elements ((music
267
+ 'EventChord
268
+ elements
269
+ ((music
270
+ 'SlurEvent
271
+ span-direction START))))))
272
+ #t)
273
+ (with-music-match (?stop (music
274
+ 'SequentialMusic
275
+ elements ((music
276
+ 'EventChord
277
+ elements
278
+ ((music
279
+ 'SlurEvent
280
+ span-direction STOP))))))
281
+ (format #f "\\appoggiatura ~a" (music->lily-string ?music))))))
282
+
283
+
284
+ (define-extra-display-method GraceMusic (expr)
285
+ "Display method for acciaccatura."
286
+ (with-music-match (expr (music
287
+ 'GraceMusic
288
+ element (music
289
+ 'SequentialMusic
290
+ elements (?start
291
+ ?music
292
+ ?stop))))
293
+ ;; we check whether ?start and ?stop look like
294
+ ;; startAcciaccaturaMusic stopAcciaccaturaMusic
295
+ (and (with-music-match (?start (music
296
+ 'SequentialMusic
297
+ elements ((music
298
+ 'EventChord
299
+ elements
300
+ ((music
301
+ 'SlurEvent
302
+ span-direction START)))
303
+ (music
304
+ 'ContextSpeccedMusic
305
+ element (music
306
+ 'OverrideProperty
307
+ grob-property-path '(stroke-style)
308
+ grob-value "grace"
309
+ symbol 'Flag)))))
310
+ #t)
311
+ (with-music-match (?stop (music
312
+ 'SequentialMusic
313
+ elements ((music
314
+ 'ContextSpeccedMusic
315
+ element (music
316
+ 'RevertProperty
317
+ grob-property-path '(stroke-style)
318
+ symbol 'Flag))
319
+
320
+ (music
321
+ 'EventChord
322
+ elements
323
+ ((music
324
+ 'SlurEvent
325
+ span-direction STOP))))))
326
+ (format #f "\\acciaccatura ~a" (music->lily-string ?music))))))
327
+
328
+ (define-extra-display-method GraceMusic (expr)
329
+ "Display method for grace."
330
+ (with-music-match (expr (music
331
+ 'GraceMusic
332
+ element (music
333
+ 'SequentialMusic
334
+ elements (?start
335
+ ?music
336
+ ?stop))))
337
+ ;; we check whether ?start and ?stop look like
338
+ ;; startGraceMusic stopGraceMusic
339
+ (and (null? (ly:music-property ?start 'elements))
340
+ (null? (ly:music-property ?stop 'elements))
341
+ (format #f "\\grace ~a" (music->lily-string ?music)))))
342
+
343
+ ;;;
344
+ ;;; Music sequences
345
+ ;;;
346
+
347
+ (define-display-method SequentialMusic (seq)
348
+ (let ((force-line-break (and (*force-line-break*)
349
+ ;; hm
350
+ (> (length (ly:music-property seq 'elements))
351
+ (*max-element-number-before-break*))))
352
+ (elements (ly:music-property seq 'elements))
353
+ (chord? (make-music-type-predicate 'EventChord))
354
+ (note-or-chord? (make-music-type-predicate 'EventChord 'NoteEvent
355
+ 'LyricEvent 'RestEvent
356
+ 'ClusterNoteEvent))
357
+ (cluster? (make-music-type-predicate 'ClusterNoteEvent))
358
+ (note? (make-music-type-predicate 'NoteEvent)))
359
+ (format #f "~a~a{~v%~v_~{~a~^ ~}~v%~v_}"
360
+ (if (any (lambda (e)
361
+ (or (cluster? e)
362
+ (and (chord? e)
363
+ (any cluster? (ly:music-property e 'elements)))))
364
+ elements)
365
+ "\\makeClusters "
366
+ "")
367
+ (if (*explicit-mode*)
368
+ ;; if the sequence contains EventChord which contains figures ==> figuremode
369
+ ;; if the sequence contains EventChord which contains lyrics ==> lyricmode
370
+ ;; if the sequence contains EventChord which contains drum notes ==> drummode
371
+ (cond ((any (lambda (chord)
372
+ (any (make-music-type-predicate 'BassFigureEvent)
373
+ (ly:music-property chord 'elements)))
374
+ (filter chord? elements))
375
+ "\\figuremode ")
376
+ ((any (lambda (chord)
377
+ (any (make-music-type-predicate 'LyricEvent)
378
+ (cons chord
379
+ (ly:music-property chord 'elements))))
380
+ (filter note-or-chord? elements))
381
+ "\\lyricmode ")
382
+ ((any (lambda (chord)
383
+ (any (lambda (event)
384
+ (and (note? event)
385
+ (not (null? (ly:music-property event 'drum-type)))))
386
+ (cons chord
387
+ (ly:music-property chord 'elements))))
388
+ (filter note-or-chord? elements))
389
+ "\\drummode ")
390
+ (else ;; TODO: other modes?
391
+ ""))
392
+ "")
393
+ (if force-line-break 1 0)
394
+ (if force-line-break (+ 2 (*indent*)) 1)
395
+ (parameterize ((*indent* (+ 2 (*indent*))))
396
+ (map-in-order (lambda (music)
397
+ (music->lily-string music))
398
+ elements))
399
+ (if force-line-break 1 0)
400
+ (if force-line-break (*indent*) 1))))
401
+
402
+ (define-display-method SimultaneousMusic (sim)
403
+ (parameterize ((*indent* (+ 3 (*indent*))))
404
+ (format #f "<< ~{~a ~}>>"
405
+ (map-in-order (lambda (music)
406
+ (music->lily-string music))
407
+ (ly:music-property sim 'elements)))))
408
+
409
+ ;;;
410
+ ;;; Chords
411
+ ;;;
412
+
413
+ (define-display-method EventChord (chord)
414
+ ;; event_chord : command_element
415
+ ;; | note_chord_element
416
+
417
+ ;; TODO : tagged post_events
418
+ ;; post_events : ( post_event | tagged_post_event )*
419
+ ;; tagged_post_event: '-' \tag embedded_scm post_event
420
+
421
+ (let* ((elements (append (ly:music-property chord 'elements)
422
+ (ly:music-property chord 'articulations)))
423
+ (chord-repeat (ly:music-property chord 'duration)))
424
+ (call-with-values
425
+ (lambda ()
426
+ (partition (music-type-predicate 'rhythmic-event)
427
+ elements))
428
+ (lambda (chord-elements other-elements)
429
+ (cond ((pair? chord-elements)
430
+ ;; note_chord_element :
431
+ ;; '<' (notepitch | drumpitch)* '>" duration post_events
432
+ (let ((duration (duration->lily-string (ly:music-property
433
+ (car chord-elements)
434
+ 'duration))))
435
+ ;; Format duration first so that it does not appear on
436
+ ;; chord elements
437
+ (format #f "< ~{~a ~}>~a~:{~:[-~;~]~a~^ ~}"
438
+ (parameterize ((*omit-duration* #t))
439
+ (map-in-order
440
+ (lambda (music)
441
+ (music->lily-string music))
442
+ chord-elements))
443
+ duration
444
+ (map-in-order (lambda (music)
445
+ (list
446
+ (post-event? music)
447
+ (music->lily-string music)))
448
+ other-elements))))
449
+ ((ly:duration? chord-repeat)
450
+ (let ((duration (duration->lily-string chord-repeat)))
451
+ (format #f "q~a~:{~:[-~;~]~a~^ ~}"
452
+ duration
453
+ (map-in-order (lambda (music)
454
+ (list
455
+ (post-event? music)
456
+ (music->lily-string music)))
457
+ other-elements))))
458
+
459
+ ((and (= 1 (length other-elements))
460
+ (not (post-event? (car other-elements))))
461
+ (format #f (music->lily-string (car other-elements))))
462
+ (else
463
+ (format #f "< >~:{~:[-~;~]~a~^ ~}"
464
+ (map-in-order (lambda (music)
465
+ (list
466
+ (post-event? music)
467
+ (music->lily-string music)))
468
+ other-elements))))))))
469
+
470
+ (define-display-method MultiMeasureRestMusic (mmrest)
471
+ (format #f "R~a~{~a~^ ~}"
472
+ (duration->lily-string (ly:music-property mmrest 'duration))
473
+ (map-in-order (lambda (music)
474
+ (music->lily-string music))
475
+ (ly:music-property mmrest 'articulations))))
476
+
477
+ (define-display-method SkipMusic (skip)
478
+ (format #f "\\skip ~a" (duration->lily-string (ly:music-property skip 'duration) #:force-duration #t)))
479
+
480
+ (define-display-method SkippedMusic (skip)
481
+ (format #f "\\skip ~a"
482
+ (music->lily-string (ly:music-property skip 'element))))
483
+
484
+ (define-display-method OttavaEvent (ottava)
485
+ (format #f "\\ottava #~a" (ly:music-property ottava 'ottava-number)))
486
+
487
+ ;;;
488
+ ;;; Notes, rests, skips...
489
+ ;;;
490
+
491
+ (define (simple-note->lily-string event)
492
+ (format #f "~a~a~a~a~a~a~:{~:[-~;~]~a~}" ; pitchname octave !? octave-check duration optional_rest articulations
493
+ (note-name->lily-string (ly:music-property event 'pitch))
494
+ (octave->lily-string (ly:music-property event 'pitch))
495
+ (let ((forced (ly:music-property event 'force-accidental))
496
+ (cautionary (ly:music-property event 'cautionary)))
497
+ (cond ((and (not (null? forced))
498
+ forced
499
+ (not (null? cautionary))
500
+ cautionary)
501
+ "?")
502
+ ((and (not (null? forced)) forced) "!")
503
+ (else "")))
504
+ (let ((octave-check (ly:music-property event 'absolute-octave)))
505
+ (if (not (null? octave-check))
506
+ (format #f "=~a" (cond ((>= octave-check 0)
507
+ (make-string (1+ octave-check) #\'))
508
+ ((< octave-check -1)
509
+ (make-string (1- (* -1 octave-check)) #\,))
510
+ (else "")))
511
+ ""))
512
+ (duration->lily-string (ly:music-property event 'duration))
513
+ (if ((make-music-type-predicate 'RestEvent) event)
514
+ "\\rest" "")
515
+ (map-in-order (lambda (event)
516
+ (list
517
+ (post-event? event)
518
+ (music->lily-string event)))
519
+ (ly:music-property event 'articulations))))
520
+
521
+ (define-display-method NoteEvent (note)
522
+ (cond ((not (null? (ly:music-property note 'pitch))) ;; note
523
+ (simple-note->lily-string note))
524
+ ((not (null? (ly:music-property note 'drum-type))) ;; drum
525
+ (format #f "~a~a~{~a~}" (ly:music-property note 'drum-type)
526
+ (duration->lily-string (ly:music-property note 'duration))
527
+ (map-in-order (lambda (event)
528
+ (music->lily-string event))
529
+ (ly:music-property note 'articulations))))
530
+ (else
531
+ ;; pure duration
532
+ (format #f "~a~{~a~}"
533
+ (duration->lily-string (ly:music-property note 'duration)
534
+ #:force-duration #t)
535
+ (map-in-order (lambda (event)
536
+ (music->lily-string event))
537
+ (ly:music-property note 'articulations))))))
538
+
539
+ (define-display-method ClusterNoteEvent (note)
540
+ (simple-note->lily-string note))
541
+
542
+ (define-display-method RestEvent (rest)
543
+ (if (not (null? (ly:music-property rest 'pitch)))
544
+ (simple-note->lily-string rest)
545
+ (format #f "r~a~{~a~}"
546
+ (duration->lily-string (ly:music-property rest 'duration))
547
+ (map-in-order (lambda (event)
548
+ (music->lily-string event))
549
+ (ly:music-property rest 'articulations)))))
550
+
551
+ (define-display-method SkipEvent (rest)
552
+ (format #f "s~a~{~a~}"
553
+ (duration->lily-string (ly:music-property rest 'duration))
554
+ (map-in-order (lambda (event)
555
+ (music->lily-string event))
556
+ (ly:music-property rest 'articulations))))
557
+
558
+ (define-display-method RepeatedChord (chord)
559
+ (music->lily-string (ly:music-property chord 'element)))
560
+
561
+ (define-display-method AdHocMarkEvent (mark)
562
+ (string-append "\\mark "
563
+ (markup->lily-string (ly:music-property mark 'text))))
564
+
565
+ (define-display-method CodaMarkEvent (mark)
566
+ (let ((label (ly:music-property mark 'label #f)))
567
+ (string-append "\\codaMark "
568
+ (if label (value->lily-string label) "\\default"))))
569
+
570
+ (define-display-method RehearsalMarkEvent (mark)
571
+ (let ((label (ly:music-property mark 'label #f)))
572
+ (string-append "\\mark "
573
+ (if label (value->lily-string label) "\\default"))))
574
+
575
+ (define-display-method SegnoMarkEvent (segno)
576
+ (let ((label (ly:music-property segno 'label #f)))
577
+ (string-append "\\segnoMark "
578
+ (if label (value->lily-string label) "\\default"))))
579
+
580
+ (define-display-method TextMarkEvent (text-mark)
581
+ (let* ((text (ly:music-property text-mark 'text))
582
+ (is-end-mark
583
+ (eqv? LEFT (ly:music-property text-mark 'horizontal-direction))))
584
+ (string-append (if is-end-mark "\\textEndMark " "\\textMark ")
585
+ (value->lily-string text))))
586
+
587
+ (define-display-method AdHocJumpEvent (jump)
588
+ (let ((text (ly:music-property jump 'text)))
589
+ (string-append "\\jump " (value->lily-string text))))
590
+
591
+ (define-display-method SectionLabelEvent (section-label)
592
+ (let ((text (ly:music-property section-label 'text)))
593
+ (string-append "\\sectionLabel " (value->lily-string text))))
594
+
595
+ (define-display-method KeyChangeEvent (key)
596
+ (let ((pitch-alist (ly:music-property key 'pitch-alist))
597
+ (tonic (ly:music-property key 'tonic)))
598
+ (if (or (null? pitch-alist)
599
+ (null? tonic))
600
+ "\\key \\default"
601
+ (let ((c-pitch-alist (ly:transpose-key-alist pitch-alist
602
+ (ly:pitch-diff (ly:make-pitch 0 0 0) tonic))))
603
+ (format #f "\\key ~a \\~a~a"
604
+ (note-name->lily-string (ly:music-property key 'tonic))
605
+ (any (lambda (mode)
606
+ (and (equal? (ly:parser-lookup mode) c-pitch-alist)
607
+ (symbol->string mode)))
608
+ '(major minor ionian locrian aeolian mixolydian lydian phrygian dorian))
609
+ (new-line->lily-string))))))
610
+
611
+ (define-display-method RelativeOctaveCheck (octave)
612
+ (let ((pitch (ly:music-property octave 'pitch)))
613
+ (format #f "\\octaveCheck ~a~a"
614
+ (note-name->lily-string pitch)
615
+ (octave->lily-string pitch))))
616
+
617
+ (define-display-method VoiceSeparator (sep)
618
+ "\\\\")
619
+
620
+ (define-display-method LigatureEvent (ligature)
621
+ (if (= START (ly:music-property ligature 'span-direction))
622
+ "\\["
623
+ "\\]"))
624
+
625
+ (define-display-method BarCheck (check)
626
+ (format #f "|~a" (new-line->lily-string)))
627
+
628
+ (define-display-method PesOrFlexaEvent (expr)
629
+ "\\~")
630
+
631
+ (define-display-method BassFigureEvent (figure)
632
+ ;; TODO handle \+, / and friends as well as arbitrary levels of alteration
633
+ (define (bracketify content) (format #f "[~a]" content))
634
+ (let ((alteration (ly:music-property figure 'alteration))
635
+ (alteration-bracket (ly:music-property figure 'alteration-bracket))
636
+ (fig (ly:music-property figure 'figure))
637
+ (bracket-start (ly:music-property figure 'bracket-start))
638
+ (bracket-stop (ly:music-property figure 'bracket-stop)))
639
+
640
+ (format #f "~a~a~a~a"
641
+ (if (null? bracket-start) "" "[")
642
+ (cond ((null? fig) "_")
643
+ ((markup? fig) (second fig)) ;; fig: (<number-markup> "number")
644
+ (else fig))
645
+ (if (null? alteration)
646
+ ""
647
+ ((if (null? alteration-bracket) identity bracketify)
648
+ (cond
649
+ ((= alteration DOUBLE-FLAT) "--")
650
+ ((= alteration FLAT) "-")
651
+ ((= alteration NATURAL) "!")
652
+ ((= alteration SHARP) "+")
653
+ ((= alteration DOUBLE-SHARP) "++")
654
+ (else ""))))
655
+ (if (null? bracket-stop) "" "]"))))
656
+
657
+ (define-display-method LyricEvent (lyric)
658
+ (format #f "~a~{~a~^ ~}"
659
+ (let ((text (ly:music-property lyric 'text)))
660
+ (if (or (string? text)
661
+ (eqv? (first text) simple-markup))
662
+ ;; a string or a simple markup
663
+ (let ((string (if (string? text)
664
+ text
665
+ (second text))))
666
+ (if (string-match "(\"| |[0-9])" string)
667
+ ;; TODO check exactly in which cases double quotes should be used
668
+ (format #f "~s" string)
669
+ string))
670
+ (markup->lily-string text)))
671
+ (map-in-order music->lily-string
672
+ (ly:music-property lyric 'articulations))))
673
+
674
+ (define-display-method BreathingEvent (event)
675
+ "\\breathe")
676
+
677
+ (define-display-method CaesuraEvent (event)
678
+ "\\caesura")
679
+
680
+ ;;;
681
+ ;;; Staff switches
682
+ ;;;
683
+
684
+ (define-display-method ContextChange (m)
685
+ (format #f "\\change ~a = \"~a\""
686
+ (ly:music-property m 'change-to-type)
687
+ (ly:music-property m 'change-to-id)))
688
+
689
+ ;;;
690
+
691
+ (define-display-method TimeScaledMusic (times)
692
+ (let* ((num (ly:music-property times 'numerator))
693
+ (den (ly:music-property times 'denominator))
694
+ (span (ly:music-property times 'duration #f))
695
+ ;; need to format before changing time scale
696
+ (formatted-span
697
+ (and span (duration->lily-string span #:force-duration #t)))
698
+ (scale (/ num den))
699
+ (time-scale (*time-scale*)))
700
+ (let ((result
701
+ (parameterize ((*force-line-break* #f)
702
+ (*time-scale* (* time-scale scale)))
703
+ (format #f "\\tuplet ~a/~a ~@[~a ~]~a"
704
+ den
705
+ num
706
+ formatted-span
707
+ (music->lily-string (ly:music-property times 'element))))))
708
+ result)))
709
+
710
+ (define-display-method RelativeOctaveMusic (m)
711
+ (format #f "\\absolute ~a"
712
+ (music->lily-string (ly:music-property m 'element))))
713
+
714
+ (define-display-method TransposedMusic (m)
715
+ (music->lily-string (ly:music-property m 'element)))
716
+
717
+ ;;;
718
+ ;;; Repeats
719
+ ;;;
720
+
721
+ (define (repeat->lily-string expr repeat-type)
722
+ (let* ((main (music->lily-string (ly:music-property expr 'element))))
723
+ (format #f "\\repeat ~a ~a ~a ~a"
724
+ repeat-type
725
+ (ly:music-property expr 'repeat-count)
726
+ main
727
+ (let ((alternatives (ly:music-property expr 'elements)))
728
+ (if (null? alternatives)
729
+ ""
730
+ (format #f "\\alternative { ~{~a ~}}"
731
+ (map-in-order (lambda (music)
732
+ (music->lily-string music))
733
+ alternatives)))))))
734
+
735
+ (define-display-method SequentialAlternativeMusic (expr)
736
+ (format #f "\\alternative { ~{~a ~}}"
737
+ (map-in-order (lambda (music)
738
+ (music->lily-string music))
739
+ (ly:music-property expr 'elements))))
740
+
741
+ (define-display-method SegnoRepeatedMusic (expr)
742
+ (repeat->lily-string expr "segno"))
743
+
744
+ (define-display-method VoltaRepeatedMusic (expr)
745
+ (repeat->lily-string expr "volta"))
746
+
747
+ (define-display-method UnfoldedRepeatedMusic (expr)
748
+ (repeat->lily-string expr "unfold"))
749
+
750
+ (define-display-method PercentRepeatedMusic (expr)
751
+ (repeat->lily-string expr "percent"))
752
+
753
+ (define-display-method TremoloRepeatedMusic (expr)
754
+ (repeat->lily-string expr "tremolo"))
755
+
756
+ (define-display-method UnfoldedSpeccedMusic (m)
757
+ (format #f "\\unfolded ~a"
758
+ (music->lily-string (ly:music-property m 'element))))
759
+
760
+ (define-display-method VoltaSpeccedMusic (m)
761
+ (format #f "\\volta ~a ~a"
762
+ (number-list->lily-string (ly:music-property m 'volta-numbers))
763
+ (music->lily-string (ly:music-property m 'element))))
764
+
765
+ ;;;
766
+ ;;; Contexts
767
+ ;;;
768
+
769
+ (define-display-method ContextSpeccedMusic (expr)
770
+ (let ((id (ly:music-property expr 'context-id))
771
+ (create-new (ly:music-property expr 'create-new))
772
+ (music (ly:music-property expr 'element))
773
+ (operations (ly:music-property expr 'property-operations))
774
+ (ctype (ly:music-property expr 'context-type)))
775
+ (format #f "~a ~a~a~a ~a"
776
+ (if (and (not (null? create-new)) create-new)
777
+ "\\new"
778
+ "\\context")
779
+ ctype
780
+ (if (null? id)
781
+ ""
782
+ (format #f " = ~s" id))
783
+ (if (null? operations)
784
+ ""
785
+ (format #f " \\with {~{~a~}~%~v_}"
786
+ (parameterize ((*indent* (+ (*indent*) 2)))
787
+ (map (lambda (op)
788
+ (format #f "~%~v_\\~a ~s"
789
+ (*indent*)
790
+ (first op)
791
+ (second op)))
792
+ operations))
793
+ (*indent*)))
794
+ (parameterize ((*current-context* ctype))
795
+ (music->lily-string music)))))
796
+
797
+ ;; \after
798
+ (define-extra-display-method ContextSpeccedMusic (expr)
799
+ "If `expr' is an \\after expression with a post-event, return
800
+ \"\\after ...\". Otherwise, return #f."
801
+ (with-music-match
802
+ (expr (music 'ContextSpeccedMusic
803
+ context-type 'Bottom
804
+ element
805
+ (music 'SimultaneousMusic
806
+ elements ((music 'SequentialMusic
807
+ elements ((music 'SkipMusic
808
+ duration ?delta)
809
+ (music 'EventChord
810
+ elements ?ev)))
811
+ ?mus))))
812
+ (format #f "\\after ~a ~a ~a"
813
+ (duration->lily-string ?delta)
814
+ (music->lily-string (car ?ev))
815
+ (music->lily-string ?mus))))
816
+
817
+ (define-extra-display-method ContextSpeccedMusic (expr)
818
+ "If `expr' is an \\after expression with a standalone music event, return
819
+ \"\\after ...\". Otherwise, return #f."
820
+ (with-music-match
821
+ (expr (music 'ContextSpeccedMusic
822
+ context-type 'Bottom
823
+ element
824
+ (music 'SimultaneousMusic
825
+ elements ((music 'SequentialMusic
826
+ elements ((music 'SkipMusic
827
+ duration ?delta)
828
+ (music 'EventChord)
829
+ ?ev))
830
+ ?mus))))
831
+ (format #f "\\after ~a ~a ~a"
832
+ (duration->lily-string ?delta)
833
+ (music->lily-string ?ev)
834
+ (music->lily-string ?mus))))
835
+
836
+ ;; \afterGrace
837
+ (define-extra-display-method ContextSpeccedMusic (expr)
838
+ "If `expr' is an \\afterGrace expression, return \"\\afterGrace ...\".
839
+ Otherwise, return #f."
840
+ (with-music-match
841
+ (expr (music 'ContextSpeccedMusic
842
+ context-type 'Bottom
843
+ element
844
+ (music 'SimultaneousMusic
845
+ elements (?main
846
+ (music 'SequentialMusic
847
+ elements ((music 'SkipMusic
848
+ duration ?delay-dur)
849
+ (music 'GraceMusic
850
+ element ?grace)))))))
851
+ (format #f "\\afterGrace ~a ~a ~a"
852
+ (/ (ly:duration-scale ?delay-dur)
853
+ (ly:moment-main (ly:music-length ?main)))
854
+ (music->lily-string ?main)
855
+ (music->lily-string ?grace))))
856
+
857
+
858
+ ;; special cases: \figures \lyrics \drums
859
+ (define-extra-display-method ContextSpeccedMusic (expr)
860
+ (with-music-match (expr (music 'ContextSpeccedMusic
861
+ create-new #t
862
+ property-operations ?op
863
+ context-type ?context-type
864
+ element ?sequence))
865
+ (if (null? ?op)
866
+ (parameterize ((*explicit-mode* #f))
867
+ (case ?context-type
868
+ ((FiguredBass)
869
+ (format #f "\\figures ~a" (music->lily-string ?sequence)))
870
+ ((Lyrics)
871
+ (format #f "\\lyrics ~a" (music->lily-string ?sequence)))
872
+ ((DrumStaff)
873
+ (format #f "\\drums ~a" (music->lily-string ?sequence)))
874
+ (else
875
+ #f)))
876
+ #f)))
877
+
878
+ ;;; Context properties
879
+
880
+ (define-extra-display-method ContextSpeccedMusic (expr)
881
+ (let ((element (ly:music-property expr 'element))
882
+ (property-tuning? (make-music-type-predicate 'PropertySet
883
+ 'PropertyUnset
884
+ 'OverrideProperty
885
+ 'RevertProperty))
886
+ (sequence? (make-music-type-predicate 'SequentialMusic)))
887
+ (if (and (ly:music? element)
888
+ (or (property-tuning? element)
889
+ (and (sequence? element)
890
+ (every property-tuning? (ly:music-property element 'elements)))))
891
+ (parameterize ((*current-context* (ly:music-property expr 'context-type)))
892
+ (music->lily-string element))
893
+ #f)))
894
+
895
+ (define-public (value->lily-string arg)
896
+ (cond ((ly:music? arg)
897
+ (music->lily-string arg))
898
+ ((markup? arg)
899
+ (markup->lily-string arg))
900
+ ((ly:duration? arg)
901
+ (format #f "##{ ~a #}" (duration->lily-string arg #:force-duration #t)))
902
+ ((ly:pitch? arg)
903
+ (format #f "~a~a"
904
+ (note-name->lily-string arg)
905
+ (octave->lily-string arg)))
906
+ (else
907
+ (format #f "#~a" (scheme-expr->lily-string arg)))))
908
+
909
+ (define-display-method PropertySet (expr)
910
+ (let ((property (ly:music-property expr 'symbol))
911
+ (value (ly:music-property expr 'value))
912
+ (once (ly:music-property expr 'once)))
913
+ (format #f "~a\\set ~a~a = ~a~a"
914
+ (if (and (not (null? once)))
915
+ "\\once "
916
+ "")
917
+ (if (eq? (*current-context*) 'Bottom)
918
+ ""
919
+ (format #f "~a." (*current-context*)))
920
+ property
921
+ (value->lily-string value)
922
+ (new-line->lily-string))))
923
+
924
+ (define-display-method PropertyUnset (expr)
925
+ (format #f "~a\\unset ~a~a~a"
926
+ (if (ly:music-property expr 'once #f) "\\once " "")
927
+ (if (eq? (*current-context*) 'Bottom)
928
+ ""
929
+ (format #f "~a." (*current-context*)))
930
+ (ly:music-property expr 'symbol)
931
+ (new-line->lily-string)))
932
+
933
+ ;;; Layout properties
934
+
935
+ (define-display-method OverrideProperty (expr)
936
+ (let* ((symbol (ly:music-property expr 'symbol))
937
+ (properties (ly:music-property expr 'grob-property-path
938
+ (list (ly:music-property expr 'grob-property))))
939
+ (value (ly:music-property expr 'grob-value))
940
+ (once (ly:music-property expr 'once)))
941
+
942
+ (format #f "~a\\override ~{~a~^.~} = ~a~a"
943
+ (if (or (null? once)
944
+ (not once))
945
+ ""
946
+ "\\once ")
947
+ (if (eqv? (*current-context*) 'Bottom)
948
+ (cons symbol properties)
949
+ (cons* (*current-context*) symbol properties))
950
+ (value->lily-string value)
951
+ (new-line->lily-string))))
952
+
953
+ (define-display-method RevertProperty (expr)
954
+ (let* ((symbol (ly:music-property expr 'symbol))
955
+ (properties (ly:music-property expr 'grob-property-path
956
+ (list (ly:music-property expr
957
+ 'grob-property))))
958
+ (once (ly:music-property expr 'once #f)))
959
+ (format #f "~a\\revert ~{~a~^.~}~a"
960
+ (if once "\\once " "")
961
+ (if (eqv? (*current-context*) 'Bottom)
962
+ (cons symbol properties)
963
+ (cons* (*current-context*) symbol properties))
964
+ (new-line->lily-string))))
965
+
966
+ (define-display-method TimeSignatureMusic (expr)
967
+ (let* ((num (ly:music-property expr 'numerator))
968
+ (den (ly:music-property expr 'denominator))
969
+ (structure (ly:music-property expr 'beat-structure)))
970
+ (if (null? structure)
971
+ (format #f
972
+ "\\time ~a/~a~a"
973
+ num den
974
+ (new-line->lily-string))
975
+ (format #f
976
+ ;; This is silly but the latter will also work for #f
977
+ ;; and other
978
+ (if (key-list? structure)
979
+ "\\time ~{~a~^,~} ~a/~a~a"
980
+ "\\time #'~a ~a/~a~a")
981
+ structure num den
982
+ (new-line->lily-string)))))
983
+
984
+ ;;; \melisma and \melismaEnd
985
+ (define-extra-display-method ContextSpeccedMusic (expr)
986
+ "If expr is a melisma, return \"\\melisma\", otherwise, return #f."
987
+ (with-music-match (expr (music 'ContextSpeccedMusic
988
+ element (music 'PropertySet
989
+ value #t
990
+ symbol 'melismaBusy)))
991
+ "\\melisma"))
992
+
993
+ (define-extra-display-method ContextSpeccedMusic (expr)
994
+ "If expr is a melisma end, return \"\\melismaEnd\", otherwise, return #f."
995
+ (with-music-match (expr (music 'ContextSpeccedMusic
996
+ element (music 'PropertyUnset
997
+ symbol 'melismaBusy)))
998
+ "\\melismaEnd"))
999
+
1000
+ ;;; \tempo
1001
+ (define-extra-display-method SequentialMusic (expr)
1002
+ (with-music-match (expr (music 'SequentialMusic
1003
+ elements ((music 'TempoChangeEvent
1004
+ text ?text
1005
+ tempo-unit ?unit
1006
+ metronome-count ?count)
1007
+ (music 'ContextSpeccedMusic
1008
+ element (music 'PropertySet
1009
+ symbol 'tempoWholesPerMinute)))))
1010
+ (format #f "\\tempo ~{~a~a~}~a = ~a~a"
1011
+ (if (markup? ?text)
1012
+ (list (markup->lily-string ?text) " ")
1013
+ '())
1014
+ (duration->lily-string ?unit #:force-duration #t)
1015
+ (if (pair? ?count)
1016
+ (format #f "~a - ~a" (car ?count) (cdr ?count))
1017
+ ?count)
1018
+ (new-line->lily-string))))
1019
+
1020
+ (define-display-method TempoChangeEvent (expr)
1021
+ (let ((text (ly:music-property expr 'text)))
1022
+ (format #f "\\tempo ~a~a"
1023
+ (markup->lily-string text)
1024
+ (new-line->lily-string))))
1025
+
1026
+ ;;; \clef
1027
+ (define clef-name-alist #f)
1028
+ (define-public (memoize-clef-names clefs)
1029
+ "Initialize @code{clef-name-alist}, if not already set."
1030
+ (if (not clef-name-alist)
1031
+ (set! clef-name-alist
1032
+ (map (lambda (name+vals)
1033
+ (cons (cdr name+vals)
1034
+ (car name+vals)))
1035
+ clefs))))
1036
+
1037
+ (define-extra-display-method ContextSpeccedMusic (expr)
1038
+ "If @var{expr} is a clef change, return \"\\clef ...\".
1039
+ Otherwise, return @code{#f}."
1040
+ (with-music-match (expr (music 'ContextSpeccedMusic
1041
+ context-type 'Staff
1042
+ element (music 'SequentialMusic
1043
+ elements ((music 'PropertySet
1044
+ value ?clef-glyph
1045
+ symbol 'clefGlyph)
1046
+ (music 'PropertySet
1047
+ symbol 'middleCClefPosition)
1048
+ (music 'PropertySet
1049
+ value ?clef-position
1050
+ symbol 'clefPosition)
1051
+ (music 'PropertySet
1052
+ value ?clef-transposition
1053
+ symbol 'clefTransposition)
1054
+ (music 'PropertySet
1055
+ value ?clef-transposition-style
1056
+ symbol 'clefTranspositionStyle)
1057
+ (music 'ApplyContext
1058
+ procedure ly:set-middle-C!)))))
1059
+ (let ((clef-name (assoc-get (list ?clef-glyph ?clef-position 0)
1060
+ clef-name-alist)))
1061
+ (and clef-name
1062
+ (format #f "\\clef \"~a~?\"~a"
1063
+ clef-name
1064
+ (case ?clef-transposition-style
1065
+ ((parenthesized) "~a(~a)")
1066
+ ((bracketed) "~a[~a]")
1067
+ (else "~a~a"))
1068
+ (cond ((zero? ?clef-transposition)
1069
+ (list "" ""))
1070
+ ((positive? ?clef-transposition)
1071
+ (list "^" (1+ ?clef-transposition)))
1072
+ (else (list "_" (- 1 ?clef-transposition))))
1073
+ (new-line->lily-string))))))
1074
+
1075
+ (define-display-method BarEvent (expr)
1076
+ (format #f "\\bar \"~a\"~a"
1077
+ (ly:music-property expr 'bar-type)
1078
+ (new-line->lily-string)))
1079
+
1080
+ (define-display-method FineEvent (expr)
1081
+ "\\fine")
1082
+
1083
+ (define-display-method SectionEvent (expr)
1084
+ "\\section")
1085
+
1086
+ ;;; \partial
1087
+ (define-extra-display-method ContextSpeccedMusic (expr)
1088
+ "If `expr' is a partial measure, return \"\\partial ...\".
1089
+ Otherwise, return #f."
1090
+ (with-music-match (expr (music
1091
+ 'ContextSpeccedMusic
1092
+ context-type 'Timing
1093
+ element (music
1094
+ 'PartialSet
1095
+ duration ?duration)))
1096
+
1097
+ (and ?duration
1098
+ (format #f "\\partial ~a"
1099
+ (duration->lily-string ?duration #:force-duration #t)))))
1100
+
1101
+ ;;;
1102
+ ;;;
1103
+
1104
+ (define-display-method ApplyOutputEvent (applyoutput)
1105
+ (let ((proc (ly:music-property applyoutput 'procedure))
1106
+ (ctx (ly:music-property applyoutput 'context-type))
1107
+ (grob (ly:music-property applyoutput 'symbol)))
1108
+ (format #f "\\applyOutput ~a~@[.~a~] #~a"
1109
+ ctx
1110
+ (and (symbol? grob) grob)
1111
+ (or (procedure-name proc)
1112
+ (with-output-to-string
1113
+ (lambda ()
1114
+ (pretty-print (procedure-source proc))))))))
1115
+
1116
+ (define-display-method ApplyContext (applycontext)
1117
+ (let ((proc (ly:music-property applycontext 'procedure)))
1118
+ (format #f "\\applyContext #~a"
1119
+ (or (procedure-name proc)
1120
+ (with-output-to-string
1121
+ (lambda ()
1122
+ (pretty-print (procedure-source proc))))))))
1123
+
1124
+ ;;; \partCombine
1125
+ (define-display-method PartCombineMusic (expr)
1126
+ (with-music-match
1127
+ (expr (music 'PartCombineMusic
1128
+ direction ?dir
1129
+ elements ((music 'ContextSpeccedMusic
1130
+ element
1131
+ (music 'SimultaneousMusic
1132
+ tags (list '$partCombine)
1133
+ elements (?part-one-changes
1134
+ ?part-one)))
1135
+ (music 'ContextSpeccedMusic
1136
+ element
1137
+ (music 'SimultaneousMusic
1138
+ tags (list '$partCombine)
1139
+ elements (?part-two-changes
1140
+ ?part-two))))))
1141
+ (format #f "\\partCombine~a ~a~a~a"
1142
+ (cond ((equal? ?dir UP) "Up")
1143
+ ((equal? ?dir DOWN) "Down")
1144
+ (else ""))
1145
+ (music->lily-string ?part-one)
1146
+ (new-line->lily-string)
1147
+ (music->lily-string ?part-two))))
1148
+
1149
+ (define-extra-display-method ContextSpeccedMusic (expr)
1150
+ "If `expr' is a \\partCombine expression, return \"\\partCombine ...\".
1151
+ Otherwise, return #f."
1152
+ (with-music-match
1153
+ (expr (music 'ContextSpeccedMusic
1154
+ context-type 'Staff
1155
+ element (music 'SimultaneousMusic
1156
+ elements ((music 'ContextSpeccedMusic
1157
+ context-id "one"
1158
+ context-type 'Voice)
1159
+ (music 'ContextSpeccedMusic
1160
+ context-id "two"
1161
+ context-type 'Voice)
1162
+ (music 'ContextSpeccedMusic
1163
+ context-id "shared"
1164
+ context-type 'Voice)
1165
+ (music 'ContextSpeccedMusic
1166
+ context-id "solo"
1167
+ context-type 'Voice)
1168
+ (music 'ContextSpeccedMusic
1169
+ context-id "null"
1170
+ context-type 'NullVoice)
1171
+ ?pc-music
1172
+ ?pc-marks))))
1173
+ (with-music-match
1174
+ (?pc-music (music 'PartCombineMusic))
1175
+ (format #f "~a" (music->lily-string ?pc-music)))))
1176
+
1177
+ (define-display-method UnrelativableMusic (expr)
1178
+ (music->lily-string (ly:music-property expr 'element)))
1179
+
1180
+ ;;; Cue notes
1181
+ (define-display-method QuoteMusic (expr)
1182
+ (or (with-music-match (expr (music
1183
+ 'QuoteMusic
1184
+ quoted-voice-direction ?quoted-voice-direction
1185
+ quoted-music-name ?quoted-music-name
1186
+ quoted-context-id "cue"
1187
+ quoted-context-type 'CueVoice
1188
+ element ?music))
1189
+ (format #f "\\cueDuring ~s #~a ~a"
1190
+ ?quoted-music-name
1191
+ ?quoted-voice-direction
1192
+ (music->lily-string ?music)))
1193
+ (format #f "\\quoteDuring ~s ~a"
1194
+ (ly:music-property expr 'quoted-music-name)
1195
+ (music->lily-string (ly:music-property expr 'element)))))
1196
+
1197
+ ;;;
1198
+ ;;; Breaks
1199
+ ;;;
1200
+ (define-display-method LineBreakEvent (expr)
1201
+ (if (null? (ly:music-property expr 'break-permission))
1202
+ "\\noBreak"
1203
+ "\\break"))
1204
+
1205
+ (define-display-method PageBreakEvent (expr)
1206
+ (if (null? (ly:music-property expr 'break-permission))
1207
+ "\\noPageBreak"
1208
+ "\\pageBreak"))
1209
+
1210
+ (define-display-method PageTurnEvent (expr)
1211
+ (if (null? (ly:music-property expr 'break-permission))
1212
+ "\\noPageTurn"
1213
+ "\\pageTurn"))
1214
+
1215
+ (define-extra-display-method EventChord (expr)
1216
+ (with-music-match (expr (music 'EventChord
1217
+ elements ((music 'LineBreakEvent
1218
+ break-permission 'force)
1219
+ (music 'PageBreakEvent
1220
+ break-permission 'force))))
1221
+ "\\pageBreak"))
1222
+
1223
+ (define-extra-display-method EventChord (expr)
1224
+ (with-music-match (expr (music 'EventChord
1225
+ elements ((music 'LineBreakEvent
1226
+ break-permission 'force)
1227
+ (music 'PageBreakEvent
1228
+ break-permission 'force)
1229
+ (music 'PageTurnEvent
1230
+ break-permission 'force))))
1231
+ "\\pageTurn"))
1232
+
1233
+ (define-extra-display-method EventChord (expr)
1234
+ (with-music-match (expr (music 'EventChord
1235
+ page-marker #t
1236
+ page-label ?lab
1237
+ elements ((music 'LabelEvent
1238
+ page-label ?lab-again))))
1239
+ (string-append "\\label " (value->lily-string ?lab))))
1240
+
1241
+ (define-extra-display-method EventChord (expr)
1242
+ (with-music-match (expr (music 'EventChord
1243
+ elements ((music 'SpacingSectionEvent))))
1244
+ "\\newSpacingSection"))
1245
+
1246
+ ;;;
1247
+ ;;; Lyrics
1248
+ ;;;
1249
+
1250
+ ;;; \lyricsto
1251
+ (define-display-method LyricCombineMusic (expr)
1252
+ (format #f "\\lyricsto ~s ~a"
1253
+ (ly:music-property expr 'associated-context)
1254
+ (parameterize ((*explicit-mode* #f)
1255
+ (*omit-duration* #t))
1256
+ (music->lily-string (ly:music-property expr 'element)))))
1257
+
1258
+ ;; \autoChange
1259
+ (define-extra-display-method SimultaneousMusic (expr)
1260
+ (with-music-match
1261
+ (expr (music 'SimultaneousMusic
1262
+ elements ((music 'ContextSpeccedMusic
1263
+ context-id "up"
1264
+ context-type 'Staff
1265
+ element ?ac-music)
1266
+ (music 'ContextSpeccedMusic
1267
+ context-id "up"
1268
+ context-type 'Staff)
1269
+ (music 'ContextSpeccedMusic
1270
+ context-id "down"
1271
+ context-type 'Staff))))
1272
+ (with-music-match
1273
+ (?ac-music (music 'ContextSpeccedMusic
1274
+ element (music 'SimultaneousMusic
1275
+ tags (list '$autoChange)
1276
+ elements (?changes
1277
+ ?inner-music))))
1278
+ (format #f "\\autoChange ~a" (music->lily-string ?inner-music)))))
1279
+
1280
+ ;; \addlyrics
1281
+ (define-extra-display-method SimultaneousMusic (expr)
1282
+ (with-music-match (expr (music 'SimultaneousMusic
1283
+ elements ((music 'ContextSpeccedMusic
1284
+ context-id ?id
1285
+ context-type 'Voice
1286
+ element ?note-sequence)
1287
+ (music 'ContextSpeccedMusic
1288
+ context-type 'Lyrics
1289
+ create-new #t
1290
+ element (music 'LyricCombineMusic
1291
+ associated-context ?associated-id
1292
+ element ?lyric-sequence)))))
1293
+ (if (string=? ?id ?associated-id)
1294
+ (format #f "~a~a \\addlyrics ~a"
1295
+ (music->lily-string ?note-sequence)
1296
+ (new-line->lily-string)
1297
+ (parameterize ((*explicit-mode* #f)
1298
+ (*omit-duration* #t))
1299
+ (music->lily-string ?lyric-sequence)))
1300
+ #f)))
1301
+
1302
+ ;; Silence internal event sent at end of each lyrics block
1303
+ (define-display-method CompletizeExtenderEvent (expr)
1304
+ "")
1305
+
1306
+
1307
+ (define-display-method StaffHighlightEvent (event)
1308
+ (if (eqv? LEFT (ly:music-property event 'span-direction))
1309
+ (let ((color (ly:music-property event 'color)))
1310
+ ;; TODO: for #(rgb-color r g b) calls, this will convert to
1311
+ ;; #'(r g b). Is this fine? Do we want to make rgb-color
1312
+ ;; return an opaque object instead?
1313
+ (string-append "\\staffHighlight " (value->lily-string color)))
1314
+ "\\stopStaffHighlight"))
1315
+
1316
+ (define-span-event-display-method MeasureCounterEvent (_) #f
1317
+ "\\startMeasureCount" "\\stopMeasureCount")
1318
+
1319
+ (define-span-event-display-method MeasureSpannerEvent (_) #f
1320
+ "\\startMeasureSpanner" "\\stopMeasureSpanner")
1321
+
1322
+ (define-display-method AnnotateOutputEvent (event)
1323
+ (let* ((symbol (ly:music-property event 'symbol #f))
1324
+ (X-offset (ly:music-property event 'X-offset))
1325
+ (Y-offset (ly:music-property event 'Y-offset))
1326
+ (text (ly:music-property event 'text)))
1327
+ (if symbol
1328
+ (format #f "\\balloonGrobText ~a #'(~a . ~a) ~a"
1329
+ (value->lily-string symbol)
1330
+ X-offset
1331
+ Y-offset
1332
+ (value->lily-string text))
1333
+ (format #f "\\balloonText ~a #'(~a . ~a)"
1334
+ X-offset
1335
+ Y-offset
1336
+ (value->lily-string text)))))
1337
+
1338
+
1339
+ (define-extra-display-method EventChord (expr)
1340
+ (with-music-match (expr (music 'EventChord
1341
+ elements (?mus)))
1342
+ (and (eq? 'AnnotateOutputEvent (ly:music-property ?mus 'name))
1343
+ ;; \balloonGrobText attaches an AnnotateOutputEvent to
1344
+ ;; an empty chord, drop that empty chord.
1345
+ (value->lily-string ?mus))))
1346
+
1347
+ (define-display-method PostEvents (expr)
1348
+ (string-join
1349
+ (map music->lily-string (ly:music-property expr 'elements))
1350
+ ""))