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: David Kastrup
Subject: Re: the custos: understanding how it works
Date: Sun, 22 Nov 2015 18:41:38 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

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]