lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Understanding Lilypond language


From: Harald Christiansen
Subject: Understanding Lilypond language
Date: Sun, 06 Apr 2014 17:18:50 +1000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

Hello,

Is there a manual for the lilypond language itself ?

I don't get it ... is it a programming language ... a macro expander ... all of the above ?

I cannot build a mental model of how it works.

For example, let's take variables. I take the notation reference, I look at the index and I see several entries.

One entry specifies:

3.1.5 File structure
[...]

A variable, such as
foo = { c4 d e d }
So far so good.

Another entry:

3.3.2 Different editions from one source
[...]
Using variables
allLyrics = \lyricmode {King of glo -- ry }

Is this just a macro substitution ?

But then in one of my own I have to declare

myLayout = \layout { <bla bla bla }

even if \myLayout is used inside of a \layout section

So it seems that there is more going on but what ? Are the variables typed ? (i.e. myLayout is of type \layout and I have to cast it or declare it ? I don't get it)

I understand that at some level underneath lilypond uses Scheme (Guile) but how specifically ?

e.g. 
\set Staff.printPartCombineTexts = ##f

The way I guess this is: '#f' is the false atom, the first # switches to Guile interpretation ... but beyond this all is completely foggy.

Thanks in advance for any help.

Cheers,
-- 
Nihil verus. Omnia possibilia.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]