lilypond-user
[Top][All Lists]
Advanced

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

Re: the custos: understanding how it works


From: Leszek Wroński
Subject: Re: the custos: understanding how it works
Date: Mon, 23 Nov 2015 08:14:47 +0100

Guys (David, Thomas, Jacques),

thank you very much for the responses. I'll read the Contributor's Guide and see if I can have more specific questions in the future.
And Jacques, no worries! Your example was still useful to me as it helped me to realise some things ;)

Cheers,

Leszek.

On 22 November 2015 at 18:41, David Kastrup <address@hidden> wrote:
Leszek Wroński <address@hidden> writes:

> I was delighted to learn that Lilypond allows one to use custodes. I was
> wondering how they really work, namely, how one can, upon a linebreak,
> check what the next pitch is.  I have limited Scheme experience.

> source code, and after grepping found two files of interest: custos.cc
> and custos-engraver.cc . In the latter I found an _expression_ headed by
>
> "void
>  Custos_engraver::acknowledge_note_head (Grob_info info)"
>
> (line 83). Could anyone tell me if I'm on the right track?

Sort of.  That's where the Custos_engraver sees graphical objects that
have been declared to have a note-head-interface pass into the current
score.

> My problem is that, while I'm willing to learn, I have a very limited
> experience with C++ and with any object programming whatsoever (having
> spent much time decades ago with Turbo Pascal 5 :-)).

Well, imagine how frustrating it would be if you were a gee-whiz
C++ programmer and still couldn't tell the stuff LilyPond does from
Turbo Pascal 5.  C++ knowledge actually does not buy you all that much
for reading the source code.

> I'd be very grateful for any pointers regarding what happens during a
> linebreak (and, in general, how one should learn such things).

I'd take a look at the Contributor's Guide first: there are a few
sketches of code workings in it.  There is a file ROADMAP in the
repository that points out what kind of code is grouped into which
directories.

Other than that, it's mostly reading code and asking back on the list.

--
David Kastrup


reply via email to

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