| [ << Top ] | [Top][Contents] | [ New for musical notation >> ] |
| [ < Top ] | [ Up: Top ] | [ New for musical notation > ] |
Major changes in LilyPond ¶
- Book and bookpart expressions now have different and separate
types that can be tested using
ly:book?andly:bookpart?. A predicate testing for either (likely:book?did before) is available asly:book-or-bookpart?.Book and bookpart identifiers as well as calls to syntactic scheme functions defined using
define-scheme-functionand returning book or bookpart expressions can now be directly used instead of book or bookpart blocks. \bookand\bookpartblocks now contain their own local scopes for variables. This scope is active across the block and contains all variables defined within the block. As one consequence, assignments to variables are now permitted within\bookand\bookpartblocks, making it easier to restructure standalone LilyPond files by wrapping them into books or bookparts. Outside of the containing block, the variables are not visible. The public interface of the module containing a book or bookpart’s variables can be accessed programmatically using the new Scheme functionly:book-scope; accessorsly:book-lookupandly:book-set-variable!are also provided.- Books and bookparts may now contain output definition blocks
\layoutand/or\midiin addition to\paper(which was always possible). Those take their initial settings from the current active scope. If a bookpart has its own\layoutblock, that provides a default for typesetting all scores it includes that don’t have an output definition of their own. The same holds for a book. Since a score produces only MIDI when it explicitly includes a\midiblock, there is no similar default behavior for MIDI at processing time.
| [ << Top ] | [Top][Contents] | [ New for musical notation >> ] |
| [ < Top ] | [ Up: Top ] | [ New for musical notation > ] |