[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
LilyPond 2.3.1 released
From: |
Han-Wen Nienhuys |
Subject: |
LilyPond 2.3.1 released |
Date: |
Sun, 9 May 2004 15:12:11 +0200 |
LilyPond 2.3.1 is released. This development release sports a great
number of new features.
Enjoy!
* The `--safe' mode has been revisited: it makes the basic ly:
interface available, and stops malicious TeX code.
* Music syntax can now be extended seamlessly. As an example, here
is the new implementation `\applymusic',
applymusic = #(ly:make-music-function
(list procedure? ly:music?) ; signature
(lambda (where func music) ; the function
(func music)))
* `\apply' has been renamed to `\applymusic'.
* Music can be used as a markup. When inserting a `score' block as
part of a `\markup', it produces a rendered markup of the music.
* LilyPond expressions can be embedded into Scheme. The syntax for
this is `#{ ... #}'. Within such a block, Scheme forms can be
introduced using a `$' character (`$$' results in a single `$'
character). These forms are then printed in the pattern.
#(define (textoffset dx dy)
(ly:export
#{ \override Voice.TextScript #'extra-offset = #(cons $dx $dy)
#}))
\score {
\notes {
c'^"normal text"
%% the following statement is the same as
%% \override Voice.TextScript #'extra-offset = #(cons 2 -3)
#(textoffset 2 -3)
c'^"text with offset"
}
}
* Music lists are allowed at toplevel.
\header { title = "The Title" }
\notes { a b c }
is the same as
\header { title = "The Title" }
\book {
\score {
\notes { a b c }
}
}
These toplevel forms are handled by
`default-toplevel-music-handler'. Similarly, a `score' block at
toplevel is handled by `default-toplevel-score-handler' an a
`book' at toplevel is handled by `default-toplevel-book-handler'.
* Start pitch for `relative' music is optional for music lists. The
default value is one octave below middle C.
* Combining lyrics with music can be `\newlyrics'
<<
\relative {
\clef bass
d2 d c4 bes a2 \break
}
\newlyrics {
My first Li -- ly song,
}
\newlyrics {
Not much can go wrong!
}
>>
Syntactically, `\newlyrics' acts like an infix operator.
--
Han-Wen Nienhuys | address@hidden | http://www.xs4all.nl/~hanwen
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- LilyPond 2.3.1 released,
Han-Wen Nienhuys <=