lilypond-user
[Top][All Lists]
Advanced

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

Re: commands list and syntax


From: Graham Percival
Subject: Re: commands list and syntax
Date: Sun, 01 Jul 2007 14:55:48 -0700
User-agent: Thunderbird 1.5.0.12 (Macintosh/20070509)

hernan gonzalez wrote:

Ok. i'll see... but I must understand first, document later ;-)
It's really strange for me that the syntax of \score , for example, is never
stated (as far as i found)...

Start at 3.2 How LilyPond files work. Read that section, then follow the links from that page to other related sections.

Well, I'm still reading and grasping the concepts... I was trying
(still am) to understand how does the parsing (informally) work, which
are the delimiters so to speak; clearly, newlines are not. if I write:
...
xxx = {a b c}  \markup "hi"
...

xxx is obviously (obviously?) assigned to {a b c} , the \markup is
independet of it, and could have been in other line.

Yes.

About the "macro/identifier/variable" concept:  I meant: this does not work

%%
xx= \italic
\score {  {   a^\markup { \xx hi } } }
%%
in spite of this being ok:
%%
\score { { a^\markup{ \italic hi } } }
%%

This shows (i assume) that the assigment of a identifier si not a
static sustitution as (a textual macro, a C #define). I'd like to
understand better what it is... Another example:

I recommend that you look at
2.3.1 Music expressions explained
in the documentation for version 2.11.


%--- this is ok ---
\book {
\score { {a b} \midi{} }
\score { {c d} \layout{} }
}
% -- this is ok, equivalent to previous
scoreA = \score { {a b} \midi{} }
scoreB = \score { {c d} \layout{} }
\book {
  \score { \scoreA }
  \score { \scoreB }
}

But if one think the identifiers as "having" the text at the right,
one would find a duplication of \score commands; the following would
appear to be the real equivalents of the original:

%--- not valid
scoreA = \score { {a b} \midi{} }
scoreB = \score { {c d} \layout{} }
\book {
  \scoreA
  \scoreB
}
% -- not valid, neither
scoreA = { {a b} \midi{} }
scoreB = { {c d} \layout{} }
\book {
  \score { \scoreA }
  \score { \scoreB }
}


hope i'm not being too dense .-) just, it's just i'm trying to
understand better how everything works.

One possible confusion is that LilyPond tries to be nice: if you omit certain keywords (or implicitly duplicate them via an identifier), it still displays some output.

10.1 Input files
has some more details about this process.

Cheers,
- Graham




reply via email to

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