[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "Creating MIDI Files" doc is wrong
From: |
James Harkins |
Subject: |
Re: "Creating MIDI Files" doc is wrong |
Date: |
Sun, 15 Oct 2017 21:32:24 +0800 |
User-agent: |
Zoho Mail |
---- On Sun, 15 Oct 2017 18:32:29 +0800 David Kastrup <address@hidden> wrote
----
> > Never mind, I see my mistake now. I had extrapolated from \new Staff
> > and \new Voice to \new Score. LilyPond accepts \new Score
> > (!). Possible improvement might be to reject that wrong syntax with an
> > informative error.
>
> It isn't wrong syntax. And there is no way to "extrapolate" since
> \new Staff or \new Voice don't introduce different syntax from
> \new Score and there is no \staff or \voice either.
Wrong choice of word, perhaps... I had been writing a lot of "\new Staff" and
"\new Voice," and I (incorrectly) extended that pattern up to score level.
It may be valid syntax, but I couldn't find what it's used for, anyway.
> > - Do I just write a number here, or prepend '#' -- 1.0 or #1.0?
>
> Prepending works reliably almost anywhere, not prepending works in most
> places except markup as well.
"... almost anywhere..." ;)
> > - Single or double # for other entities? (#t vs ##t)
>
> #t and #f are Scheme expressions (not particularly pretty ones in my
> book), and if you want to use them from LilyPond, you need to prepend #
> or $. Like with _everything_ you use from Scheme inside of LilyPond.
A-ha. OK, the trouble is that I don't really understand the boundaries between
LilyPond and Scheme. I'm far enough along to see how music expressions fit
together in voices and staves (more or less), but for overrides, I can copy and
edit some commands from the manuals but I don't *really* know what they're made
of at a deep level.
It helps to know that # means "something from Scheme" and #t and #f are Scheme
things, and so is 1.0, hence ##f and #1.0, but not ##1.0. Five years of
intermittent use, and I didn't get it (maybe I still don't)... it may not be
possible to improve, but it falls a bit short of being self-explanatory ;)
In any case, clearer now, thanks for the explanation.
hjh