lilypond-user
[Top][All Lists]
Advanced

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

Re: Note duration line (contemporary)


From: Matthew Probst
Subject: Re: Note duration line (contemporary)
Date: Thu, 29 Nov 2012 11:58:54 -0600

I find myself wishing for an O'Reilly style book "Hacking Lilypond".  The user guide and the reference are fine as is, but a book with some extended examples of how to _architect_ solutions in Lilypond would be great.

I already know Scheme the language, and have a basic understanding of the Lilypond data structures, but advanced knowledge of Lilypond data structures and knowledge of its many functions escapes me for now.

Quite often I find myself wondering "What _api_ do we use to access _this_ data structure?" In the past I found the answer was often unclear without asking for assistance.  Some data structures just get manipulated with the usual list functions, other areas some kind of function/iterator needed calling.

Things appear to be getting better on the Scheme front, though, with some of the recent improvements in integration between Lilypond markup and Scheme code.

On Thu, Nov 29, 2012 at 10:51 AM, David Nalesnik <address@hidden> wrote:
Hi Jeffrey,

On Wed, Nov 28, 2012 at 11:52 PM, Paul Morris <address@hidden> wrote:
> On Nov 28, 2012, at 7:02 PM, Jeffrey Trevino <address@hidden>
> wrote:
>
> It's a long-term goal of mine to learn enough about the Scheme side of
> Lilypond to be able to design stencils, and custom notational constructs
> more broadly, like you've just done. It seems like graphic flexibility with
> \markup is documented really well, but I've yet to get the basics of how I
> can use Scheme to control Lilypond at a low-level graphically as you've just
> done. Do you -- or anyone else reading -- have a suggestion about which
> source code or documentation I should take a look at to start learning how?


There are plenty of online resources for learning Scheme.  I've
learned a lot by reading the manual for Guile 1.8 (am still learning!)

The big difficulty for me was not in learning the language, but rather
learning to work with the various procedures (such as the ones you see
in the code in this thread), for which there is little documentation.
There's a list of Scheme functions here:

http://www.lilypond.org/doc/v2.16/Documentation/internals/scheme-functions

but, as you can see, this is by no means a tutorial.  In the absence
of "how-tos," I've used trial-and-error, searched online for uses of
particular functions, and searched the code base.

There are plenty of useful procedures in files such as
scm/lily-library.scm and scm/stencil.scm -- you just need to look
around.

HTH,
David

_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user


reply via email to

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