lilypond-internals: Scheme functions

 
 4 Scheme functions
 ******************
 
  -- Function: ly:add-context-mod contextmods modification
      Adds the given context MODIFICATION to the list CONTEXTMODS of
      context modifications.
 
  -- Function: ly:add-file-name-alist alist
      Add mappings for error messages from ALIST.
 
  -- Function: ly:add-interface iface desc props
      Add a new grob interface.  IFACE is the interface name, DESC is the
      interface description, and PROPS is the list of user-settable
      properties for the interface.
 
  -- Function: ly:add-listener list disp cl
      Add the listener LIST to the dispatcher DISP.  Whenever DISP hears
      an event of class CL, it is forwarded to LIST.
 
  -- Function: ly:add-option sym val description
      Add a program option SYM.  VAL is the default value and DESCRIPTION
      is a string description.
 
  -- Function: ly:all-grob-interfaces
      Return the hash table with all grob interface descriptions.
 
  -- Function: ly:all-options
      Get all option settings in an alist.
 
  -- Function: ly:all-stencil-expressions
      Return all symbols recognized as stencil expressions.
 
  -- Function: ly:assoc-get key alist default-value strict-checking
      Return value if KEY in ALIST, else DEFAULT-VALUE (or ‘#f’ if not
      specified).  If STRICT-CHECKING is set to ‘#t’ and KEY is not in
      ALIST, a programming_error is output.
 
  -- Function: ly:axis-group-interface::add-element grob grob-element
      Set GROB the parent of GROB-ELEMENT on all axes of GROB.
 
  -- Function: ly:basic-progress str rest
      A Scheme callable function to issue a basic progress message STR.
      The message is formatted with ‘format’ and REST.
 
  -- Function: ly:beam-score-count
      count number of beam scores.
 
  -- Function: ly:book? x
      Is X a ‘Book’ object?
 
  -- Function: ly:book-add-bookpart! book-smob book-part
      Add BOOK-PART to BOOK-SMOB book part list.
 
  -- Function: ly:book-add-score! book-smob score
      Add SCORE to BOOK-SMOB score list.
 
  -- Function: ly:book-book-parts book
      Return book parts in BOOK.
 
  -- Function: ly:book-header book
      Return header in BOOK.
 
  -- Function: ly:book-paper book
      Return paper in BOOK.
 
  -- Function: ly:book-process book-smob default-paper default-layout
           output
      Print book.  OUTPUT is passed to the backend unchanged.  For
      example, it may be a string (for file based outputs) or a socket
      (for network based output).
 
  -- Function: ly:book-process-to-systems book-smob default-paper
           default-layout output
      Print book.  OUTPUT is passed to the backend unchanged.  For
      example, it may be a string (for file based outputs) or a socket
      (for network based output).
 
  -- Function: ly:book-scores book
      Return scores in BOOK.
 
  -- Function: ly:book-set-header! book module
      Set the book header.
 
  -- Function: ly:box? x
      Is X a ‘Box’ object?
 
  -- Function: ly:bp num
      NUM bigpoints (1/72th inch).
 
  -- Function: ly:bracket a iv t p
      Make a bracket in direction A.  The extent of the bracket is given
      by IV.  The wings protrude by an amount of P, which may be
      negative.  The thickness is given by T.
 
  -- Function: ly:broadcast disp ev
      Send the stream event EV to the dispatcher DISP.
 
  -- Function: ly:camel-case->lisp-identifier name-sym
      Convert ‘FooBar_Bla’ to ‘foo-bar-bla’ style symbol.
 
  -- Function: ly:chain-assoc-get key achain default-value
           strict-checking
      Return value for KEY from a list of alists ACHAIN.  If no entry is
      found, return DEFAULT-VALUE or ‘#f’ if DEFAULT-VALUE is not
      specified.  With STRICT-CHECKING set to ‘#t’, a programming_error
      is output in such cases.
 
  -- Function: ly:check-expected-warnings
      Check whether all expected warnings have really been triggered.
 
  -- Function: ly:cm num
      NUM cm.
 
  -- Function: ly:command-line-code
      The Scheme code specified on command-line with ‘-e’.
 
  -- Function: ly:command-line-options
      The Scheme options specified on command-line with ‘-d’.
 
  -- Function: ly:connect-dispatchers to from
      Make the dispatcher TO listen to events from FROM.
 
  -- Function: ly:context? x
      Is X a ‘Context’ object?
 
  -- Function: ly:context-current-moment context
      Return the current moment of CONTEXT.
 
  -- Function: ly:context-def? x
      Is X a ‘Context_def’ object?
 
  -- Function: ly:context-def-lookup def sym val
      Return the value of SYM in context definition DEF (e.g., ‘\Voice’).
      If no value is found, return VAL or ‘'()’ if VAL is undefined.  SYM
      can be any of ‘default-child’, ‘consists’, ‘description’,
      ‘aliases’, ‘accepts’, ‘property-ops’, ‘context-name’, ‘group-type’.
 
  -- Function: ly:context-def-modify def mod
      Return the result of applying the context-mod MOD to the context
      definition DEF.  Does not change DEF.
 
  -- Function: ly:context-event-source context
      Return ‘event-source’ of context CONTEXT.
 
  -- Function: ly:context-events-below context
      Return a ‘stream-distributor’ that distributes all events from
      CONTEXT and all its subcontexts.
 
  -- Function: ly:context-find context name
      Find a parent of CONTEXT that has name or alias NAME.  Return ‘#f’
      if not found.
 
  -- Function: ly:context-grob-definition context name
      Return the definition of NAME (a symbol) within CONTEXT as an
      alist.
 
  -- Function: ly:context-id context
      Return the ID string of CONTEXT, i.e., for ‘\context Voice = "one"
      ...’ return the string ‘one’.
 
  -- Function: ly:context-mod? x
      Is X a ‘Context_mod’ object?
 
  -- Function: ly:context-mod-apply! context mod
      Apply the context modification MOD to CONTEXT.
 
  -- Function: ly:context-name context
      Return the name of CONTEXT, i.e., for ‘\context Voice = "one" ...’
      return the symbol ‘Voice’.
 
  -- Function: ly:context-now context
      Return ‘now-moment’ of context CONTEXT.
 
  -- Function: ly:context-parent context
      Return the parent of CONTEXT, ‘#f’ if none.
 
  -- Function: ly:context-property context sym def
      Return the value for property SYM in CONTEXT.  If DEF is given, and
      property value is ‘'()’, return DEF.
 
  -- Function: ly:context-property-where-defined context name
      Return the context above CONTEXT where NAME is defined.
 
  -- Function: ly:context-pushpop-property context grob eltprop val
      Do a single ‘\override’ or ‘\revert’ operation in CONTEXT.  The
      grob definition GROB is extended with ELTPROP (if VAL is specified)
      or reverted (if unspecified).
 
  -- Function: ly:context-set-property! context name val
      Set value of property NAME in context CONTEXT to VAL.
 
  -- Function: ly:context-unset-property context name
      Unset value of property NAME in context CONTEXT.
 
  -- Function: ly:debug str rest
      A Scheme callable function to issue a debug message STR.  The
      message is formatted with ‘format’ and REST.
 
  -- Function: ly:default-scale
      Get the global default scale.
 
  -- Function: ly:dimension? d
      Return D as a number.  Used to distinguish length variables from
      normal numbers.
 
  -- Function: ly:dir? s
      Is S a direction?  Valid directions are ‘-1’, ‘0’, or ‘1’, where
      ‘-1’ represents left or down, ‘1’ represents right or up, and ‘0’
      represents a neutral direction.
 
  -- Function: ly:dispatcher? x
      Is X a ‘Dispatcher’ object?
 
  -- Function: ly:duration? x
      Is X a ‘Duration’ object?
 
  -- Function: ly:duration<? p1 p2
      Is P1 shorter than P2?
 
  -- Function: ly:duration->string dur
      Convert DUR to a string.
 
  -- Function: ly:duration-dot-count dur
      Extract the dot count from DUR.
 
  -- Function: ly:duration-factor dur
      Extract the compression factor from DUR.  Return it as a pair.
 
  -- Function: ly:duration-length dur
      The length of the duration as a ‘moment’.
 
  -- Function: ly:duration-log dur
      Extract the duration log from DUR.
 
  -- Function: ly:duration-scale dur
      Extract the compression factor from DUR.  Return it as a rational.
 
  -- Function: ly:effective-prefix
      Return effective prefix.
 
  -- Function: ly:encode-string-for-pdf str
      Encode the given string to either Latin1 (which is a subset of the
      PDFDocEncoding) or if that’s not possible to full UTF-16BE with
      Byte-Order-Mark (BOM).
 
  -- Function: ly:engraver-announce-end-grob engraver grob cause
      Announce the end of a grob (i.e., the end of a spanner) originating
      from given ENGRAVER instance, with GROB being a grob.  CAUSE should
      either be another grob or a music event.
 
  -- Function: ly:engraver-make-grob engraver grob-name cause
      Create a grob originating from given ENGRAVER instance, with given
      GROB-NAME, a symbol.  CAUSE should either be another grob or a
      music event.
 
  -- Function: ly:error str rest
      A Scheme callable function to issue the error STR.  The error is
      formatted with ‘format’ and REST.
 
  -- Function: ly:eval-simple-closure delayed closure scm-start scm-end
      Evaluate a simple CLOSURE with the given DELAYED argument.  If
      SCM-START and SCM-END are defined, evaluate it purely with those
      start and end points.
 
  -- Function: ly:event? obj
      Is OBJ a proper (non-rhythmic) event object?
 
  -- Function: ly:event-deep-copy m
      Copy M and all sub expressions of M.
 
  -- Function: ly:event-property sev sym val
      Get the property SYM of stream event SEV.  If SYM is undefined,
      return VAL or ‘'()’ if VAL is not specified.
 
  -- Function: ly:event-set-property! ev sym val
      Set property SYM in event EV to VAL.
 
  -- Function: ly:expand-environment str
      Expand ‘$VAR’ and ‘${VAR}’ in STR.
 
  -- Function: ly:expect-warning str rest
      A Scheme callable function to register a warning to be expected and
      subsequently suppressed.  If the warning is not encountered, a
      warning about the missing warning will be shown.  The message
      should be translated with ‘(_ ...)’ and changing parameters given
      after the format string.
 
  -- Function: ly:find-file name
      Return the absolute file name of NAME, or ‘#f’ if not found.
 
  -- Function: ly:font-config-add-directory dir
      Add directory DIR to FontConfig.
 
  -- Function: ly:font-config-add-font font
      Add font FONT to FontConfig.
 
  -- Function: ly:font-config-display-fonts
      Dump a list of all fonts visible to FontConfig.
 
  -- Function: ly:font-config-get-font-file name
      Get the file for font NAME.
 
  -- Function: ly:font-design-size font
      Given the font metric FONT, return the design size, relative to the
      current output-scale.
 
  -- Function: ly:font-file-name font
      Given the font metric FONT, return the corresponding file name.
 
  -- Function: ly:font-get-glyph font name
      Return a stencil from FONT for the glyph named NAME.  If the glyph
      is not available, return an empty stencil.
 
      Note that this command can only be used to access glyphs from fonts
      loaded with ‘ly:system-font-load’; currently, this means either the
      Emmentaler or Emmentaler-Brace fonts, corresponding to the font
      encodings ‘fetaMusic’ and ‘fetaBraces’, respectively.
 
  -- Function: ly:font-glyph-name-to-charcode font name
      Return the character code for glyph NAME in FONT.
 
      Note that this command can only be used to access glyphs from fonts
      loaded with ‘ly:system-font-load’; currently, this means either the
      Emmentaler or Emmentaler-Brace fonts, corresponding to the font
      encodings ‘fetaMusic’ and ‘fetaBraces’, respectively.
 
  -- Function: ly:font-glyph-name-to-index font name
      Return the index for NAME in FONT.
 
      Note that this command can only be used to access glyphs from fonts
      loaded with ‘ly:system-font-load’; currently, this means either the
      Emmentaler or Emmentaler-Brace fonts, corresponding to the font
      encodings ‘fetaMusic’ and ‘fetaBraces’, respectively.
 
  -- Function: ly:font-index-to-charcode font index
      Return the character code for INDEX in FONT.
 
      Note that this command can only be used to access glyphs from fonts
      loaded with ‘ly:system-font-load’; currently, this means either the
      Emmentaler or Emmentaler-Brace fonts, corresponding to the font
      encodings ‘fetaMusic’ and ‘fetaBraces’, respectively.
 
  -- Function: ly:font-magnification font
      Given the font metric FONT, return the magnification, relative to
      the current output-scale.
 
  -- Function: ly:font-metric? x
      Is X a ‘Font_metric’ object?
 
  -- Function: ly:font-name font
      Given the font metric FONT, return the corresponding name.
 
  -- Function: ly:font-sub-fonts font
      Given the font metric FONT of an OpenType font, return the names of
      the subfonts within FONT.
 
  -- Function: ly:format str rest
      LilyPond specific format, supporting ‘~a’ and ‘~[0-9]f’.  Basic
      support for ‘~s’ is also provided.
 
  -- Function: ly:format-output context
      Given a global context in its final state, process it and return
      the ‘Music_output’ object in its final state.
 
  -- Function: ly:get-all-function-documentation
      Get a hash table with all LilyPond Scheme extension functions.
 
  -- Function: ly:get-all-translators
      Return a list of all translator objects that may be instantiated.
 
  -- Function: ly:get-context-mods contextmod
      Returns the list of context modifications stored in CONTEXTMOD.
 
  -- Function: ly:get-option var
      Get a global option setting.
 
  -- Function: ly:get-spacing-spec from-scm to-scm
      Return the spacing spec going between the two given grobs, FROM_SCM
      and TO_SCM.
 
  -- Function: ly:get-undead undead
      Get back object from UNDEAD.
 
  -- Function: ly:gettext original
      A Scheme wrapper function for ‘gettext’.
 
  -- Function: ly:grob? x
      Is X a ‘Grob’ object?
 
  -- Function: ly:grob-alist-chain grob global
      Get an alist chain for grob GROB, with GLOBAL as the global
      default.  If unspecified, ‘font-defaults’ from the layout block is
      taken.
 
  -- Function: ly:grob-array? x
      Is X a ‘Grob_array’ object?
 
  -- Function: ly:grob-array->list grob-arr
      Return the elements of GROB-ARR as a Scheme list.
 
  -- Function: ly:grob-array-length grob-arr
      Return the length of GROB-ARR.
 
  -- Function: ly:grob-array-ref grob-arr index
      Retrieve the INDEXth element of GROB-ARR.
 
  -- Function: ly:grob-basic-properties grob
      Get the immutable properties of GROB.
 
  -- Function: ly:grob-chain-callback grob proc sym
      Find the callback that is stored as property SYM of grob GROB and
      chain PROC to the head of this, meaning that it is called using
      GROB and the previous callback’s result.
 
  -- Function: ly:grob-common-refpoint grob other axis
      Find the common refpoint of GROB and OTHER for AXIS.
 
  -- Function: ly:grob-common-refpoint-of-array grob others axis
      Find the common refpoint of GROB and OTHERS (a grob-array) for
      AXIS.
 
  -- Function: ly:grob-default-font grob
      Return the default font for grob GROB.
 
  -- Function: ly:grob-extent grob refp axis
      Get the extent in AXIS direction of GROB relative to the grob REFP.
 
  -- Function: ly:grob-get-vertical-axis-group-index grob
      Get the index of the vertical axis group the grob GROB belongs to;
      return ‘-1’ if none is found.
 
  -- Function: ly:grob-interfaces grob
      Return the interfaces list of grob GROB.
 
  -- Function: ly:grob-layout grob
      Get ‘\layout’ definition from grob GROB.
 
  -- Function: ly:grob-object grob sym
      Return the value of a pointer in grob GROB of property SYM.  It
      returns ‘'()’ (end-of-list) if SYM is undefined in GROB.
 
  -- Function: ly:grob-original grob
      Return the unbroken original grob of GROB.
 
  -- Function: ly:grob-parent grob axis
      Get the parent of GROB.  AXIS is 0 for the X-axis, 1 for the
      Y-axis.
 
  -- Function: ly:grob-pq<? a b
      Compare two grob priority queue entries.  This is an internal
      function.
 
  -- Function: ly:grob-properties grob
      Get the mutable properties of GROB.
 
  -- Function: ly:grob-property grob sym val
      Return the value for property SYM of GROB.  If no value is found,
      return VAL or ‘'()’ if VAL is not specified.
 
  -- Function: ly:grob-property-data grob sym
      Return the value for property SYM of GROB, but do not process
      callbacks.
 
  -- Function: ly:grob-pure-height grob refp beg end val
      Return the pure height of GROB given refpoint REFP.  If no value is
      found, return VAL or ‘'()’ if VAL is not specified.
 
  -- Function: ly:grob-pure-property grob sym beg end val
      Return the pure value for property SYM of GROB.  If no value is
      found, return VAL or ‘'()’ if VAL is not specified.
 
  -- Function: ly:grob-relative-coordinate grob refp axis
      Get the coordinate in AXIS direction of GROB relative to the grob
      REFP.
 
  -- Function: ly:grob-robust-relative-extent grob refp axis
      Get the extent in AXIS direction of GROB relative to the grob REFP,
      or ‘(0,0)’ if empty.
 
  -- Function: ly:grob-script-priority-less a b
      Compare two grobs by script priority.  For internal use.
 
  -- Function: ly:grob-set-nested-property! grob symlist val
      Set nested property SYMLIST in grob GROB to value VAL.
 
  -- Function: ly:grob-set-object! grob sym val
      Set SYM in grob GROB to value VAL.
 
  -- Function: ly:grob-set-parent! grob axis parent-grob
      Set PARENT-GROB the parent of grob GROB in axis AXIS.
 
  -- Function: ly:grob-set-property! grob sym val
      Set SYM in grob GROB to value VAL.
 
  -- Function: ly:grob-staff-position sg
      Return the Y-position of SG relative to the staff.
 
  -- Function: ly:grob-suicide! grob
      Kill GROB.
 
  -- Function: ly:grob-system grob
      Return the system grob of GROB.
 
  -- Function: ly:grob-translate-axis! grob d a
      Translate GROB on axis A over distance D.
 
  -- Function: ly:grob-vertical<? a b
      Does A lie above B on the page?
 
  -- Function: ly:gulp-file name size
      Read SIZE characters from the file NAME, and return its contents in
      a string.  If SIZE is undefined, the entire file is read.  The file
      is looked up using the search path.
 
  -- Function: ly:hash-table-keys tab
      Return a list of keys in TAB.
 
  -- Function: ly:inch num
      NUM inches.
 
  -- Function: ly:input-both-locations sip
      Return input location in SIP as ‘(file-name first-line first-column
      last-line last-column)’.
 
  -- Function: ly:input-file-line-char-column sip
      Return input location in SIP as ‘(file-name line char column)’.
 
  -- Function: ly:input-location? x
      Is X an ‘input-location’?
 
  -- Function: ly:input-message sip msg rest
      Print MSG as a GNU compliant error message, pointing to the
      location in SIP.  MSG is interpreted similar to ‘format’’s
      argument, using REST.
 
  -- Function: ly:input-warning sip msg rest
      Print MSG as a GNU compliant warning message, pointing to the
      location in SIP.  MSG is interpreted similar to ‘format’’s
      argument, using REST.
 
  -- Function: ly:interpret-music-expression mus ctx
      Interpret the music expression MUS in the global context CTX.  The
      context is returned in its final state.
 
  -- Function: ly:interpret-stencil-expression expr func arg1 offset
      Parse EXPR, feed bits to FUNC with first arg ARG1 having offset
      OFFSET.
 
  -- Function: ly:intlog2 d
      The 2-logarithm of 1/D.
 
  -- Function: ly:item? g
      Is G an ‘Item’ object?
 
  -- Function: ly:item-break-dir it
      The break status direction of item IT.  ‘-1’ means end of line,
      ‘0’ unbroken, and ‘1’ beginning of line.
 
  -- Function: ly:iterator? x
      Is X a ‘Music_iterator’ object?
 
  -- Function: ly:lexer-keywords lexer
      Return a list of ‘(KEY . CODE)’ pairs, signifying the LilyPond
      reserved words list.
 
  -- Function: ly:lily-lexer? x
      Is X a ‘Lily_lexer’ object?
 
  -- Function: ly:lily-parser? x
      Is X a ‘Lily_parser’ object?
 
  -- Function: ly:listened-event-class? disp cl
      Does DISP listen to any event type in the list CL?
 
  -- Function: ly:listened-event-types disp
      Return a list of all event types that DISP listens to.
 
  -- Function: ly:listener? x
      Is X a ‘Listener’ object?
 
  -- Function: ly:make-book paper header scores
      Make a ‘\book’ of PAPER and HEADER (which may be ‘#f’ as well)
      containing ‘\scores’.
 
  -- Function: ly:make-book-part scores
      Make a ‘\bookpart’ containing ‘\scores’.
 
  -- Function: ly:make-context-mod mod-list
      Creates a context modification, optionally initialized via the list
      of modifications MOD-LIST.
 
  -- Function: ly:make-dispatcher
      Return a newly created dispatcher.
 
  -- Function: ly:make-duration length dotcount num den
      LENGTH is the negative logarithm (base 2) of the duration: 1 is a
      half note, 2 is a quarter note, 3 is an eighth note, etc.  The
      number of dots after the note is given by the optional argument
      DOTCOUNT.
 
      The duration factor is optionally given by integers NUM and DEN,
      alternatively by a single rational number.
 
      A duration is a musical duration, i.e., a length of time described
      by a power of two (whole, half, quarter, etc.)  and a number of
      augmentation dots.
 
  -- Function: ly:make-global-context output-def
      Set up a global interpretation context, using the output block
      OUTPUT-DEF.  The context is returned.
 
  -- Function: ly:make-global-translator global
      Create a translator group and connect it to the global context
      GLOBAL.  The translator group is returned.
 
  -- Function: ly:make-listener callback
      Create a listener.  Any time the listener hears an object, it will
      call CALLBACK with that object.
 
      CALLBACK should take exactly one argument.
 
  -- Function: ly:make-moment m g gn gd
      Create the moment with rational main timing M, and optional grace
      timing G.
 
      A “moment” is a point in musical time.  It consists of a pair of
      rationals (M, G), where M is the timing for the main notes, and G
      the timing for grace notes.  In absence of grace notes, G is zero.
 
      For compatibility reasons, it is possible to write two numbers
      specifying numerator and denominator instead of the rationals.
      These forms cannot be mixed, and the two-argument form is
      disambiguated by the sign of the second argument: if it is
      positive, it can only be a denominator and not a grace timing.
 
  -- Function: ly:make-music props
      Make a C++ ‘Music’ object and initialize it with PROPS.
 
      This function is for internal use and is only called by
      ‘make-music’, which is the preferred interface for creating music
      objects.
 
  -- Function: ly:make-music-function signature func
      Make a function to process music, to be used for the parser.  FUNC
      is the function, and SIGNATURE describes its arguments.
      SIGNATURE’s cdr is a list containing either ‘ly:music?’ predicates
      or other type predicates.  Its car is the syntax function to call.
 
  -- Function: ly:make-music-relative! music pitch
      Make MUSIC relative to PITCH, return final pitch.
 
  -- Function: ly:make-output-def
      Make an output definition.
 
  -- Function: ly:make-page-label-marker label
      Return page marker with label LABEL.
 
  -- Function: ly:make-page-permission-marker symbol permission
      Return page marker with page breaking and turning permissions.
 
  -- Function: ly:make-pango-description-string chain size
      Make a ‘PangoFontDescription’ string for the property alist CHAIN
      at size SIZE.
 
  -- Function: ly:make-paper-outputter port format
      Create an outputter that evaluates within ‘output-’FORMAT, writing
      to PORT.
 
  -- Function: ly:make-pitch octave note alter
      OCTAVE is specified by an integer, zero for the octave containing
      middle C. NOTE is a number indexing the global default scale, with
      0 corresponding to pitch C and 6 usually corresponding to pitch B.
      Optional ALTER is a rational number of 200-cent whole tones for
      alteration.
 
  -- Function: ly:make-prob type init rest
      Create a ‘Prob’ object.
 
  -- Function: ly:make-scale steps
      Create a scale.  The argument is a vector of rational numbers, each
      of which represents the number of 200 cent tones of a pitch above
      the tonic.
 
  -- Function: ly:make-score music
      Return score with MUSIC encapsulated in it.
 
  -- Function: ly:make-simple-closure expr
      Make a simple closure.  EXPR should be form of ‘(FUNC A1 A2 ...)’,
      and will be invoked as ‘(FUNC DELAYED-ARG A1 A2 ...)’.
 
  -- Function: ly:make-spring ideal min-dist
      Make a spring.  IDEAL is the ideal distance of the spring, and
      MIN-DIST is the minimum distance.
 
  -- Function: ly:make-stencil expr xext yext
      Stencils are device independent output expressions.  They carry two
      pieces of information:
 
        1. A specification of how to print this object.  This
           specification is processed by the output backends, for example
           ‘scm/output-ps.scm’.
 
        2. The vertical and horizontal extents of the object, given as
           pairs.  If an extent is unspecified (or if you use
           ‘empty-interval’ as its value), it is taken to be empty.
 
  -- Function: ly:make-stream-event cl proplist
      Create a stream event of class CL with the given mutable property
      list.
 
  -- Function: ly:make-undead object
      This packages OBJECT in a manner that keeps it from triggering
      "Parsed object should be dead" messages.
 
  -- Function: ly:make-unpure-pure-container unpure pure
      Make an unpure-pure container.  UNPURE should be an unpure
      expression, and PURE should be a pure expression.  If PURE is
      omitted, the value of UNPURE will be used twice, except that a
      callback is given two extra arguments that are ignored for the sake
      of pure calculations.
 
  -- Function: ly:message str rest
      A Scheme callable function to issue the message STR.  The message
      is formatted with ‘format’ and REST.
 
  -- Function: ly:minimal-breaking pb
      Break (pages and lines) the ‘Paper_book’ object PB without looking
      for optimal spacing: stack as many lines on a page before moving to
      the next one.
 
  -- Function: ly:mm num
      NUM mm.
 
  -- Function: ly:module->alist mod
      Dump the contents of module MOD as an alist.
 
  -- Function: ly:module-copy dest src
      Copy all bindings from module SRC into DEST.
 
  -- Function: ly:modules-lookup modules sym def
      Look up SYM in the list MODULES, returning the first occurence.  If
      not found, return DEF or ‘#f’ if DEF isn’t specified.
 
  -- Function: ly:moment? x
      Is X a ‘Moment’ object?
 
  -- Function: ly:moment<? a b
      Compare two moments.
 
  -- Function: ly:moment-add a b
      Add two moments.
 
  -- Function: ly:moment-div a b
      Divide two moments.
 
  -- Function: ly:moment-grace mom
      Extract grace timing as a rational number from MOM.
 
  -- Function: ly:moment-grace-denominator mom
      Extract denominator from grace timing.
 
  -- Function: ly:moment-grace-numerator mom
      Extract numerator from grace timing.
 
  -- Function: ly:moment-main mom
      Extract main timing as a rational number from MOM.
 
  -- Function: ly:moment-main-denominator mom
      Extract denominator from main timing.
 
  -- Function: ly:moment-main-numerator mom
      Extract numerator from main timing.
 
  -- Function: ly:moment-mod a b
      Modulo of two moments.
 
  -- Function: ly:moment-mul a b
      Multiply two moments.
 
  -- Function: ly:moment-sub a b
      Subtract two moments.
 
  -- Function: ly:music? obj
      Is OBJ a music object?
 
  -- Function: ly:music-compress m factor
      Compress music object M by moment FACTOR.
 
  -- Function: ly:music-deep-copy m
      Copy M and all sub expressions of M.  M may be an arbitrary type;
      cons cells and music are copied recursively.
 
  -- Function: ly:music-duration-compress mus fact
      Compress MUS by factor FACT, which is a ‘Moment’.
 
  -- Function: ly:music-duration-length mus
      Extract the duration field from MUS and return the length.
 
  -- Function: ly:music-function? x
      Is X a ‘music-function’?
 
  -- Function: ly:music-function-extract x
      Return the Scheme function inside X.
 
  -- Function: ly:music-function-signature x
      Return the function signature inside X.
 
  -- Function: ly:music-length mus
      Get the length of music expression MUS and return it as a ‘Moment’
      object.
 
  -- Function: ly:music-list? lst
      Is LST a list of music objects?
 
  -- Function: ly:music-mutable-properties mus
      Return an alist containing the mutable properties of MUS.  The
      immutable properties are not available, since they are constant and
      initialized by the ‘make-music’ function.
 
  -- Function: ly:music-output? x
      Is X a ‘Music_output’ object?
 
  -- Function: ly:music-property mus sym val
      Return the value for property SYM of music expression MUS.  If no
      value is found, return VAL or ‘'()’ if VAL is not specified.
 
  -- Function: ly:music-set-property! mus sym val
      Set property SYM in music expression MUS to VAL.
 
  -- Function: ly:music-transpose m p
      Transpose M such that central C is mapped to P.  Return M.
 
  -- Function: ly:note-column-accidentals note-column
      Return the ‘AccidentalPlacement’ grob from NOTE-COLUMN if any, or
      ‘SCM_EOL’ otherwise.
 
  -- Function: ly:note-column-dot-column note-column
      Return the ‘DotColumn’ grob from NOTE-COLUMN if any, or ‘SCM_EOL’
      otherwise.
 
  -- Function: ly:note-head::stem-attachment font-metric glyph-name
      Get attachment in FONT-METRIC for attaching a stem to notehead
      GLYPH-NAME.
 
  -- Function: ly:number->string s
      Convert S to a string without generating many decimals.
 
  -- Function: ly:one-line-breaking pb
      Put each score on a single line, and put each line on its own page.
      The paper-width setting will be modified so that every page will be
      wider than the widest line.
 
  -- Function: ly:optimal-breaking pb
      Optimally break (pages and lines) the ‘Paper_book’ object PB to
      minimize badness in bother vertical and horizontal spacing.
 
  -- Function: ly:option-usage port
      Print ‘ly:set-option’ usage.  Optional PORT argumentfor the
      destination defaults to current output port.
 
  -- Function: ly:otf->cff otf-file-name
      Convert the contents of an OTF file to a CFF file, returning it as
      a string.
 
  -- Function: ly:otf-font? font
      Is FONT an OpenType font?
 
  -- Function: ly:otf-font-glyph-info font glyph
      Given the font metric FONT of an OpenType font, return the
      information about named glyph GLYPH (a string).
 
  -- Function: ly:otf-font-table-data font tag
      Extract a table TAG from FONT.  Return empty string for
      non-existent TAG.
 
  -- Function: ly:otf-glyph-count font
      Return the number of glyphs in FONT.
 
  -- Function: ly:otf-glyph-list font
      Return a list of glyph names for FONT.
 
  -- Function: ly:output-def? def
      Is DEF an output definition?
 
  -- Function: ly:output-def-clone def
      Clone output definition DEF.
 
  -- Function: ly:output-def-lookup def sym val
      Return the value of SYM in output definition DEF (e.g., ‘\paper’).
      If no value is found, return VAL or ‘'()’ if VAL is undefined.
 
  -- Function: ly:output-def-parent def
      Return the parent output definition of DEF.
 
  -- Function: ly:output-def-scope def
      Return the variable scope inside DEF.
 
  -- Function: ly:output-def-set-variable! def sym val
      Set an output definition DEF variable SYM to VAL.
 
  -- Function: ly:output-description output-def
      Return the description of translators in OUTPUT-DEF.
 
  -- Function: ly:output-find-context-def output-def context-name
      Return an alist of all context defs (matching CONTEXT-NAMEif given)
      in OUTPUT-DEF.
 
  -- Function: ly:output-formats
      Formats passed to ‘--format’ as a list of strings, used for the
      output.
 
  -- Function: ly:outputter-close outputter
      Close port of OUTPUTTER.
 
  -- Function: ly:outputter-dump-stencil outputter stencil
      Dump stencil EXPR onto OUTPUTTER.
 
  -- Function: ly:outputter-dump-string outputter str
      Dump STR onto OUTPUTTER.
 
  -- Function: ly:outputter-module outputter
      Return output module of OUTPUTTER.
 
  -- Function: ly:outputter-output-scheme outputter expr
      Eval EXPR in module of OUTPUTTER.
 
  -- Function: ly:outputter-port outputter
      Return output port for OUTPUTTER.
 
  -- Function: ly:page-marker? x
      Is X a ‘Page_marker’ object?
 
  -- Function: ly:page-turn-breaking pb
      Optimally break (pages and lines) the ‘Paper_book’ object PB such
      that page turns only happen in specified places, returning its
      pages.
 
  -- Function: ly:pango-font? f
      Is F a pango font?
 
  -- Function: ly:pango-font-physical-fonts f
      Return alist of ‘(ps-name file-name font-index)’ lists for Pango
      font F.
 
  -- Function: ly:paper-book? x
      Is X a ‘Paper_book’ object?
 
  -- Function: ly:paper-book-header pb
      Return the header definition (‘\header’) in ‘Paper_book’ object PB.
 
  -- Function: ly:paper-book-pages pb
      Return pages in ‘Paper_book’ object PB.
 
  -- Function: ly:paper-book-paper pb
      Return the paper output definition (‘\paper’) in ‘Paper_book’
      object PB.
 
  -- Function: ly:paper-book-performances pb
      Return performances in ‘Paper_book’ object PB.
 
  -- Function: ly:paper-book-scopes pb
      Return scopes in ‘Paper_book’ object PB.
 
  -- Function: ly:paper-book-systems pb
      Return systems in ‘Paper_book’ object PB.
 
  -- Function: ly:paper-fonts def
      Return a list containing the fonts from output definition DEF
      (e.g., ‘\paper’).
 
  -- Function: ly:paper-get-font def chain
      Find a font metric in output definition DEF satisfying the
      font-qualifiers in alist chain CHAIN, and return it.  (An alist
      chain is a list of alists, containing grob properties.)
 
  -- Function: ly:paper-get-number def sym
      Return the value of variable SYM in output definition DEF as a
      double.
 
  -- Function: ly:paper-outputscale def
      Return the output-scale for output definition DEF.
 
  -- Function: ly:paper-score-paper-systems paper-score
      Return vector of ‘paper_system’ objects from PAPER-SCORE.
 
  -- Function: ly:paper-system? obj
      Is OBJ a C++ ‘Prob’ object of type ‘paper-system’?
 
  -- Function: ly:paper-system-minimum-distance sys1 sys2
      Measure the minimum distance between these two paper-systems, using
      their stored skylines if possible and falling back to their extents
      otherwise.
 
  -- Function: ly:parse-file name
      Parse a single ‘.ly’ file.  Upon failure, throw ‘ly-file-failed’
      key.
 
  -- Function: ly:parse-string-expression parser-smob ly-code filename
           line
      Parse the string LY-CODE with PARSER-SMOB.  Return the contained
      music expression.  FILENAME and LINE are optional source
      indicators.
 
  -- Function: ly:parsed-undead-list!
      Return the list of objects that have been found live that should
      have been dead, and clear that list.
 
  -- Function: ly:parser-clear-error parser
      Clear the error flag for the parser.
 
  -- Function: ly:parser-clone parser-smob closures location
      Return a clone of PARSER-SMOB.  An association list of port
      positions to closures can be specified in CLOSURES in order to have
      ‘$’ and ‘#’ interpreted in their original lexical environment.  If
      LOCATION is a valid location, it becomes the source of all music
      expressions inside.
 
  -- Function: ly:parser-define! parser-smob symbol val
      Bind SYMBOL to VAL in PARSER-SMOB’s module.
 
  -- Function: ly:parser-error parser msg input
      Display an error message and make the parser fail.
 
  -- Function: ly:parser-has-error? parser
      Does PARSER have an error flag?
 
  -- Function: ly:parser-include-string parser-smob ly-code
      Include the string LY-CODE into the input stream for PARSER-SMOB.
      Can only be used in immediate Scheme expressions (‘$’ instead of
      ‘#’).
 
  -- Function: ly:parser-lexer parser-smob
      Return the lexer for PARSER-SMOB.
 
  -- Function: ly:parser-lookup parser-smob symbol
      Look up SYMBOL in PARSER-SMOB’s module.  Return ‘'()’ if not
      defined.
 
  -- Function: ly:parser-output-name parser
      Return the base name of the output file.
 
  -- Function: ly:parser-parse-string parser-smob ly-code
      Parse the string LY-CODE with PARSER-SMOB.  Upon failure, throw
      ‘ly-file-failed’ key.
 
  -- Function: ly:parser-set-note-names parser names
      Replace current note names in PARSER.  NAMES is an alist of
      symbols.  This only has effect if the current mode is notes.
 
  -- Function: ly:performance-write performance filename
      Write PERFORMANCE to FILENAME.
 
  -- Function: ly:pfb->pfa pfb-file-name
      Convert the contents of a Type 1 font in PFB format to PFA format.
 
  -- Function: ly:pitch? x
      Is X a ‘Pitch’ object?
 
  -- Function: ly:pitch<? p1 p2
      Is P1 lexicographically smaller than P2?
 
  -- Function: ly:pitch-alteration pp
      Extract the alteration from pitch PP.
 
  -- Function: ly:pitch-diff pitch root
      Return pitch DELTA such that PITCH transposed by DELTA equals ROOT.
 
  -- Function: ly:pitch-negate p
      Negate P.
 
  -- Function: ly:pitch-notename pp
      Extract the note name from pitch PP.
 
  -- Function: ly:pitch-octave pp
      Extract the octave from pitch PP.
 
  -- Function: ly:pitch-quartertones pp
      Calculate the number of quarter tones of PP from middle C.
 
  -- Function: ly:pitch-semitones pp
      Calculate the number of semitones of PP from middle C.
 
  -- Function: ly:pitch-steps p
      Number of steps counted from middle C of the pitch P.
 
  -- Function: ly:pitch-tones pp
      Calculate the number of tones of PP from middle C as a rational
      number.
 
  -- Function: ly:pitch-transpose p delta
      Transpose P by the amount DELTA, where DELTA is relative to
      middle C.
 
  -- Function: ly:pointer-group-interface::add-grob grob sym grob-element
      Add GROB-ELEMENT to GROB’s SYM grob array.
 
  -- Function: ly:position-on-line? sg spos
      Return whether SPOS is on a line of the staff associated with the
      grob SG (even on an extender line).
 
  -- Function: ly:prob? x
      Is X a ‘Prob’ object?
 
  -- Function: ly:prob-immutable-properties prob
      Retrieve an alist of immutable properties.
 
  -- Function: ly:prob-mutable-properties prob
      Retrieve an alist of mutable properties.
 
  -- Function: ly:prob-property prob sym val
      Return the value for property SYM of Prob object PROB.  If no value
      is found, return VAL or ‘'()’ if VAL is not specified.
 
  -- Function: ly:prob-property? obj sym
      Is boolean prop SYM of SYM set?
 
  -- Function: ly:prob-set-property! obj sym value
      Set property SYM of OBJ to VALUE.
 
  -- Function: ly:prob-type? obj type
      Is OBJ the specified prob-type?
 
  -- Function: ly:programming-error str rest
      A Scheme callable function to issue the internal warning STR.  The
      message is formatted with ‘format’ and REST.
 
  -- Function: ly:progress str rest
      A Scheme callable function to print progress STR.  The message is
      formatted with ‘format’ and REST.
 
  -- Function: ly:property-lookup-stats sym
      Return hash table with a property access corresponding to SYM.
      Choices are ‘prob’, ‘grob’, and ‘context’.
 
  -- Function: ly:protects
      Return hash of protected objects.
 
  -- Function: ly:pt num
      NUM printer points.
 
  -- Function: ly:register-stencil-expression symbol
      Add SYMBOL as head of a stencil expression.
 
  -- Function: ly:relative-group-extent elements common axis
      Determine the extent of ELEMENTS relative to COMMON in the AXIS
      direction.
 
  -- Function: ly:reset-all-fonts
      Forget all about previously loaded fonts.
 
  -- Function: ly:round-filled-box xext yext blot
      Make a ‘Stencil’ object that prints a black box of dimensions XEXT,
      YEXT and roundness BLOT.
 
  -- Function: ly:round-filled-polygon points blot
      Make a ‘Stencil’ object that prints a black polygon with corners at
      the points defined by POINTS (list of coordinate pairs) and
      roundness BLOT.
 
  -- Function: ly:run-translator mus output-def
      Process MUS according to OUTPUT-DEF.  An interpretation context is
      set up, and MUS is interpreted with it.  The context is returned in
      its final state.
 
      Optionally, this routine takes an object-key to to uniquely
      identify the score block containing it.
 
  -- Function: ly:score? x
      Is X a ‘Score’ object?
 
  -- Function: ly:score-add-output-def! score def
      Add an output definition DEF to SCORE.
 
  -- Function: ly:score-embedded-format score layout
      Run SCORE through LAYOUT (an output definition) scaled to correct
      output-scale already, returning a list of layout-lines.
 
  -- Function: ly:score-error? score
      Was there an error in the score?
 
  -- Function: ly:score-header score
      Return score header.
 
  -- Function: ly:score-music score
      Return score music.
 
  -- Function: ly:score-output-defs score
      All output definitions in a score.
 
  -- Function: ly:score-set-header! score module
      Set the score header.
 
  -- Function: ly:set-default-scale scale
      Set the global default scale.  This determines the tuning of
      pitches with no accidentals or key signatures.  The first pitch is
      C. Alterations are calculated relative to this scale.  The number
      of pitches in this scale determines the number of scale steps that
      make up an octave.  Usually the 7-note major scale.
 
  -- Function: ly:set-grob-modification-callback cb
      Specify a procedure that will be called every time LilyPond
      modifies a grob property.  The callback will receive as arguments
      the grob that is being modified, the name of the C++ file in which
      the modification was requested, the line number in the C++ file in
      which the modification was requested, the name of the function in
      which the modification was requested, the property to be changed,
      and the new value for the property.
 
  -- Function: ly:set-middle-C! context
      Set the ‘middleCPosition’ variable in CONTEXT based on the
      variables ‘middleCClefPosition’ and ‘middleCOffset’.
 
  -- Function: ly:set-option var val
      Set a program option.
 
  -- Function: ly:set-property-cache-callback cb
      Specify a procedure that will be called whenever lilypond
      calculates a callback function and caches the result.  The callback
      will receive as arguments the grob whose property it is, the name
      of the property, the name of the callback that calculated the
      property, and the new (cached) value of the property.
 
  -- Function: ly:simple-closure? clos
      Is CLOS a simple closure?
 
  -- Function: ly:skyline? x
      Is X a ‘Skyline’ object?
 
  -- Function: ly:skyline-empty? sky
      Return whether SKY is empty.
 
  -- Function: ly:skyline-pair? x
      Is X a ‘Skyline_pair’ object?
 
  -- Function: ly:slur-score-count
      count number of slur scores.
 
  -- Function: ly:smob-protects
      Return LilyPond’s internal smob protection list.
 
  -- Function: ly:solve-spring-rod-problem springs rods length ragged
      Solve a spring and rod problem for COUNT objects, that are
      connected by COUNT-1 SPRINGS, and an arbitrary number of RODS.
      COUNT is implicitly given by SPRINGS and RODS.  The SPRINGS
      argument has the format ‘(ideal, inverse_hook)’ and RODS is of the
      form ‘(idx1, idx2, distance)’.
 
      LENGTH is a number, RAGGED a boolean.
 
      The function returns a list containing the force (positive for
      stretching, negative for compressing and ‘#f’ for non-satisfied
      constraints) followed by SPRING-COUNT+1 positions of the objects.
 
  -- Function: ly:source-file? x
      Is X a ‘Source_file’ object?
 
  -- Function: ly:spanner? g
      Is G a spanner object?
 
  -- Function: ly:spanner-bound spanner dir
      Get one of the bounds of SPANNER.  DIR is ‘-1’ for left, and ‘1’
      for right.
 
  -- Function: ly:spanner-broken-into spanner
      Return broken-into list for SPANNER.
 
  -- Function: ly:spanner-set-bound! spanner dir item
      Set grob ITEM as bound in direction DIR for SPANNER.
 
  -- Function: ly:spawn command rest
      Simple interface to g_spawn_sync STR.  The error is formatted with
      ‘format’ and REST.
 
  -- Function: ly:spring? x
      Is X a ‘Spring’ object?
 
  -- Function: ly:spring-set-inverse-compress-strength! spring strength
      Set the inverse compress STRENGTH of SPRING.
 
  -- Function: ly:spring-set-inverse-stretch-strength! spring strength
      Set the inverse stretch STRENGTH of SPRING.
 
  -- Function: ly:staff-symbol-line-thickness grob
      Returns the ‘line-thickness’ of the staff associated with GROB.
 
  -- Function: ly:staff-symbol-staff-radius grob
      Returns the radius of the staff associated with GROB.
 
  -- Function: ly:staff-symbol-staff-space grob
      Returns the ‘staff-space’ of the staff associated with GROB.
 
  -- Function: ly:start-environment
      Return the environment (a list of strings) that was in effect at
      program start.
 
  -- Function: ly:stderr-redirect file-name mode
      Redirect stderr to FILE-NAME, opened with MODE.
 
  -- Function: ly:stencil? x
      Is X a ‘Stencil’ object?
 
  -- Function: ly:stencil-add args
      Combine stencils.  Takes any number of arguments.
 
  -- Function: ly:stencil-aligned-to stil axis dir
      Align STIL using its own extents.  DIR is a number.  ‘-1’ and ‘1’
      are left and right, respectively.  Other values are interpolated
      (so ‘0’ means the center).
 
  -- Function: ly:stencil-combine-at-edge first axis direction second
           padding
      Construct a stencil by putting SECOND next to FIRST.  AXIS can be 0
      (x-axis) or 1 (y-axis).  DIRECTION can be -1 (left or down) or 1
      (right or up).  The stencils are juxtaposed with PADDING as extra
      space.  FIRST and SECOND may also be ‘'()’ or ‘#f’.
 
  -- Function: ly:stencil-empty? stil axis
      Return whether STIL is empty.  If an optional AXIS is supplied, the
      emptiness check is restricted to that axis.
 
  -- Function: ly:stencil-expr stil
      Return the expression of STIL.
 
  -- Function: ly:stencil-extent stil axis
      Return a pair of numbers signifying the extent of STIL in AXIS
      direction (‘0’ or ‘1’ for x and y axis, respectively).
 
  -- Function: ly:stencil-fonts s
      Analyze S, and return a list of fonts used in S.
 
  -- Function: ly:stencil-in-color stc r g b
      Put STC in a different color.
 
  -- Function: ly:stencil-rotate stil angle x y
      Return a stencil STIL rotated ANGLE degrees around the relative
      offset (X, Y).  E.g., an offset of (-1, 1) will rotate the stencil
      around the left upper corner.
 
  -- Function: ly:stencil-rotate-absolute stil angle x y
      Return a stencil STIL rotated ANGLE degrees around point (X, Y),
      given in absolute coordinates.
 
  -- Function: ly:stencil-scale stil x y
      Scale STIL using the horizontal and vertical scaling factors X and
      Y.
 
  -- Function: ly:stencil-stack first axis direction second padding
           mindist
      Construct a stencil by stacking SECOND next to FIRST.  AXIS can be
      0 (x-axis) or 1 (y-axis).  DIRECTION can be -1 (left or down) or 1
      (right or up).  The stencils are juxtaposed with PADDING as extra
      space.  FIRST and SECOND may also be ‘'()’ or ‘#f’.  As opposed to
      ‘ly:stencil-combine-at-edge’, metrics are suited for successively
      accumulating lines of stencils.  Also, SECOND stencil is drawn
      last.
 
      If MINDIST is specified, reference points are placed apart at least
      by this distance.  If either of the stencils is spacing, PADDING
      and MINDIST do not apply.
 
  -- Function: ly:stencil-translate stil offset
      Return a STIL, but translated by OFFSET (a pair of numbers).
 
  -- Function: ly:stencil-translate-axis stil amount axis
      Return a copy of STIL but translated by AMOUNT in AXIS direction.
 
  -- Function: ly:stream-event? obj
      Is ‘OBJ’ a ‘Stream_event’ object?
 
  -- Function: ly:string-percent-encode str
      Encode all characters in string STR with hexadecimal percent escape
      sequences, with the following exceptions: characters ‘-’, ‘.’, ‘/’,
      and ‘_’; and characters in ranges ‘0-9’, ‘A-Z’, and ‘a-z’.
 
  -- Function: ly:string-substitute a b s
      Replace string A by string B in string S.
 
  -- Function: ly:system-font-load name
      Load the OpenType system font ‘NAME.otf’.  Fonts loaded with this
      command must contain three additional SFNT font tables called
      ‘LILC’, ‘LILF’, and ‘LILY’, needed for typesetting musical
      elements.  Currently, only the Emmentaler and the Emmentaler-Brace
      fonts fulfill these requirements.
 
      Note that only ‘ly:font-get-glyph’ and derived code (like
      ‘\lookup’) can access glyphs from the system fonts; text strings
      are handled exclusively via the Pango interface.
 
  -- Function: ly:text-interface::interpret-markup
      Convert a text markup into a stencil.  Takes three arguments,
      LAYOUT, PROPS, and MARKUP.
 
      LAYOUT is a ‘\layout’ block; it may be obtained from a grob with
      ‘ly:grob-layout’.  PROPS is an alist chain, i.e.  a list of alists.
      This is typically obtained with ‘(ly:grob-alist-chain grob
      (ly:output-def-lookup layout 'text-font-defaults))’.  MARKUP is the
      markup text to be processed.
 
  -- Function: ly:translate-cpp-warning-scheme str
      Translates a string in C++ printf format and modifies it to use it
      for scheme formatting.
 
  -- Function: ly:translator? x
      Is X a ‘Translator’ object?
 
  -- Function: ly:translator-context trans
      Return the context of the translator object TRANS.
 
  -- Function: ly:translator-description me
      Return an alist of properties of translator ME.
 
  -- Function: ly:translator-group? x
      Is X a ‘Translator_group’ object?
 
  -- Function: ly:translator-name trans
      Return the type name of the translator object TRANS.  The name is a
      symbol.
 
  -- Function: ly:transpose-key-alist l pit
      Make a new key alist of L transposed by pitch PIT.
 
  -- Function: ly:truncate-list! lst i
      Take at most the first I of list LST.
 
  -- Function: ly:ttf->pfa ttf-file-name idx
      Convert the contents of a TrueType font file to PostScript Type 42
      font, returning it as a string.  The optional IDX argument is
      useful for TrueType collections (TTC) only; it specifies the font
      index within the TTC. The default value of IDX is 0.
 
  -- Function: ly:ttf-ps-name ttf-file-name idx
      Extract the PostScript name from a TrueType font.  The optional IDX
      argument is useful for TrueType collections (TTC) only; it
      specifies the font index within the TTC. The default value of IDX
      is 0.
 
  -- Function: ly:undead? x
      Is X a ‘Undead’ object?
 
  -- Function: ly:unit
      Return the unit used for lengths as a string.
 
  -- Function: ly:unpure-pure-container? clos
      Is CLOS an unpure pure container?
 
  -- Function: ly:unpure-pure-container-pure-part pc
      Return the pure part of PC.
 
  -- Function: ly:unpure-pure-container-unpure-part pc
      Return the unpure part of PC.
 
  -- Function: ly:usage
      Print usage message.
 
  -- Function: ly:verbose-output?
      Was verbose output requested, i.e.  loglevel at least ‘DEBUG’?
 
  -- Function: ly:version
      Return the current lilypond version as a list, e.g., ‘(1 3 127
      uu1)’.
 
  -- Function: ly:warning str rest
      A Scheme callable function to issue the warning STR.  The message
      is formatted with ‘format’ and REST.
 
  -- Function: ly:warning-located location str rest
      A Scheme callable function to issue the warning STR at the
      specified location in an input file.  The message is formatted with
      ‘format’ and REST.
 
  -- Function: ly:wide-char->utf-8 wc
      Encode the Unicode codepoint WC, an integer, as UTF-8.