|
From: | Leszek Wroński |
Subject: | Re: the custos: understanding how it works |
Date: | Mon, 23 Nov 2015 08:14:47 +0100 |
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
[Prev in Thread] | Current Thread | [Next in Thread] |