Re: problem with substitution
Dear Carl, thanks for Your explanation! Now I understand it! 2008/12/22 Carl D. Sorensen c_soren...@byu.edu: On 12/22/08 2:30 AM, Stefan Thomas kontrapunktste...@googlemail.com wrote: Dear Lilypond-users, I trie to substitute the variable zackigschnell' with APZ', but without sucess. What is wrong with the following snippet? \version 2.11.60 \include rhythmustest.ly \new Staff { \APZ { c' d' e' f' } } There's nothing wrong with the snippet. The problem occurred in rhythmustest.ly. You had the following: zackigschnell = #(define-music-function (parser location music) (ly:music?) #{ \makeRhythm $music 16. 32 #}) APZ = { \zackigschnell } The way LilyPond substitution works, \zackigschnell needs to be followed by a music expression. And in your definition of APZ, there is no music expression following \zackigschnell. If you literally do the substitution, you'll get \new Staff { { \zackigschnell } {c' d' e' f' } } and you can see that there is no music expression for \zackigschnell to operator on. If you literally want to just add a new name for a function, the way to do it is with a scheme trick. Simply add #(define APZ zackigschnell) and now APZ and zackigschnell are the same thing with two different names. I've tried it on your code, and this works. Good luck, Carl ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
problem with substitution
Dear Lilypond-users, I trie to substitute the variable zackigschnell' with APZ', but without sucess. What is wrong with the following snippet? \version 2.11.60 \include rhythmustest.ly \new Staff { \APZ { c' d' e' f' } } rhythmustest.ly Description: Binary data ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: problem with substitution
On 12/22/08 2:30 AM, Stefan Thomas kontrapunktste...@googlemail.com wrote: Dear Lilypond-users, I trie to substitute the variable zackigschnell' with APZ', but without sucess. What is wrong with the following snippet? \version 2.11.60 \include rhythmustest.ly \new Staff { \APZ { c' d' e' f' } } There's nothing wrong with the snippet. The problem occurred in rhythmustest.ly. You had the following: zackigschnell = #(define-music-function (parser location music) (ly:music?) #{ \makeRhythm $music 16. 32 #}) APZ = { \zackigschnell } The way LilyPond substitution works, \zackigschnell needs to be followed by a music expression. And in your definition of APZ, there is no music expression following \zackigschnell. If you literally do the substitution, you'll get \new Staff { { \zackigschnell } {c' d' e' f' } } and you can see that there is no music expression for \zackigschnell to operator on. If you literally want to just add a new name for a function, the way to do it is with a scheme trick. Simply add #(define APZ zackigschnell) and now APZ and zackigschnell are the same thing with two different names. I've tried it on your code, and this works. Good luck, Carl ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user