<!-- header_tag --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd"> <html> <!-- Created on January 24, 2009 by texi2html 1.79 texi2html was written by: Lionel Cons <Lionel.Cons@cern.ch> (original author) Karl Berry <karl@freefriends.org> Olaf Bachmann <obachman@mathematik.uni-kl.de> and many others. Maintained by: Many creative people. Send bugs and suggestions to <texi2html-bug@nongnu.org> --> <head> <title>LilyPond program-reference: 4. Scheme functions</title> <meta name="description" content="LilyPond program-reference: 4. Scheme functions"> <meta name="keywords" content="LilyPond program-reference: 4. Scheme functions"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.79"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link href="index.html#Top" rel="start" title="GNU LilyPond – Internals Reference"> <link href="Indices.html#Indices" rel="index" title="A. Indices"> <link href="index_toc.html#SEC_Contents" rel="contents" title="Table of Contents"> <link href="index_abt.html#SEC_About" rel="help" title="About This Document"> <link href="index.html#Top" rel="up" title="GNU LilyPond – Internals Reference"> <link href="Indices.html#Indices" rel="next" title="A.2 Function index"> <link href="Internal-backend-properties.html#Internal-backend-properties" rel="previous" title="3.4 Internal backend properties"> <link rel="stylesheet" type="text/css" title="Patrick McCarty's design" href="lilypond-mccarty.css"> <link rel="alternate stylesheet" type="text/css" href="lilypond.css" title="Andrew Hawryluk's design"> <link rel="alternate stylesheet" type="text/css" href="lilypond-blue.css" title="Kurt Kroon's blue design"> <!--[if lte IE 7]> <link href="lilypond-ie-fixes.css" rel="stylesheet" type="text/css"> <![endif]--> </head> <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> <div id="main"> <a name="Scheme-functions"></a> <table class="nav_table"> <tr><td valign="middle" align="left" colspan="1">[<a href="Backend.html#Backend" title="Beginning of this chapter or previous chapter"> << Backend </a>]</td><td valign="middle" align="center" colspan="3">[<a href="index.html#Top" title="Cover (top) of document" rel="start">Top</a>][<a href="index_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Indices.html#Indices" title="Index" rel="index">Index</a>][<a href="index_abt.html#SEC_About" title="About (help)" rel="help"> ? </a>]</td><td valign="middle" align="right" colspan="1">[<a href="Indices.html#Indices" title="Next chapter"> Indices >> </a>]</td></tr><tr><td valign="middle" align="left" colspan="2">[<a href="Internal-backend-properties.html#Internal-backend-properties" title="Previous section in reading order" accesskey="p" rel="previous"> < Internal backend properties </a>]</td><td valign="middle" align="center" colspan="1">[<a href="index.html#Top" title="Up section" accesskey="u" rel="up"> Up : Top </a>]</td><td valign="middle" align="right" colspan="2">[<a href="Indices.html#Indices" title="Next section in reading order" accesskey="n" rel="next"> Indices > </a>]</td></tr></table> <a name="Scheme-functions"></a> <h1 class="chapter">4. Scheme functions</h1> <dl> <dt><a name="index-dispatcher"></a><u>Function:</u> <b>dispatcher</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Dispatcher</code> object? </p></dd></dl> <dl> <dt><a name="index-listener"></a><u>Function:</u> <b>listener</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Listener</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003aadd_002dfile_002dname_002dalist"></a><u>Function:</u> <b>ly:add-file-name-alist</b><i> alist</i></dt> <dd><p>Add mappings for error messages from <var>alist</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aadd_002dinterface"></a><u>Function:</u> <b>ly:add-interface</b><i> a b c</i></dt> <dd><p>Add an interface description. </p></dd></dl> <dl> <dt><a name="index-ly_003aadd_002dlistener"></a><u>Function:</u> <b>ly:add-listener</b><i> list disp cl</i></dt> <dd><p>Add the listener <var>list</var> to the dispatcher <var>disp</var>. Whenever <var>disp</var> hears an event of class <var>cl</var>, it is forwarded to <var>list</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aadd_002doption"></a><u>Function:</u> <b>ly:add-option</b><i> sym val description</i></dt> <dd><p>Add a program option <var>sym</var> with default <var>val</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aall_002dgrob_002dinterfaces"></a><u>Function:</u> <b>ly:all-grob-interfaces</b></dt> <dd><p>Get a hash table with all interface descriptions. </p></dd></dl> <dl> <dt><a name="index-ly_003aall_002doptions"></a><u>Function:</u> <b>ly:all-options</b></dt> <dd><p>Get all option settings in an alist. </p></dd></dl> <dl> <dt><a name="index-ly_003aall_002dstencil_002dexpressions"></a><u>Function:</u> <b>ly:all-stencil-expressions</b></dt> <dd><p>Return all symbols recognized as stencil expressions. </p></dd></dl> <dl> <dt><a name="index-ly_003aassoc_002dget"></a><u>Function:</u> <b>ly:assoc-get</b><i> key alist default-value</i></dt> <dd><p>Return value if <var>key</var> in <var>alist</var>, else <code>default-value</code> (or <code>#f</code> if not specified). </p></dd></dl> <dl> <dt><a name="index-ly_003abook_002dadd_002dbookpart_0021"></a><u>Function:</u> <b>ly:book-add-bookpart!</b><i> book-smob book-part</i></dt> <dd><p>Add <var>book_part</var> to <var>book-smob</var> book part list. </p></dd></dl> <dl> <dt><a name="index-ly_003abook_002dadd_002dscore_0021"></a><u>Function:</u> <b>ly:book-add-score!</b><i> book-smob score</i></dt> <dd><p>Add <var>score</var> to <var>book-smob</var> score list. </p></dd></dl> <dl> <dt><a name="index-ly_003abook_002dprocess"></a><u>Function:</u> <b>ly:book-process</b><i> book-smob default-paper default-layout output</i></dt> <dd><p>Print book. <var>output</var> is passed to the backend unchanged. For example, it may be a string (for file based outputs) or a socket (for network based output). </p></dd></dl> <dl> <dt><a name="index-ly_003abook_002dprocess_002dto_002dsystems"></a><u>Function:</u> <b>ly:book-process-to-systems</b><i> book-smob default-paper default-layout output</i></dt> <dd><p>Print book. <var>output</var> is passed to the backend unchanged. For example, it may be a string (for file based outputs) or a socket (for network based output). </p></dd></dl> <dl> <dt><a name="index-ly_003abox_003f"></a><u>Function:</u> <b>ly:box?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Box</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003abp"></a><u>Function:</u> <b>ly:bp</b><i> num</i></dt> <dd><p><var>num</var> bigpoints (1/72th inch). </p></dd></dl> <dl> <dt><a name="index-ly_003abracket"></a><u>Function:</u> <b>ly:bracket</b><i> a iv t p</i></dt> <dd><p>Make a bracket in direction <var>a</var>. The extent of the bracket is given by <var>iv</var>. The wings protrude by an amount of <var>p</var>, which may be negative. The thickness is given by <var>t</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003abroadcast"></a><u>Function:</u> <b>ly:broadcast</b><i> disp ev</i></dt> <dd><p>Send the stream event <var>ev</var> to the dispatcher <var>disp</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003acamel_002dcase_002d_003elisp_002didentifier"></a><u>Function:</u> <b>ly:camel-case->lisp-identifier</b><i> name-sym</i></dt> <dd><p>Convert <code>FooBar_Bla</code> to <code>foo-bar-bla</code> style symbol. </p></dd></dl> <dl> <dt><a name="index-ly_003achain_002dassoc_002dget"></a><u>Function:</u> <b>ly:chain-assoc-get</b><i> key achain dfault</i></dt> <dd><p>Return value for <var>key</var> from a list of alists <var>achain</var>. If no entry is found, return <var>dfault</var> or <code>#f</code> if no <var>dfault</var> is specified. </p></dd></dl> <dl> <dt><a name="index-ly_003aclear_002danonymous_002dmodules"></a><u>Function:</u> <b>ly:clear-anonymous-modules</b></dt> <dd><p>Plug a GUILE 1.6 and 1.7 memory leak by breaking a weak reference pointer cycle explicitly. </p></dd></dl> <dl> <dt><a name="index-ly_003acm"></a><u>Function:</u> <b>ly:cm</b><i> num</i></dt> <dd><p><var>num</var> cm. </p></dd></dl> <dl> <dt><a name="index-ly_003acommand_002dline_002dcode"></a><u>Function:</u> <b>ly:command-line-code</b></dt> <dd><p>The Scheme code specified on command-line with ‘<samp>-e</samp>’. </p></dd></dl> <dl> <dt><a name="index-ly_003acommand_002dline_002doptions"></a><u>Function:</u> <b>ly:command-line-options</b></dt> <dd><p>The Scheme options specified on command-line with ‘<samp>-d</samp>’. </p></dd></dl> <dl> <dt><a name="index-ly_003acommand_002dline_002dverbose_003f"></a><u>Function:</u> <b>ly:command-line-verbose?</b></dt> <dd><p>Was <code>be_verbose_global</code> set? </p></dd></dl> <dl> <dt><a name="index-ly_003aconnect_002ddispatchers"></a><u>Function:</u> <b>ly:connect-dispatchers</b><i> to from</i></dt> <dd><p>Make the dispatcher <var>to</var> listen to events from <var>from</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003acontext_002devent_002dsource"></a><u>Function:</u> <b>ly:context-event-source</b><i> context</i></dt> <dd><p>Return <code>event-source</code> of context <var>context</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003acontext_002devents_002dbelow"></a><u>Function:</u> <b>ly:context-events-below</b><i> context</i></dt> <dd><p>Return a <code>stream-distributor</code> that distributes all events from <var>context</var> and all its subcontexts. </p></dd></dl> <dl> <dt><a name="index-ly_003acontext_002dfind"></a><u>Function:</u> <b>ly:context-find</b><i> context name</i></dt> <dd><p>Find a parent of <var>context</var> that has name or alias <var>name</var>. Return <code>#f</code> if not found. </p></dd></dl> <dl> <dt><a name="index-ly_003acontext_002dgrob_002ddefinition"></a><u>Function:</u> <b>ly:context-grob-definition</b><i> context name</i></dt> <dd><p>Return the definition of <var>name</var> (a symbol) within <var>context</var> as an alist. </p></dd></dl> <dl> <dt><a name="index-ly_003acontext_002did"></a><u>Function:</u> <b>ly:context-id</b><i> context</i></dt> <dd><p>Return the ID string of <var>context</var>, i.e., for <code>\context Voice = one …</code> return the string <code>one</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003acontext_002dname"></a><u>Function:</u> <b>ly:context-name</b><i> context</i></dt> <dd><p>Return the name of <var>context</var>, i.e., for <code>\context Voice = one …</code> return the symbol <code>Voice</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003acontext_002dnow"></a><u>Function:</u> <b>ly:context-now</b><i> context</i></dt> <dd><p>Return <code>now-moment</code> of context <var>context</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003acontext_002dparent"></a><u>Function:</u> <b>ly:context-parent</b><i> context</i></dt> <dd><p>Return the parent of <var>context</var>, <code>#f</code> if none. </p></dd></dl> <dl> <dt><a name="index-ly_003acontext_002dproperty"></a><u>Function:</u> <b>ly:context-property</b><i> c name</i></dt> <dd><p>Return the value of <var>name</var> from context <var>c</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003acontext_002dproperty_002dwhere_002ddefined"></a><u>Function:</u> <b>ly:context-property-where-defined</b><i> context name</i></dt> <dd><p>Return the context above <var>context</var> where <var>name</var> is defined. </p></dd></dl> <dl> <dt><a name="index-ly_003acontext_002dpushpop_002dproperty"></a><u>Function:</u> <b>ly:context-pushpop-property</b><i> context grob eltprop val</i></dt> <dd><p>Do a single <code>\override</code> or <code>\revert</code> operation in <var>context</var>. The grob definition <var>grob</var> is extended with <var>eltprop</var> (if <var>val</var> is specified) or reverted (if unspecified). </p></dd></dl> <dl> <dt><a name="index-ly_003acontext_002dset_002dproperty_0021"></a><u>Function:</u> <b>ly:context-set-property!</b><i> context name val</i></dt> <dd><p>Set value of property <var>name</var> in context <var>context</var> to <var>val</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003acontext_002dunset_002dproperty"></a><u>Function:</u> <b>ly:context-unset-property</b><i> context name</i></dt> <dd><p>Unset value of property <var>name</var> in context <var>context</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003acontext_003f"></a><u>Function:</u> <b>ly:context?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Context</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003adefault_002dscale"></a><u>Function:</u> <b>ly:default-scale</b></dt> <dd><p>Get the global default scale. </p></dd></dl> <dl> <dt><a name="index-ly_003adimension_003f"></a><u>Function:</u> <b>ly:dimension?</b><i> d</i></dt> <dd><p>Return <var>d</var> as a number. Used to distinguish length variables from normal numbers. </p></dd></dl> <dl> <dt><a name="index-ly_003adir_003f"></a><u>Function:</u> <b>ly:dir?</b><i> s</i></dt> <dd><p>A type predicate. The direction <code>s</code> is <code>-1</code>, <code>0</code> or <code>1</code>, where <code>-1</code> represents left or down and <code>1</code> represents right or up. </p></dd></dl> <dl> <dt><a name="index-ly_003aduration_002d_003estring"></a><u>Function:</u> <b>ly:duration->string</b><i> dur</i></dt> <dd><p>Convert <var>dur</var> to a string. </p></dd></dl> <dl> <dt><a name="index-ly_003aduration_002ddot_002dcount"></a><u>Function:</u> <b>ly:duration-dot-count</b><i> dur</i></dt> <dd><p>Extract the dot count from <var>dur</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aduration_002dfactor"></a><u>Function:</u> <b>ly:duration-factor</b><i> dur</i></dt> <dd><p>Extract the compression factor from <var>dur</var>. Return it as a pair. </p></dd></dl> <dl> <dt><a name="index-ly_003aduration_002dlength"></a><u>Function:</u> <b>ly:duration-length</b><i> dur</i></dt> <dd><p>The length of the duration as a <code>moment</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003aduration_002dlog"></a><u>Function:</u> <b>ly:duration-log</b><i> dur</i></dt> <dd><p>Extract the duration log from <var>dur</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aduration_003c_003f"></a><u>Function:</u> <b>ly:duration<?</b><i> p1 p2</i></dt> <dd><p>Is <var>p1</var> shorter than <var>p2</var>? </p></dd></dl> <dl> <dt><a name="index-ly_003aduration_003f"></a><u>Function:</u> <b>ly:duration?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Duration</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003aeffective_002dprefix"></a><u>Function:</u> <b>ly:effective-prefix</b></dt> <dd><p>Return effective prefix. </p></dd></dl> <dl> <dt><a name="index-ly_003aerror"></a><u>Function:</u> <b>ly:error</b><i> str rest</i></dt> <dd><p>A Scheme callable function to issue the error <var>str</var>. The error is formatted with <code>format</code> and <var>rest</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aeval_002dsimple_002dclosure"></a><u>Function:</u> <b>ly:eval-simple-closure</b><i> delayed closure scm-start scm-end</i></dt> <dd><p>Evaluate a simple <var>closure</var> with the given <var>delayed</var> argument. If <var>scm-start</var> and <var>scm-end</var> are defined, evaluate it purely with those start and end points. </p></dd></dl> <dl> <dt><a name="index-ly_003aevent_002ddeep_002dcopy"></a><u>Function:</u> <b>ly:event-deep-copy</b><i> m</i></dt> <dd><p>Copy <var>m</var> and all sub expressions of <var>m</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aevent_002dproperty"></a><u>Function:</u> <b>ly:event-property</b><i> sev sym</i></dt> <dd><p>Get the property <var>sym</var> of stream event <var>mus</var>. If <var>sym</var> is undefined, return <code>'()</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003aevent_002dset_002dproperty_0021"></a><u>Function:</u> <b>ly:event-set-property!</b><i> ev sym val</i></dt> <dd><p>Set property <var>sym</var> in event <var>ev</var> to <var>val</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aexpand_002denvironment"></a><u>Function:</u> <b>ly:expand-environment</b><i> str</i></dt> <dd><p>Expand <code>$VAR</code> and <code>${VAR}</code> in <var>str</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aexport"></a><u>Function:</u> <b>ly:export</b><i> arg</i></dt> <dd><p>Export a Scheme object to the parser so it is treated as an identifier. </p></dd></dl> <dl> <dt><a name="index-ly_003afind_002daccidentals_002dsimple"></a><u>Function:</u> <b>ly:find-accidentals-simple</b><i> keysig pitch-scm barnum laziness octaveness</i></dt> <dd><p>Checks the need for an accidental and a ‘restore’ accidental against a key signature. The <var>laziness</var> is the number of bars for which reminder accidentals are used (ie. if <var>laziness</var> is zero, we only cancel accidentals in the same bar; if <var>laziness</var> is three, we cancel accidentals up to three bars after they first appear. <var>octaveness</var> is either <code>'same-octave</code> or <code>'any-octave</code> and it specifies whether accidentals should be canceled in different octaves. </p></dd></dl> <dl> <dt><a name="index-ly_003afind_002dfile"></a><u>Function:</u> <b>ly:find-file</b><i> name</i></dt> <dd><p>Return the absolute file name of <var>name</var>, or <code>#f</code> if not found. </p></dd></dl> <dl> <dt><a name="index-ly_003afont_002dconfig_002dadd_002ddirectory"></a><u>Function:</u> <b>ly:font-config-add-directory</b><i> dir</i></dt> <dd><p>Add directory <var>dir</var> to FontConfig. </p></dd></dl> <dl> <dt><a name="index-ly_003afont_002dconfig_002dadd_002dfont"></a><u>Function:</u> <b>ly:font-config-add-font</b><i> font</i></dt> <dd><p>Add font <var>font</var> to FontConfig. </p></dd></dl> <dl> <dt><a name="index-ly_003afont_002dconfig_002ddisplay_002dfonts"></a><u>Function:</u> <b>ly:font-config-display-fonts</b></dt> <dd><p>Dump a list of all fonts visible to FontConfig. </p></dd></dl> <dl> <dt><a name="index-ly_003afont_002dconfig_002dget_002dfont_002dfile"></a><u>Function:</u> <b>ly:font-config-get-font-file</b><i> name</i></dt> <dd><p>Get the file for font <var>name</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003afont_002ddesign_002dsize"></a><u>Function:</u> <b>ly:font-design-size</b><i> font</i></dt> <dd><p>Given the font metric <var>font</var>, return the design size, relative to the current output-scale. </p></dd></dl> <dl> <dt><a name="index-ly_003afont_002dfile_002dname"></a><u>Function:</u> <b>ly:font-file-name</b><i> font</i></dt> <dd><p>Given the font metric <var>font</var>, return the corresponding file name. </p></dd></dl> <dl> <dt><a name="index-ly_003afont_002dget_002dglyph"></a><u>Function:</u> <b>ly:font-get-glyph</b><i> font name</i></dt> <dd><p>Return a stencil from <var>font</var> for the glyph named <var>name</var>. If the glyph is not available, return an empty stencil. </p> <p>Note that this command can only be used to access glyphs from fonts loaded with <code>ly:system-font-load</code>; currently, this means either the Emmentaler or Aybabtu fonts, corresponding to the font encodings <code>fetaMusic</code> and <code>fetaBraces</code>, respectively. </p></dd></dl> <dl> <dt><a name="index-ly_003afont_002dglyph_002dname_002dto_002dcharcode"></a><u>Function:</u> <b>ly:font-glyph-name-to-charcode</b><i> font name</i></dt> <dd><p>Return the character code for glyph <var>name</var> in <var>font</var>. </p> <p>Note that this command can only be used to access glyphs from fonts loaded with <code>ly:system-font-load</code>; currently, this means either the Emmentaler or Aybabtu fonts, corresponding to the font encodings <code>fetaMusic</code> and <code>fetaBraces</code>, respectively. </p></dd></dl> <dl> <dt><a name="index-ly_003afont_002dglyph_002dname_002dto_002dindex"></a><u>Function:</u> <b>ly:font-glyph-name-to-index</b><i> font name</i></dt> <dd><p>Return the index for <var>name</var> in <var>font</var>. </p> <p>Note that this command can only be used to access glyphs from fonts loaded with <code>ly:system-font-load</code>; currently, this means either the Emmentaler or Aybabtu fonts, corresponding to the font encodings <code>fetaMusic</code> and <code>fetaBraces</code>, respectively. </p></dd></dl> <dl> <dt><a name="index-ly_003afont_002dindex_002dto_002dcharcode"></a><u>Function:</u> <b>ly:font-index-to-charcode</b><i> font index</i></dt> <dd><p>Return the character code for <var>index</var> in <var>font</var>. </p> <p>Note that this command can only be used to access glyphs from fonts loaded with <code>ly:system-font-load</code>; currently, this means either the Emmentaler or Aybabtu fonts, corresponding to the font encodings <code>fetaMusic</code> and <code>fetaBraces</code>, respectively. </p></dd></dl> <dl> <dt><a name="index-ly_003afont_002dmagnification"></a><u>Function:</u> <b>ly:font-magnification</b><i> font</i></dt> <dd><p>Given the font metric <var>font</var>, return the magnification, relative to the current output-scale. </p></dd></dl> <dl> <dt><a name="index-ly_003afont_002dmetric_003f"></a><u>Function:</u> <b>ly:font-metric?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Font_metric</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003afont_002dname"></a><u>Function:</u> <b>ly:font-name</b><i> font</i></dt> <dd><p>Given the font metric <var>font</var>, return the corresponding name. </p></dd></dl> <dl> <dt><a name="index-ly_003afont_002dsub_002dfonts"></a><u>Function:</u> <b>ly:font-sub-fonts</b><i> font</i></dt> <dd><p>Given the font metric <var>font</var> of an OpenType font, return the names of the subfonts within <var>font</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aformat"></a><u>Function:</u> <b>ly:format</b><i> str rest</i></dt> <dd><p>LilyPond specific format, supporting <code>~a</code> and <code>~[0-9]f</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003aformat_002doutput"></a><u>Function:</u> <b>ly:format-output</b><i> context</i></dt> <dd><p>Given a global context in its final state, process it and return the <code>Music_output</code> object in its final state. </p></dd></dl> <dl> <dt><a name="index-ly_003aget_002dall_002dfunction_002ddocumentation"></a><u>Function:</u> <b>ly:get-all-function-documentation</b></dt> <dd><p>Get a hash table with all LilyPond Scheme extension functions. </p></dd></dl> <dl> <dt><a name="index-ly_003aget_002dall_002dtranslators"></a><u>Function:</u> <b>ly:get-all-translators</b></dt> <dd><p>Return a list of all translator objects that may be instantiated. </p></dd></dl> <dl> <dt><a name="index-ly_003aget_002dglyph"></a><u>Function:</u> <b>ly:get-glyph</b><i> font index</i></dt> <dd><p>Retrieve a stencil for the glyph numbered <var>index</var> in <var>font</var>. </p> <p>Note that this command can only be used to access glyphs from fonts loaded with <code>ly:system-font-load</code>; currently, this means either the Emmentaler or Aybabtu fonts, corresponding to the font encodings <code>fetaMusic</code> and <code>fetaBraces</code>, respectively. </p></dd></dl> <dl> <dt><a name="index-ly_003aget_002dlistened_002devent_002dclasses"></a><u>Function:</u> <b>ly:get-listened-event-classes</b></dt> <dd><p>Return a list of all event classes that some translator listens to. </p></dd></dl> <dl> <dt><a name="index-ly_003aget_002doption"></a><u>Function:</u> <b>ly:get-option</b><i> var</i></dt> <dd><p>Get a global option setting. </p></dd></dl> <dl> <dt><a name="index-ly_003agettext"></a><u>Function:</u> <b>ly:gettext</b><i> original</i></dt> <dd><p>A Scheme wrapper function for <code>gettext</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dalist_002dchain"></a><u>Function:</u> <b>ly:grob-alist-chain</b><i> grob global</i></dt> <dd><p>Get an alist chain for grob <var>grob</var>, with <var>global</var> as the global default. If unspecified, <code>font-defaults</code> from the layout block is taken. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002darray_002dlength"></a><u>Function:</u> <b>ly:grob-array-length</b><i> grob-arr</i></dt> <dd><p>Return the length of <var>grob-arr</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002darray_002dref"></a><u>Function:</u> <b>ly:grob-array-ref</b><i> grob-arr index</i></dt> <dd><p>Retrieve the <var>index</var>th element of <var>grob-arr</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002darray_003f"></a><u>Function:</u> <b>ly:grob-array?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Grob_array</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dbasic_002dproperties"></a><u>Function:</u> <b>ly:grob-basic-properties</b><i> grob</i></dt> <dd><p>Get the immutable properties of <var>grob</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dcommon_002drefpoint"></a><u>Function:</u> <b>ly:grob-common-refpoint</b><i> grob other axis</i></dt> <dd><p>Find the common refpoint of <var>grob</var> and <var>other</var> for <var>axis</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dcommon_002drefpoint_002dof_002darray"></a><u>Function:</u> <b>ly:grob-common-refpoint-of-array</b><i> grob others axis</i></dt> <dd><p>Find the common refpoint of <var>grob</var> and <var>others</var> (a grob-array) for <var>axis</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002ddefault_002dfont"></a><u>Function:</u> <b>ly:grob-default-font</b><i> grob</i></dt> <dd><p>Return the default font for grob <var>gr</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dextent"></a><u>Function:</u> <b>ly:grob-extent</b><i> grob refp axis</i></dt> <dd><p>Get the extent in <var>axis</var> direction of <var>grob</var> relative to the grob <var>refp</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dinterfaces"></a><u>Function:</u> <b>ly:grob-interfaces</b><i> grob</i></dt> <dd><p>Return the interfaces list of grob <var>grob</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dlayout"></a><u>Function:</u> <b>ly:grob-layout</b><i> grob</i></dt> <dd><p>Get <code>\layout</code> definition from grob <var>grob</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dobject"></a><u>Function:</u> <b>ly:grob-object</b><i> grob sym</i></dt> <dd><p>Return the value of a pointer in grob <var>g</var> of property <var>sym</var>. It returns <code>'()</code> (end-of-list) if <var>sym</var> is undefined in <var>g</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002doriginal"></a><u>Function:</u> <b>ly:grob-original</b><i> grob</i></dt> <dd><p>Return the unbroken original grob of <var>grob</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dparent"></a><u>Function:</u> <b>ly:grob-parent</b><i> grob axis</i></dt> <dd><p>Get the parent of <var>grob</var>. <var>axis</var> is 0 for the X-axis, 1 for the Y-axis. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dpq_003c_003f"></a><u>Function:</u> <b>ly:grob-pq<?</b><i> a b</i></dt> <dd><p>Compare two grob priority queue entries. This is an internal function. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dproperties"></a><u>Function:</u> <b>ly:grob-properties</b><i> grob</i></dt> <dd><p>Get the mutable properties of <var>grob</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dproperty"></a><u>Function:</u> <b>ly:grob-property</b><i> grob sym deflt</i></dt> <dd><p>Return the value of a value in grob <var>g</var> of property <var>sym</var>. It returns <code>'()</code> (end-of-list) or <var>deflt</var> (if specified) if <var>sym</var> is undefined in <var>g</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dproperty_002ddata"></a><u>Function:</u> <b>ly:grob-property-data</b><i> grob sym</i></dt> <dd><p>Retrieve <var>sym</var> for <var>grob</var> but don’t process callbacks. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002drelative_002dcoordinate"></a><u>Function:</u> <b>ly:grob-relative-coordinate</b><i> grob refp axis</i></dt> <dd><p>Get the coordinate in <var>axis</var> direction of <var>grob</var> relative to the grob <var>refp</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002drobust_002drelative_002dextent"></a><u>Function:</u> <b>ly:grob-robust-relative-extent</b><i> grob refp axis</i></dt> <dd><p>Get the extent in <var>axis</var> direction of <var>grob</var> relative to the grob <var>refp</var>, or <code>(0,0)</code> if empty. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dscript_002dpriority_002dless"></a><u>Function:</u> <b>ly:grob-script-priority-less</b><i> a b</i></dt> <dd><p>Compare two grobs by script priority. For internal use. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dset_002dproperty_0021"></a><u>Function:</u> <b>ly:grob-set-property!</b><i> grob sym val</i></dt> <dd><p>Set <var>sym</var> in grob <var>grob</var> to value <var>val</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dstaff_002dposition"></a><u>Function:</u> <b>ly:grob-staff-position</b><i> sg</i></dt> <dd><p>Return the Y-position of <var>sg</var> relative to the staff. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dsuicide_0021"></a><u>Function:</u> <b>ly:grob-suicide!</b><i> grob</i></dt> <dd><p>Kill <var>grob</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dsystem"></a><u>Function:</u> <b>ly:grob-system</b><i> grob</i></dt> <dd><p>Return the system grob of <var>grob</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_002dtranslate_002daxis_0021"></a><u>Function:</u> <b>ly:grob-translate-axis!</b><i> grob d a</i></dt> <dd><p>Translate <var>g</var> on axis <var>a</var> over distance <var>d</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003agrob_003f"></a><u>Function:</u> <b>ly:grob?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Grob</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003agulp_002dfile"></a><u>Function:</u> <b>ly:gulp-file</b><i> name size</i></dt> <dd><p>Read the file <var>name</var>, and return its contents in a string. The file is looked up using the search path. </p></dd></dl> <dl> <dt><a name="index-ly_003ahash_002dtable_002dkeys"></a><u>Function:</u> <b>ly:hash-table-keys</b><i> tab</i></dt> <dd><p>Return a list of keys in <var>tab</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003ainch"></a><u>Function:</u> <b>ly:inch</b><i> num</i></dt> <dd><p><var>num</var> inches. </p></dd></dl> <dl> <dt><a name="index-ly_003ainput_002dboth_002dlocations"></a><u>Function:</u> <b>ly:input-both-locations</b><i> sip</i></dt> <dd><p>Return input location in <var>sip</var> as <code>(file-name first-line first-column last-line last-column)</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003ainput_002dfile_002dline_002dchar_002dcolumn"></a><u>Function:</u> <b>ly:input-file-line-char-column</b><i> sip</i></dt> <dd><p>Return input location in <var>sip</var> as <code>(file-name line char column)</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003ainput_002dlocation_003f"></a><u>Function:</u> <b>ly:input-location?</b><i> x</i></dt> <dd><p>Is <var>x</var> an <code>input-location</code>? </p></dd></dl> <dl> <dt><a name="index-ly_003ainput_002dmessage"></a><u>Function:</u> <b>ly:input-message</b><i> sip msg rest</i></dt> <dd><p>Print <var>msg</var> as a GNU compliant error message, pointing to the location in <var>sip</var>. <var>msg</var> is interpreted similar to <code>format</code>’s argument, using <var>rest</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003ainterpret_002dmusic_002dexpression"></a><u>Function:</u> <b>ly:interpret-music-expression</b><i> mus ctx</i></dt> <dd><p>Interpret the music expression <var>mus</var> in the global context <var>ctx</var>. The context is returned in its final state. </p></dd></dl> <dl> <dt><a name="index-ly_003ainterpret_002dstencil_002dexpression"></a><u>Function:</u> <b>ly:interpret-stencil-expression</b><i> expr func arg1 offset</i></dt> <dd><p>Parse <var>expr</var>, feed bits to <var>func</var> with first arg <var>arg1</var> having offset <var>offset</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aintlog2"></a><u>Function:</u> <b>ly:intlog2</b><i> d</i></dt> <dd><p>The 2-logarithm of 1/<var>d</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003ais_002dlistened_002devent_002dclass"></a><u>Function:</u> <b>ly:is-listened-event-class</b><i> sym</i></dt> <dd><p>Is <var>sym</var> a listened event class? </p></dd></dl> <dl> <dt><a name="index-ly_003aitem_002dbreak_002ddir"></a><u>Function:</u> <b>ly:item-break-dir</b><i> it</i></dt> <dd><p>The break status direction of item <var>it</var>. <code>-1</code> means end of line, <code>0</code> unbroken, and <code>1</code> beginning of line. </p></dd></dl> <dl> <dt><a name="index-ly_003aitem_003f"></a><u>Function:</u> <b>ly:item?</b><i> g</i></dt> <dd><p>Is <var>g</var> an <code>Item</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003aiterator_003f"></a><u>Function:</u> <b>ly:iterator?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Music_iterator</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003alexer_002dkeywords"></a><u>Function:</u> <b>ly:lexer-keywords</b><i> lexer</i></dt> <dd><p>Return a list of <code>(KEY . CODE)</code> pairs, signifying the LilyPond reserved words list. </p></dd></dl> <dl> <dt><a name="index-ly_003alily_002dlexer_003f"></a><u>Function:</u> <b>ly:lily-lexer?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Lily_lexer</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003alily_002dparser_003f"></a><u>Function:</u> <b>ly:lily-parser?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Lily_parser</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dbook"></a><u>Function:</u> <b>ly:make-book</b><i> paper header scores</i></dt> <dd><p>Make a <code>\book</code> of <var>paper</var> and <var>header</var> (which may be <code>#f</code> as well) containing <code>\scores</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dbook_002dpart"></a><u>Function:</u> <b>ly:make-book-part</b><i> scores</i></dt> <dd><p>Make a <code>\bookpart</code> containing <code>\scores</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002ddispatcher"></a><u>Function:</u> <b>ly:make-dispatcher</b></dt> <dd><p>Return a newly created dispatcher. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dduration"></a><u>Function:</u> <b>ly:make-duration</b><i> length dotcount num den</i></dt> <dd><p><var>length</var> 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 <var>dotcount</var>. </p> <p>The duration factor is optionally given by <var>num</var> and <var>den</var>. </p> <p>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. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dglobal_002dcontext"></a><u>Function:</u> <b>ly:make-global-context</b><i> output-def</i></dt> <dd><p>Set up a global interpretation context, using the output block <var>output_def</var>. The context is returned. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dglobal_002dtranslator"></a><u>Function:</u> <b>ly:make-global-translator</b><i> global</i></dt> <dd><p>Create a translator group and connect it to the global context <var>global</var>. The translator group is returned. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dlistener"></a><u>Function:</u> <b>ly:make-listener</b><i> callback</i></dt> <dd><p>Create a listener. Any time the listener hears an object, it will call <var>callback</var> with that object. </p> <p><var>callback</var> should take exactly one argument. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dmoment"></a><u>Function:</u> <b>ly:make-moment</b><i> n d gn gd</i></dt> <dd><p>Create the rational number with main timing <var>n</var>/<var>d</var>, and optional grace timing <var>gn</var>/<var>gd</var>. </p> <p>A <em>moment</em> is a point in musical time. It consists of a pair of rationals (<var>m</var>, <var>g</var>), where <var>m</var> is the timing for the main notes, and <var>g</var> the timing for grace notes. In absence of grace notes, <var>g</var> is zero. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dmusic"></a><u>Function:</u> <b>ly:make-music</b><i> props</i></dt> <dd><p>Make a C++ <code>Music</code> object and initialize it with <var>props</var>. </p> <p>This function is for internal use and is only called by <code>make-music</code>, which is the preferred interface for creating music objects. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dmusic_002dfunction"></a><u>Function:</u> <b>ly:make-music-function</b><i> signature func</i></dt> <dd><p>Make a function to process music, to be used for the parser. <code>func</code> is the function, and <code>signature</code> describes its arguments. <code>signature</code> is a list containing either <code>ly:music?</code> predicates or other type predicates. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002doutput_002ddef"></a><u>Function:</u> <b>ly:make-output-def</b></dt> <dd><p>Make an output definition. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dpage_002dlabel_002dmarker"></a><u>Function:</u> <b>ly:make-page-label-marker</b><i> label</i></dt> <dd><p>Return page marker with label. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dpage_002dpermission_002dmarker"></a><u>Function:</u> <b>ly:make-page-permission-marker</b><i> symbol permission</i></dt> <dd><p>Return page marker with page breaking and turning permissions. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dpango_002ddescription_002dstring"></a><u>Function:</u> <b>ly:make-pango-description-string</b><i> chain size</i></dt> <dd><p>Make a <code>PangoFontDescription</code> string for the property alist <var>chain</var> at size <var>size</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dpaper_002doutputter"></a><u>Function:</u> <b>ly:make-paper-outputter</b><i> port format</i></dt> <dd><p>Create an outputter that evaluates within <code>output-</code><var>format</var>, writing to <var>port</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dpitch"></a><u>Function:</u> <b>ly:make-pitch</b><i> octave note alter</i></dt> <dd><p><var>octave</var> is specified by an integer, zero for the octave containing middle C. <var>note</var> is a number indexing the global default scale, with 0 corresponding to pitch C and 6 usually corresponding to pitch B. <var>alter</var> is a rational number of 200-cent whole tones for alteration. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dprob"></a><u>Function:</u> <b>ly:make-prob</b><i> type init rest</i></dt> <dd><p>Create a <code>Prob</code> object. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dscale"></a><u>Function:</u> <b>ly:make-scale</b><i> steps</i></dt> <dd><p>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. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dscore"></a><u>Function:</u> <b>ly:make-score</b><i> music</i></dt> <dd><p>Return score with <var>music</var> encapsulated in <var>score</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dsimple_002dclosure"></a><u>Function:</u> <b>ly:make-simple-closure</b><i> expr</i></dt> <dd><p>Make a simple closure. <var>expr</var> should be form of <code>(<var>func</var> <var>a1</var> <var>A2</var> …)</code>, and will be invoked as <code>(<var>func</var> <var>delayed-arg</var> <var>a1</var> <var>a2</var> …)</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003amake_002dstencil"></a><u>Function:</u> <b>ly:make-stencil</b><i> expr xext yext</i></dt> <dd><p>Stencils are device independent output expressions. They carry two pieces of information: </p> <ol> <li> A specification of how to print this object. This specification is processed by the output backends, for example ‘<tt>scm/output-ps.scm</tt>’. </li><li> The vertical and horizontal extents of the object, given as pairs. If an extent is unspecified (or if you use <code>(1000 . -1000)</code> as its value), it is taken to be empty. </li></ol> </dd></dl> <dl> <dt><a name="index-ly_003amake_002dstream_002devent"></a><u>Function:</u> <b>ly:make-stream-event</b><i> cl proplist</i></dt> <dd><p>Create a stream event of class <var>cl</var> with the given mutable property list. </p></dd></dl> <dl> <dt><a name="index-ly_003amessage"></a><u>Function:</u> <b>ly:message</b><i> str rest</i></dt> <dd><p>A Scheme callable function to issue the message <var>str</var>. The message is formatted with <code>format</code> and <var>rest</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aminimal_002dbreaking"></a><u>Function:</u> <b>ly:minimal-breaking</b><i> pb</i></dt> <dd><p>Break (pages and lines) the <code>Paper_book</code> object <var>pb</var> without looking for optimal spacing: stack as many lines on a page before moving to the next one. </p></dd></dl> <dl> <dt><a name="index-ly_003amm"></a><u>Function:</u> <b>ly:mm</b><i> num</i></dt> <dd><p><var>num</var> mm. </p></dd></dl> <dl> <dt><a name="index-ly_003amodule_002d_003ealist"></a><u>Function:</u> <b>ly:module->alist</b><i> mod</i></dt> <dd><p>Dump the contents of module <var>mod</var> as an alist. </p></dd></dl> <dl> <dt><a name="index-ly_003amodule_002dcopy"></a><u>Function:</u> <b>ly:module-copy</b><i> dest src</i></dt> <dd><p>Copy all bindings from module <var>src</var> into <var>dest</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003amodules_002dlookup"></a><u>Function:</u> <b>ly:modules-lookup</b><i> modules sym def</i></dt> <dd><p>Look up <var>sym</var> in the list <var>modules</var>, returning the first occurence. If not found, return <var>def</var> or <code>#f</code> if <var>def</var> isn’t specified. </p></dd></dl> <dl> <dt><a name="index-ly_003amoment_002dadd"></a><u>Function:</u> <b>ly:moment-add</b><i> a b</i></dt> <dd><p>Add two moments. </p></dd></dl> <dl> <dt><a name="index-ly_003amoment_002ddiv"></a><u>Function:</u> <b>ly:moment-div</b><i> a b</i></dt> <dd><p>Divide two moments. </p></dd></dl> <dl> <dt><a name="index-ly_003amoment_002dgrace_002ddenominator"></a><u>Function:</u> <b>ly:moment-grace-denominator</b><i> mom</i></dt> <dd><p>Extract denominator from grace timing. </p></dd></dl> <dl> <dt><a name="index-ly_003amoment_002dgrace_002dnumerator"></a><u>Function:</u> <b>ly:moment-grace-numerator</b><i> mom</i></dt> <dd><p>Extract numerator from grace timing. </p></dd></dl> <dl> <dt><a name="index-ly_003amoment_002dmain_002ddenominator"></a><u>Function:</u> <b>ly:moment-main-denominator</b><i> mom</i></dt> <dd><p>Extract denominator from main timing. </p></dd></dl> <dl> <dt><a name="index-ly_003amoment_002dmain_002dnumerator"></a><u>Function:</u> <b>ly:moment-main-numerator</b><i> mom</i></dt> <dd><p>Extract numerator from main timing. </p></dd></dl> <dl> <dt><a name="index-ly_003amoment_002dmod"></a><u>Function:</u> <b>ly:moment-mod</b><i> a b</i></dt> <dd><p>Modulo of two moments. </p></dd></dl> <dl> <dt><a name="index-ly_003amoment_002dmul"></a><u>Function:</u> <b>ly:moment-mul</b><i> a b</i></dt> <dd><p>Multiply two moments. </p></dd></dl> <dl> <dt><a name="index-ly_003amoment_002dsub"></a><u>Function:</u> <b>ly:moment-sub</b><i> a b</i></dt> <dd><p>Subtract two moments. </p></dd></dl> <dl> <dt><a name="index-ly_003amoment_003c_003f"></a><u>Function:</u> <b>ly:moment<?</b><i> a b</i></dt> <dd><p>Compare two moments. </p></dd></dl> <dl> <dt><a name="index-ly_003amoment_003f"></a><u>Function:</u> <b>ly:moment?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Moment</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003amusic_002dcompress"></a><u>Function:</u> <b>ly:music-compress</b><i> m factor</i></dt> <dd><p>Compress music object <var>m</var> by moment <var>factor</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003amusic_002ddeep_002dcopy"></a><u>Function:</u> <b>ly:music-deep-copy</b><i> m</i></dt> <dd><p>Copy <var>m</var> and all sub expressions of <var>m</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003amusic_002dduration_002dcompress"></a><u>Function:</u> <b>ly:music-duration-compress</b><i> mus fact</i></dt> <dd><p>Compress <var>mus</var> by factor <var>fact</var>, which is a <code>Moment</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003amusic_002dduration_002dlength"></a><u>Function:</u> <b>ly:music-duration-length</b><i> mus</i></dt> <dd><p>Extract the duration field from <var>mus</var> and return the length. </p></dd></dl> <dl> <dt><a name="index-ly_003amusic_002dfunction_002dextract"></a><u>Function:</u> <b>ly:music-function-extract</b><i> x</i></dt> <dd><p>Return the Scheme function inside <var>x</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003amusic_002dfunction_003f"></a><u>Function:</u> <b>ly:music-function?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>music-function</code>? </p></dd></dl> <dl> <dt><a name="index-ly_003amusic_002dlength"></a><u>Function:</u> <b>ly:music-length</b><i> mus</i></dt> <dd><p>Get the length of music expression <var>mus</var> and return it as a <code>Moment</code> object. </p></dd></dl> <dl> <dt><a name="index-ly_003amusic_002dlist_003f"></a><u>Function:</u> <b>ly:music-list?</b><i> lst</i></dt> <dd><p>Type predicate: Return true if <var>lst</var> is a list of music objects. </p></dd></dl> <dl> <dt><a name="index-ly_003amusic_002dmutable_002dproperties"></a><u>Function:</u> <b>ly:music-mutable-properties</b><i> mus</i></dt> <dd><p>Return an alist containing the mutable properties of <var>mus</var>. The immutable properties are not available, since they are constant and initialized by the <code>make-music</code> function. </p></dd></dl> <dl> <dt><a name="index-ly_003amusic_002doutput_003f"></a><u>Function:</u> <b>ly:music-output?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Music_output</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003amusic_002dproperty"></a><u>Function:</u> <b>ly:music-property</b><i> mus sym dfault</i></dt> <dd><p>Get the property <var>sym</var> of music expression <var>mus</var>. If <var>sym</var> is undefined, return <code>'()</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003amusic_002dset_002dproperty_0021"></a><u>Function:</u> <b>ly:music-set-property!</b><i> mus sym val</i></dt> <dd><p>Set property <var>sym</var> in music expression <var>mus</var> to <var>val</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003amusic_002dtranspose"></a><u>Function:</u> <b>ly:music-transpose</b><i> m p</i></dt> <dd><p>Transpose <var>m</var> such that central C is mapped to <var>p</var>. Return <var>m</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003amusic_003f"></a><u>Function:</u> <b>ly:music?</b><i> obj</i></dt> <dd><p>Type predicate. </p></dd></dl> <dl> <dt><a name="index-ly_003anote_002dhead_003a_003astem_002dattachment"></a><u>Function:</u> <b>ly:note-head::stem-attachment</b><i> font-metric glyph-name</i></dt> <dd><p>Get attachment in <var>font-metric</var> for attaching a stem to notehead <var>glyph-name</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003anumber_002d_003estring"></a><u>Function:</u> <b>ly:number->string</b><i> s</i></dt> <dd><p>Convert <var>num</var> to a string without generating many decimals. </p></dd></dl> <dl> <dt><a name="index-ly_003aoptimal_002dbreaking"></a><u>Function:</u> <b>ly:optimal-breaking</b><i> pb</i></dt> <dd><p>Optimally break (pages and lines) the <code>Paper_book</code> object <var>pb</var> to minimize badness in bother vertical and horizontal spacing. </p></dd></dl> <dl> <dt><a name="index-ly_003aoption_002dusage"></a><u>Function:</u> <b>ly:option-usage</b></dt> <dd><p>Print <code>ly:set-option</code> usage. </p></dd></dl> <dl> <dt><a name="index-ly_003aotf_002d_003ecff"></a><u>Function:</u> <b>ly:otf->cff</b><i> otf-file-name</i></dt> <dd><p>Convert the contents of an OTF file to a CFF file, returning it as a string. </p></dd></dl> <dl> <dt><a name="index-ly_003aotf_002dfont_002dglyph_002dinfo"></a><u>Function:</u> <b>ly:otf-font-glyph-info</b><i> font glyph</i></dt> <dd><p>Given the font metric <var>font</var> of an OpenType font, return the information about named glyph <var>glyph</var> (a string). </p></dd></dl> <dl> <dt><a name="index-ly_003aotf_002dfont_002dtable_002ddata"></a><u>Function:</u> <b>ly:otf-font-table-data</b><i> font tag</i></dt> <dd><p>Extract a table <var>tag</var> from <var>font</var>. Return empty string for non-existent <var>tag</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aotf_002dfont_003f"></a><u>Function:</u> <b>ly:otf-font?</b><i> font</i></dt> <dd><p>Is <var>font</var> an OpenType font? </p></dd></dl> <dl> <dt><a name="index-ly_003aotf_002dglyph_002dlist"></a><u>Function:</u> <b>ly:otf-glyph-list</b><i> font</i></dt> <dd><p>Return a list of glyph names for <var>font</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aoutput_002ddef_002dclone"></a><u>Function:</u> <b>ly:output-def-clone</b><i> def</i></dt> <dd><p>Clone output definition <var>def</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aoutput_002ddef_002dlookup"></a><u>Function:</u> <b>ly:output-def-lookup</b><i> pap sym def</i></dt> <dd><p>Look up <var>sym</var> in the <var>pap</var> output definition (e.g., <code>\paper</code>). Return the value or <var>def</var> (which defaults to <code>'()</code>) if undefined. </p></dd></dl> <dl> <dt><a name="index-ly_003aoutput_002ddef_002dparent"></a><u>Function:</u> <b>ly:output-def-parent</b><i> def</i></dt> <dd><p>Get the parent output definition of <var>def</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aoutput_002ddef_002dscope"></a><u>Function:</u> <b>ly:output-def-scope</b><i> def</i></dt> <dd><p>Get the variable scope inside <var>def</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aoutput_002ddef_002dset_002dvariable_0021"></a><u>Function:</u> <b>ly:output-def-set-variable!</b><i> def sym val</i></dt> <dd><p>Set an output definition <var>def</var> variable <var>sym</var> to <var>val</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aoutput_002ddef_003f"></a><u>Function:</u> <b>ly:output-def?</b><i> def</i></dt> <dd><p>Is <var>def</var> a layout definition? </p></dd></dl> <dl> <dt><a name="index-ly_003aoutput_002ddescription"></a><u>Function:</u> <b>ly:output-description</b><i> output-def</i></dt> <dd><p>Return the description of translators in <var>output-def</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aoutput_002dformats"></a><u>Function:</u> <b>ly:output-formats</b></dt> <dd><p>Formats passed to ‘<samp>--format</samp>’ as a list of strings, used for the output. </p></dd></dl> <dl> <dt><a name="index-ly_003aoutputter_002dclose"></a><u>Function:</u> <b>ly:outputter-close</b><i> outputter</i></dt> <dd><p>Close port of <var>outputter</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aoutputter_002ddump_002dstencil"></a><u>Function:</u> <b>ly:outputter-dump-stencil</b><i> outputter stencil</i></dt> <dd><p>Dump stencil <var>expr</var> onto <var>outputter</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aoutputter_002ddump_002dstring"></a><u>Function:</u> <b>ly:outputter-dump-string</b><i> outputter str</i></dt> <dd><p>Dump <var>str</var> onto <var>outputter</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aoutputter_002doutput_002dscheme"></a><u>Function:</u> <b>ly:outputter-output-scheme</b><i> outputter expr</i></dt> <dd><p>Eval <var>expr</var> in module of <var>outputter</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aoutputter_002dport"></a><u>Function:</u> <b>ly:outputter-port</b><i> outputter</i></dt> <dd><p>Return output port for <var>outputter</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apage_002dmarker_003f"></a><u>Function:</u> <b>ly:page-marker?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Page_marker</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003apage_002dturn_002dbreaking"></a><u>Function:</u> <b>ly:page-turn-breaking</b><i> pb</i></dt> <dd><p>Optimally break (pages and lines) the <code>Paper_book</code> object <var>pb</var> such that page turns only happen in specified places, returning its pages. </p></dd></dl> <dl> <dt><a name="index-ly_003apango_002dfont_002dphysical_002dfonts"></a><u>Function:</u> <b>ly:pango-font-physical-fonts</b><i> f</i></dt> <dd><p>Return alist of <code>(ps-name file-name font-index)</code> lists for Pango font <var>f</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apango_002dfont_003f"></a><u>Function:</u> <b>ly:pango-font?</b><i> f</i></dt> <dd><p>Is <var>f</var> a pango font? </p></dd></dl> <dl> <dt><a name="index-ly_003apaper_002dbook_002dpages"></a><u>Function:</u> <b>ly:paper-book-pages</b><i> pb</i></dt> <dd><p>Return pages in book <var>pb</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apaper_002dbook_002dpaper"></a><u>Function:</u> <b>ly:paper-book-paper</b><i> pb</i></dt> <dd><p>Return pages in book <var>pb</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apaper_002dbook_002dperformances"></a><u>Function:</u> <b>ly:paper-book-performances</b><i> paper-book</i></dt> <dd><p>Return performances in book <var>paper-book</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apaper_002dbook_002dscopes"></a><u>Function:</u> <b>ly:paper-book-scopes</b><i> book</i></dt> <dd><p>Return scopes in layout book <var>book</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apaper_002dbook_002dsystems"></a><u>Function:</u> <b>ly:paper-book-systems</b><i> pb</i></dt> <dd><p>Return systems in book <var>pb</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apaper_002dbook_003f"></a><u>Function:</u> <b>ly:paper-book?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Paper_book</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003apaper_002dfonts"></a><u>Function:</u> <b>ly:paper-fonts</b><i> bp</i></dt> <dd><p>Return fonts from the <code>\paper</code> block <var>bp</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apaper_002dget_002dfont"></a><u>Function:</u> <b>ly:paper-get-font</b><i> paper-smob chain</i></dt> <dd><p>Return a font metric satisfying the font-qualifiers in the alist chain <var>chain</var>. (An alist chain is a list of alists, containing grob properties.) </p></dd></dl> <dl> <dt><a name="index-ly_003apaper_002dget_002dnumber"></a><u>Function:</u> <b>ly:paper-get-number</b><i> layout-smob name</i></dt> <dd><p>Return the layout variable <var>name</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apaper_002doutputscale"></a><u>Function:</u> <b>ly:paper-outputscale</b><i> bp</i></dt> <dd><p>Get output-scale for <var>bp</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apaper_002dscore_002dpaper_002dsystems"></a><u>Function:</u> <b>ly:paper-score-paper-systems</b><i> paper-score</i></dt> <dd><p>Return vector of <code>paper_system</code> objects from <var>paper-score</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apaper_002dsystem_002dminimum_002ddistance"></a><u>Function:</u> <b>ly:paper-system-minimum-distance</b><i> sys1 sys2</i></dt> <dd><p>Measure the minimum distance between these two paper-systems, using their stored skylines if possible and falling back to their extents otherwise. </p></dd></dl> <dl> <dt><a name="index-ly_003apaper_002dsystem_003f"></a><u>Function:</u> <b>ly:paper-system?</b><i> obj</i></dt> <dd><p>Type predicate. </p></dd></dl> <dl> <dt><a name="index-ly_003aparse_002dfile"></a><u>Function:</u> <b>ly:parse-file</b><i> name</i></dt> <dd><p>Parse a single <code>.ly</code> file. Upon failure, throw <code>ly-file-failed</code> key. </p></dd></dl> <dl> <dt><a name="index-ly_003aparser_002dclear_002derror"></a><u>Function:</u> <b>ly:parser-clear-error</b><i> parser</i></dt> <dd><p>Clear the error flag for the parser. </p></dd></dl> <dl> <dt><a name="index-ly_003aparser_002dclone"></a><u>Function:</u> <b>ly:parser-clone</b><i> parser-smob</i></dt> <dd><p>Return a clone of <var>parser-smob</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aparser_002ddefine_0021"></a><u>Function:</u> <b>ly:parser-define!</b><i> parser-smob symbol val</i></dt> <dd><p>Bind <var>symbol</var> to <var>val</var> in <var>parser-smob</var>’s module. </p></dd></dl> <dl> <dt><a name="index-ly_003aparser_002derror"></a><u>Function:</u> <b>ly:parser-error</b><i> parser msg input</i></dt> <dd><p>Display an error message and make the parser fail. </p></dd></dl> <dl> <dt><a name="index-ly_003aparser_002dhas_002derror_003f"></a><u>Function:</u> <b>ly:parser-has-error?</b><i> parser</i></dt> <dd><p>Does <var>parser</var> have an error flag? </p></dd></dl> <dl> <dt><a name="index-ly_003aparser_002dlexer"></a><u>Function:</u> <b>ly:parser-lexer</b><i> parser-smob</i></dt> <dd><p>Return the lexer for <var>parser-smob</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aparser_002dlookup"></a><u>Function:</u> <b>ly:parser-lookup</b><i> parser-smob symbol</i></dt> <dd><p>Look up <var>symbol</var> in <var>parser-smob</var>’s module. Return <code>'()</code> if not defined. </p></dd></dl> <dl> <dt><a name="index-ly_003aparser_002doutput_002dname"></a><u>Function:</u> <b>ly:parser-output-name</b><i> parser</i></dt> <dd><p>Return the base name of the output file. </p></dd></dl> <dl> <dt><a name="index-ly_003aparser_002dparse_002dstring"></a><u>Function:</u> <b>ly:parser-parse-string</b><i> parser-smob ly-code</i></dt> <dd><p>Parse the string <var>ly-code</var> with <var>parser-smob</var>. Upon failure, throw <code>ly-file-failed</code> key. </p></dd></dl> <dl> <dt><a name="index-ly_003aparser_002dset_002dnote_002dnames"></a><u>Function:</u> <b>ly:parser-set-note-names</b><i> parser names</i></dt> <dd><p>Replace current note names in <var>parser</var>. <var>names</var> is an alist of symbols. This only has effect if the current mode is notes. </p></dd></dl> <dl> <dt><a name="index-ly_003aperformance_002dwrite"></a><u>Function:</u> <b>ly:performance-write</b><i> performance filename</i></dt> <dd><p>Write <var>performance</var> to <var>filename</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apfb_002d_003epfa"></a><u>Function:</u> <b>ly:pfb->pfa</b><i> pfb-file-name</i></dt> <dd><p>Convert the contents of a PFB file to PFA. </p></dd></dl> <dl> <dt><a name="index-ly_003apitch_002dalteration"></a><u>Function:</u> <b>ly:pitch-alteration</b><i> pp</i></dt> <dd><p>Extract the alteration from pitch <var>pp</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apitch_002ddiff"></a><u>Function:</u> <b>ly:pitch-diff</b><i> pitch root</i></dt> <dd><p>Return pitch <var>delta</var> such that <var>pitch</var> transposed by <var>delta</var> equals <var>root</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apitch_002dnegate"></a><u>Function:</u> <b>ly:pitch-negate</b><i> p</i></dt> <dd><p>Negate <var>p</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apitch_002dnotename"></a><u>Function:</u> <b>ly:pitch-notename</b><i> pp</i></dt> <dd><p>Extract the note name from pitch <var>pp</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apitch_002doctave"></a><u>Function:</u> <b>ly:pitch-octave</b><i> pp</i></dt> <dd><p>Extract the octave from pitch <var>pp</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apitch_002dquartertones"></a><u>Function:</u> <b>ly:pitch-quartertones</b><i> pp</i></dt> <dd><p>Calculate the number of quarter tones of <var>pp</var> from middle C. </p></dd></dl> <dl> <dt><a name="index-ly_003apitch_002dsemitones"></a><u>Function:</u> <b>ly:pitch-semitones</b><i> pp</i></dt> <dd><p>Calculate the number of semitones of <var>pp</var> from middle C. </p></dd></dl> <dl> <dt><a name="index-ly_003apitch_002dsteps"></a><u>Function:</u> <b>ly:pitch-steps</b><i> p</i></dt> <dd><p>Number of steps counted from middle C of the pitch <var>p</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003apitch_002dtranspose"></a><u>Function:</u> <b>ly:pitch-transpose</b><i> p delta</i></dt> <dd><p>Transpose <var>p</var> by the amount <var>delta</var>, where <var>delta</var> is relative to middle C. </p></dd></dl> <dl> <dt><a name="index-ly_003apitch_003c_003f"></a><u>Function:</u> <b>ly:pitch<?</b><i> p1 p2</i></dt> <dd><p>Is <var>p1</var> lexicographically smaller than <var>p2</var>? </p></dd></dl> <dl> <dt><a name="index-ly_003apitch_003f"></a><u>Function:</u> <b>ly:pitch?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Pitch</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003aposition_002don_002dline_003f"></a><u>Function:</u> <b>ly:position-on-line?</b><i> sg spos</i></dt> <dd><p>Return whether <var>pos</var> is on a line of the staff associated with the the grob <var>sg</var> (even on an extender line). </p></dd></dl> <dl> <dt><a name="index-ly_003aprob_002dimmutable_002dproperties"></a><u>Function:</u> <b>ly:prob-immutable-properties</b><i> prob</i></dt> <dd><p>Retrieve an alist of mutable properties. </p></dd></dl> <dl> <dt><a name="index-ly_003aprob_002dmutable_002dproperties"></a><u>Function:</u> <b>ly:prob-mutable-properties</b><i> prob</i></dt> <dd><p>Retrieve an alist of mutable properties. </p></dd></dl> <dl> <dt><a name="index-ly_003aprob_002dproperty"></a><u>Function:</u> <b>ly:prob-property</b><i> obj sym dfault</i></dt> <dd><p>Return the value for <var>sym</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aprob_002dproperty_003f"></a><u>Function:</u> <b>ly:prob-property?</b><i> obj sym</i></dt> <dd><p>Is boolean prop <var>sym</var> set? </p></dd></dl> <dl> <dt><a name="index-ly_003aprob_002dset_002dproperty_0021"></a><u>Function:</u> <b>ly:prob-set-property!</b><i> obj sym value</i></dt> <dd><p>Set property <var>sym</var> of <var>obj</var> to <var>value</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aprob_002dtype_003f"></a><u>Function:</u> <b>ly:prob-type?</b><i> obj type</i></dt> <dd><p>Is <var>obj</var> the specified prob-type? </p></dd></dl> <dl> <dt><a name="index-ly_003aprob_003f"></a><u>Function:</u> <b>ly:prob?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Prob</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003aprogramming_002derror"></a><u>Function:</u> <b>ly:programming-error</b><i> str rest</i></dt> <dd><p>A Scheme callable function to issue the internal warning <var>str</var>. The message is formatted with <code>format</code> and <var>rest</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aprogress"></a><u>Function:</u> <b>ly:progress</b><i> str rest</i></dt> <dd><p>A Scheme callable function to print progress <var>str</var>. The message is formatted with <code>format</code> and <var>rest</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aproperty_002dlookup_002dstats"></a><u>Function:</u> <b>ly:property-lookup-stats</b><i> sym</i></dt> <dd><p>Return hash table with a property access corresponding to <var>sym</var>. Choices are <code>prob</code>, <code>grob</code>, and <code>context</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003aprotects"></a><u>Function:</u> <b>ly:protects</b></dt> <dd><p>Return hash of protected objects. </p></dd></dl> <dl> <dt><a name="index-ly_003apt"></a><u>Function:</u> <b>ly:pt</b><i> num</i></dt> <dd><p><var>num</var> printer points. </p></dd></dl> <dl> <dt><a name="index-ly_003aregister_002dstencil_002dexpression"></a><u>Function:</u> <b>ly:register-stencil-expression</b><i> symbol</i></dt> <dd><p>Add <var>symbol</var> as head of a stencil expression. </p></dd></dl> <dl> <dt><a name="index-ly_003arelative_002dgroup_002dextent"></a><u>Function:</u> <b>ly:relative-group-extent</b><i> elements common axis</i></dt> <dd><p>Determine the extent of <var>elements</var> relative to <var>common</var> in the <var>axis</var> direction. </p></dd></dl> <dl> <dt><a name="index-ly_003areset_002dall_002dfonts"></a><u>Function:</u> <b>ly:reset-all-fonts</b></dt> <dd><p>Forget all about previously loaded fonts. </p></dd></dl> <dl> <dt><a name="index-ly_003around_002dfilled_002dbox"></a><u>Function:</u> <b>ly:round-filled-box</b><i> xext yext blot</i></dt> <dd><p>Make a <code>Stencil</code> object that prints a black box of dimensions <var>xext</var>, <var>yext</var> and roundness <var>blot</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003around_002dfilled_002dpolygon"></a><u>Function:</u> <b>ly:round-filled-polygon</b><i> points blot</i></dt> <dd><p>Make a <code>Stencil</code> object that prints a black polygon with corners at the points defined by <var>points</var> (list of coordinate pairs) and roundness <var>blot</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003arun_002dtranslator"></a><u>Function:</u> <b>ly:run-translator</b><i> mus output-def</i></dt> <dd><p>Process <var>mus</var> according to <var>output-def</var>. An interpretation context is set up, and <var>mus</var> is interpreted with it. The context is returned in its final state. </p> <p>Optionally, this routine takes an object-key to to uniquely identify the score block containing it. </p></dd></dl> <dl> <dt><a name="index-ly_003ascore_002dadd_002doutput_002ddef_0021"></a><u>Function:</u> <b>ly:score-add-output-def!</b><i> score def</i></dt> <dd><p>Add an output definition <var>def</var> to <var>score</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003ascore_002dembedded_002dformat"></a><u>Function:</u> <b>ly:score-embedded-format</b><i> score layout</i></dt> <dd><p>Run <var>score</var> through <var>layout</var> (an output definition) scaled to correct output-scale already, returning a list of layout-lines. This function takes an optional <code>Object_key</code> argument. </p></dd></dl> <dl> <dt><a name="index-ly_003ascore_002derror_003f"></a><u>Function:</u> <b>ly:score-error?</b><i> score</i></dt> <dd><p>Was there an error in the score? </p></dd></dl> <dl> <dt><a name="index-ly_003ascore_002dheader"></a><u>Function:</u> <b>ly:score-header</b><i> score</i></dt> <dd><p>Return score header. </p></dd></dl> <dl> <dt><a name="index-ly_003ascore_002dmusic"></a><u>Function:</u> <b>ly:score-music</b><i> score</i></dt> <dd><p>Return score music. </p></dd></dl> <dl> <dt><a name="index-ly_003ascore_002doutput_002ddefs"></a><u>Function:</u> <b>ly:score-output-defs</b><i> score</i></dt> <dd><p>All output definitions in a score. </p></dd></dl> <dl> <dt><a name="index-ly_003ascore_002dset_002dheader_0021"></a><u>Function:</u> <b>ly:score-set-header!</b><i> score module</i></dt> <dd><p>Set the score header. </p></dd></dl> <dl> <dt><a name="index-ly_003ascore_003f"></a><u>Function:</u> <b>ly:score?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Score</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003aset_002ddefault_002dscale"></a><u>Function:</u> <b>ly:set-default-scale</b><i> scale</i></dt> <dd><p>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. </p></dd></dl> <dl> <dt><a name="index-ly_003aset_002dgrob_002dmodification_002dcallback"></a><u>Function:</u> <b>ly:set-grob-modification-callback</b><i> cb</i></dt> <dd><p>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. </p></dd></dl> <dl> <dt><a name="index-ly_003aset_002dmiddle_002dC_0021"></a><u>Function:</u> <b>ly:set-middle-C!</b><i> context</i></dt> <dd><p>Set the <code>middleCPosition</code> variable in <var>context</var> based on the variables <code>middleCClefPosition</code> and middleCOffset. </p></dd></dl> <dl> <dt><a name="index-ly_003aset_002doption"></a><u>Function:</u> <b>ly:set-option</b><i> var val</i></dt> <dd><p>Set a program option. </p></dd></dl> <dl> <dt><a name="index-ly_003aset_002dpoint_002dand_002dclick"></a><u>Function:</u> <b>ly:set-point-and-click</b><i> what</i></dt> <dd><p>Deprecated. </p></dd></dl> <dl> <dt><a name="index-ly_003aset_002dproperty_002dcache_002dcallback"></a><u>Function:</u> <b>ly:set-property-cache-callback</b><i> cb</i></dt> <dd><p>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. </p></dd></dl> <dl> <dt><a name="index-ly_003asimple_002dclosure_003f"></a><u>Function:</u> <b>ly:simple-closure?</b><i> clos</i></dt> <dd><p>Type predicate. </p></dd></dl> <dl> <dt><a name="index-ly_003askyline_002dpair_003f"></a><u>Function:</u> <b>ly:skyline-pair?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Skyline_pair</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003askyline_003f"></a><u>Function:</u> <b>ly:skyline?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Skyline</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003asmob_002dprotects"></a><u>Function:</u> <b>ly:smob-protects</b></dt> <dd><p>Return LilyPond’s internal smob protection list. </p></dd></dl> <dl> <dt><a name="index-ly_003asolve_002dspring_002drod_002dproblem"></a><u>Function:</u> <b>ly:solve-spring-rod-problem</b><i> springs rods length ragged</i></dt> <dd><p>Solve a spring and rod problem for <var>count</var> objects, that are connected by <var>count</var>-1 <var>springs</var>, and an arbitrary number of <var>rods</var>. <var>count</var> is implicitly given by <var>springs</var> and <var>rods</var>. The <var>springs</var> argument has the format <code>(ideal, inverse_hook)</code> and <var>rods</var> is of the form <code>(idx1, idx2, distance)</code>. </p> <p><var>length</var> is a number, <var>ragged</var> a boolean. </p> <p>The function returns a list containing the force (positive for stretching, negative for compressing and <code>#f</code> for non-satisfied constraints) followed by <var>spring-count</var>+1 positions of the objects. </p></dd></dl> <dl> <dt><a name="index-ly_003asource_002dfile_003f"></a><u>Function:</u> <b>ly:source-file?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Source_file</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003aspanner_002dbound"></a><u>Function:</u> <b>ly:spanner-bound</b><i> slur dir</i></dt> <dd><p>Get one of the bounds of <var>slur</var>. <var>dir</var> is <code>-1</code> for left, and <code>1</code> for right. </p></dd></dl> <dl> <dt><a name="index-ly_003aspanner_002dbroken_002dinto"></a><u>Function:</u> <b>ly:spanner-broken-into</b><i> spanner</i></dt> <dd><p>Return broken-into list for <var>spanner</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003aspanner_003f"></a><u>Function:</u> <b>ly:spanner?</b><i> g</i></dt> <dd><p>Is <var>g</var> a spanner object? </p></dd></dl> <dl> <dt><a name="index-ly_003astaff_002dsymbol_002dline_002dthickness"></a><u>Function:</u> <b>ly:staff-symbol-line-thickness</b><i> grob</i></dt> <dd><p>Returns the line-thickness of the staff associated with <var>grob</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003astart_002denvironment"></a><u>Function:</u> <b>ly:start-environment</b></dt> <dd><p>Return the environment (a list of strings) that was in effect at program start. </p></dd></dl> <dl> <dt><a name="index-ly_003astderr_002dredirect"></a><u>Function:</u> <b>ly:stderr-redirect</b><i> file-name mode</i></dt> <dd><p>Redirect stderr to <var>file-name</var>, opened with <var>mode</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003astencil_002dadd"></a><u>Function:</u> <b>ly:stencil-add</b><i> args</i></dt> <dd><p>Combine stencils. Takes any number of arguments. </p></dd></dl> <dl> <dt><a name="index-ly_003astencil_002daligned_002dto"></a><u>Function:</u> <b>ly:stencil-aligned-to</b><i> stil axis dir</i></dt> <dd><p>Align <var>stil</var> using its own extents. <var>dir</var> is a number. <code>-1</code> and <code>1</code> are left and right, respectively. Other values are interpolated (so <code>0</code> means the center). </p></dd></dl> <dl> <dt><a name="index-ly_003astencil_002dcombine_002dat_002dedge"></a><u>Function:</u> <b>ly:stencil-combine-at-edge</b><i> first axis direction second padding minimum</i></dt> <dd><p>Construct a stencil by putting <var>second</var> next to <var>first</var>. <var>axis</var> can be 0 (x-axis) or 1 (y-axis). <var>direction</var> can be -1 (left or down) or 1 (right or up). The stencils are juxtaposed with <var>padding</var> as extra space. If this puts the reference points closer than <var>minimum</var>, they are moved by the latter amount. <var>first</var> and <var>second</var> may also be <code>'()</code> or <code>#f</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003astencil_002dempty_003f"></a><u>Function:</u> <b>ly:stencil-empty?</b><i> stil</i></dt> <dd><p>Return whether <var>stil</var> is empty. </p></dd></dl> <dl> <dt><a name="index-ly_003astencil_002dexpr"></a><u>Function:</u> <b>ly:stencil-expr</b><i> stil</i></dt> <dd><p>Return the expression of <var>stil</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003astencil_002dextent"></a><u>Function:</u> <b>ly:stencil-extent</b><i> stil axis</i></dt> <dd><p>Return a pair of numbers signifying the extent of <var>stil</var> in <var>axis</var> direction (<code>0</code> or <code>1</code> for x and y axis, respectively). </p></dd></dl> <dl> <dt><a name="index-ly_003astencil_002dfonts"></a><u>Function:</u> <b>ly:stencil-fonts</b><i> s</i></dt> <dd><p>Analyze <var>s</var>, and return a list of fonts used in <var>s</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003astencil_002din_002dcolor"></a><u>Function:</u> <b>ly:stencil-in-color</b><i> stc r g b</i></dt> <dd><p>Put <var>stc</var> in a different color. </p></dd></dl> <dl> <dt><a name="index-ly_003astencil_002drotate"></a><u>Function:</u> <b>ly:stencil-rotate</b><i> stil angle x y</i></dt> <dd><p>Return a stencil <var>stil</var> rotated <var>angle</var> degrees around the relative offset (<var>x</var>, <var>y</var>). E.g. an offset of (-1, 1) will rotate the stencil around the left upper corner. </p></dd></dl> <dl> <dt><a name="index-ly_003astencil_002drotate_002dabsolute"></a><u>Function:</u> <b>ly:stencil-rotate-absolute</b><i> stil angle x y</i></dt> <dd><p>Return a stencil <var>stil</var> rotated <var>angle</var> degrees around point (<var>x</var>, <var>y</var>), given in absolute coordinates. </p></dd></dl> <dl> <dt><a name="index-ly_003astencil_002dtranslate"></a><u>Function:</u> <b>ly:stencil-translate</b><i> stil offset</i></dt> <dd><p>Return a <var>stil</var>, but translated by <var>offset</var> (a pair of numbers). </p></dd></dl> <dl> <dt><a name="index-ly_003astencil_002dtranslate_002daxis"></a><u>Function:</u> <b>ly:stencil-translate-axis</b><i> stil amount axis</i></dt> <dd><p>Return a copy of <var>stil</var> but translated by <var>amount</var> in <var>axis</var> direction. </p></dd></dl> <dl> <dt><a name="index-ly_003astencil_003f"></a><u>Function:</u> <b>ly:stencil?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Stencil</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003astream_002devent_003f"></a><u>Function:</u> <b>ly:stream-event?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Stream_event</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003astring_002dsubstitute"></a><u>Function:</u> <b>ly:string-substitute</b><i> a b s</i></dt> <dd><p>Replace string <var>a</var> by string <var>b</var> in string <var>s</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003asystem_002dfont_002dload"></a><u>Function:</u> <b>ly:system-font-load</b><i> name</i></dt> <dd><p>Load the OpenType system font ‘<tt><var>name</var>.otf</tt>’. Fonts loaded with this command must contain three additional SFNT font tables called <code>LILC</code>, <code>LILF</code>, and <code>LILY</code>, needed for typesetting musical elements. Currently, only the Emmentaler and the Aybabtu fonts fulfill these requirements. </p> <p>Note that only <code>ly:font-get-glyph</code> and derived code (like <code>\lookup</code>) can access glyphs from the system fonts; text strings are handled exclusively via the Pango interface. </p></dd></dl> <dl> <dt><a name="index-ly_003asystem_002dprint"></a><u>Function:</u> <b>ly:system-print</b><i> system</i></dt> <dd><p>Draw the system and return the prob containing its stencil. </p></dd></dl> <dl> <dt><a name="index-ly_003asystem_002dstretch"></a><u>Function:</u> <b>ly:system-stretch</b><i> system amount-scm</i></dt> <dd><p>Stretch the system vertically by the given amount. This must be called before the system is drawn (for example with <code>ly:system-print</code>). </p></dd></dl> <dl> <dt><a name="index-ly_003atext_002ddimension"></a><u>Function:</u> <b>ly:text-dimension</b><i> font text</i></dt> <dd><p>Given the font metric in <var>font</var> and the string <var>text</var>, compute the extents of that text in that font. The return value is a pair of number-pairs. </p></dd></dl> <dl> <dt><a name="index-ly_003atext_002dinterface_003a_003ainterpret_002dmarkup"></a><u>Function:</u> <b>ly:text-interface::interpret-markup</b></dt> <dd><p>Convert a text markup into a stencil. Takes three arguments, <var>layout</var>, <var>props</var>, and <var>markup</var>. </p> <p><var>layout</var> is a <code>\layout</code> block; it may be obtained from a grob with <code>ly:grob-layout</code>. <var>props</var> is an alist chain, i.e. a list of alists. This is typically obtained with <code>(ly:grob-alist-chain (ly:layout-lookup layout 'text-font-defaults))</code>. <var>markup</var> is the markup text to be processed. </p></dd></dl> <dl> <dt><a name="index-ly_003atranslator_002ddescription"></a><u>Function:</u> <b>ly:translator-description</b><i> me</i></dt> <dd><p>Return an alist of properties of translator <var>me</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003atranslator_002dgroup_003f"></a><u>Function:</u> <b>ly:translator-group?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Translator_group</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003atranslator_002dname"></a><u>Function:</u> <b>ly:translator-name</b><i> trans</i></dt> <dd><p>Return the type name of the translator object <var>trans</var>. The name is a symbol. </p></dd></dl> <dl> <dt><a name="index-ly_003atranslator_003f"></a><u>Function:</u> <b>ly:translator?</b><i> x</i></dt> <dd><p>Is <var>x</var> a <code>Translator</code> object? </p></dd></dl> <dl> <dt><a name="index-ly_003atranspose_002dkey_002dalist"></a><u>Function:</u> <b>ly:transpose-key-alist</b><i> l pit</i></dt> <dd><p>Make a new key alist of <var>l</var> transposed by pitch <var>pit</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003atruncate_002dlist_0021"></a><u>Function:</u> <b>ly:truncate-list!</b><i> lst i</i></dt> <dd><p>Take at most the first <var>i</var> of list <var>lst</var>. </p></dd></dl> <dl> <dt><a name="index-ly_003attf_002d_003epfa"></a><u>Function:</u> <b>ly:ttf->pfa</b><i> ttf-file-name idx</i></dt> <dd><p>Convert the contents of a TrueType font file to PostScript Type 42 font, returning it as a string. The optional <var>idx</var> argument is useful for TrueType collections (TTC) only; it specifies the font index within the TTC. The default value of <var>idx</var> is 0. </p></dd></dl> <dl> <dt><a name="index-ly_003attf_002dps_002dname"></a><u>Function:</u> <b>ly:ttf-ps-name</b><i> ttf-file-name idx</i></dt> <dd><p>Extract the PostScript name from a TrueType font. The optional <var>idx</var> argument is useful for TrueType collections (TTC) only; it specifies the font index within the TTC. The default value of <var>idx</var> is 0. </p></dd></dl> <dl> <dt><a name="index-ly_003aunit"></a><u>Function:</u> <b>ly:unit</b></dt> <dd><p>Return the unit used for lengths as a string. </p></dd></dl> <dl> <dt><a name="index-ly_003ausage"></a><u>Function:</u> <b>ly:usage</b></dt> <dd><p>Print usage message. </p></dd></dl> <dl> <dt><a name="index-ly_003aversion"></a><u>Function:</u> <b>ly:version</b></dt> <dd><p>Return the current lilypond version as a list, e.g., <code>(1 3 127 uu1)</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003awarning"></a><u>Function:</u> <b>ly:warning</b><i> str rest</i></dt> <dd><p>A Scheme callable function to issue the warning <code>str</code>. The message is formatted with <code>format</code> and <code>rest</code>. </p></dd></dl> <dl> <dt><a name="index-ly_003awide_002dchar_002d_003eutf_002d8"></a><u>Function:</u> <b>ly:wide-char->utf-8</b><i> wc</i></dt> <dd><p>Encode the Unicode codepoint <var>wc</var>, an integer, as UTF-8. </p></dd></dl> <hr size="6"> <table class="nav_table"> <tr><td valign="middle" align="left" colspan="1">[<a href="Backend.html#Backend" title="Beginning of this chapter or previous chapter"> << Backend </a>]</td><td valign="middle" align="center" colspan="3">[<a href="index.html#Top" title="Cover (top) of document" rel="start">Top</a>][<a href="index_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Indices.html#Indices" title="Index" rel="index">Index</a>][<a href="index_abt.html#SEC_About" title="About (help)" rel="help"> ? </a>]</td><td valign="middle" align="right" colspan="1">[<a href="Indices.html#Indices" title="Next chapter"> Indices >> </a>]</td></tr><tr><td valign="middle" align="left" colspan="2">[<a href="Internal-backend-properties.html#Internal-backend-properties" title="Previous section in reading order" accesskey="p" rel="previous"> < Internal backend properties </a>]</td><td valign="middle" align="center" colspan="1">[<a href="index.html#Top" title="Up section" accesskey="u" rel="up"> Up : Top </a>]</td><td valign="middle" align="right" colspan="2">[<a href="Indices.html#Indices" title="Next section in reading order" accesskey="n" rel="next"> Indices > </a>]</td></tr></table> <!-- footer_tag --> <div class="footer"> <p class="footer_version"> This page is for LilyPond-2.12.2 (stable-branch). </p> <p class="footer_report"> Your <a href="http://lilypond.org/web/devel/participating/documentation-adding">suggestions for the documentation</a> are welcome, please report errors to our <a href="http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs">bug list</a>. </p> </div> <!-- FOOTER --> <!-- end div#main here --> </div> <div id="tocframe"> <p class="toc_uplink"><a href="../index.html" title="Documentation Index"><< Back to Documentation Index</a></p> <h4 class="toc_header"> <a href="index.html#Top" title="Start of the manual">Internals Reference</a></h4> <div class="contents"> <ul class="toc"> <li><a name="toc-Music-definitions-1" href="Music-definitions.html#Music-definitions">1. Music definitions</a> <ul class="toc"> <li><a name="toc-Music-expressions-1" href="Music-expressions.html#Music-expressions">1.1 Music expressions</a> </li> <li><a name="toc-Music-classes-1" href="Music-classes.html#Music-classes">1.2 Music classes</a> </li> <li><a name="toc-Music-properties-1" href="Music-properties.html#Music-properties">1.3 Music properties</a> </li> </ul> </li> <li><a name="toc-Translation-1" href="Translation.html#Translation">2. Translation</a> <ul class="toc"> <li><a name="toc-Contexts-1" href="Contexts.html#Contexts">2.1 Contexts</a> </li> <li><a name="toc-Engravers-and-Performers-1" href="Engravers-and-Performers.html#Engravers-and-Performers">2.2 Engravers and Performers</a> </li> <li><a name="toc-Tunable-context-properties-1" href="Tunable-context-properties.html#Tunable-context-properties">2.3 Tunable context properties</a> </li> <li><a name="toc-Internal-context-properties-1" href="Internal-context-properties.html#Internal-context-properties">2.4 Internal context properties</a> </li> </ul> </li> <li><a name="toc-Backend-1" href="Backend.html#Backend">3. Backend</a> <ul class="toc"> <li><a name="toc-All-layout-objects-1" href="All-layout-objects.html#All-layout-objects">3.1 All layout objects</a> </li> <li><a name="toc-Graphical-Object-Interfaces-1" href="Graphical-Object-Interfaces.html#Graphical-Object-Interfaces">3.2 Graphical Object Interfaces</a> </li> <li><a name="toc-User-backend-properties-1" href="User-backend-properties.html#User-backend-properties">3.3 User backend properties</a> </li> <li><a name="toc-Internal-backend-properties-1" href="Internal-backend-properties.html#Internal-backend-properties">3.4 Internal backend properties</a> </li> </ul> </li> <li class="toc_current"><a name="toc-Scheme-functions-1" href="Scheme-functions.html#Scheme-functions">4. Scheme functions</a> </li> <li><a name="toc-Indices-1" href="Indices.html#Indices">A. Indices</a> <ul class="toc"> <li><a name="toc-Concept-index" href="Indices.html#Indices">A.1 Concept index</a> </li> <li><a name="toc-Function-index" href="Indices.html#Indices">A.2 Function index</a> </li> </ul> </li> </ul> </div> </div> </body> </html>