lilypond-user
[Top][All Lists]
Advanced

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

Re: commands list and syntax


From: hernan gonzalez
Subject: Re: commands list and syntax
Date: Sun, 1 Jul 2007 18:33:20 -0300

On 6/30/07, Graham Percival <address@hidden> wrote:
> does not
> include a lot of very basic commands (\score \midi  \markup
> \appoggiatura \version ! ) .
> Or am I missing something and those are not "commands" ?

The general idea is that these are for things like \markup and
\appoggiatura (ie stuff that goes inside the music definition), but I
wouldn't object to including things like \version and \score in that index.
Please see:
http://lilypond.org/web/devel/participating/documentation-adding


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)...

> ... we've seen static substitution – when LilyPond sees \padText, it
> replaces it with the stuff that we've defined it to be (ie the stuff
> to the right of padtext=).
>
> (actually that "at the right" seems misleading to me ; it's actually
> the "block" or "atom" following the = sing. I think that that concept
> should be more explained in the docs. If I understand weel, the braces
> are used not just to enclose "expressions" or "fragments of music")

Err... concepts like "block" and "atom" might be familiar to you (as a
programmer), but they're not familiar to me!  The simplest way I could
think of writing that part was to talk about "the stuff to the right of..."


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.

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:

%--- 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.
cheers

Hernán J. González




reply via email to

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