lilypond-devel
[Top][All Lists]
Advanced

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

Re: Add basic scheme programmable engravers. (issue181109)


From: hanwenn
Subject: Re: Add basic scheme programmable engravers. (issue181109)
Date: Sat, 14 Mar 2015 14:48:43 +0000

Reviewers: joeneeman,

Message:
seems I have some drafts left :-)


https://codereview.appspot.com/181109/diff/17/lily/context-scheme.cc
File lily/context-scheme.cc (right):

https://codereview.appspot.com/181109/diff/17/lily/context-scheme.cc#newcode26
lily/context-scheme.cc:26: // TODO: naming - should use now?
On 2010/01/02 06:13:54, joeneeman wrote:
I think ly:context-current-moment is clearer (although of course it
isn't
consistent with the C++ name)

Done.

https://codereview.appspot.com/181109/diff/17/lily/include/scheme-engraver.hh
File lily/include/scheme-engraver.hh (right):

https://codereview.appspot.com/181109/diff/17/lily/include/scheme-engraver.hh#newcode78
lily/include/scheme-engraver.hh:78: // todo: must_be_last() support?
On 2010/01/02 06:13:54, joeneeman wrote:
This comment seems obsolete...

Done.

https://codereview.appspot.com/181109/diff/17/lily/translator-group.cc
File lily/translator-group.cc (right):

https://codereview.appspot.com/181109/diff/17/lily/translator-group.cc#newcode166
lily/translator-group.cc:166: // TODO: softcode the typename?
On 2010/01/02 06:13:54, joeneeman wrote:
Surely the names of all C++ translators are compiled in. Why would you
want to
softcode it?

Done.

Description:
Add basic scheme programmable engravers.

* input/regression/scheme-engraver.ly shows a basic example.

* extend \consists syntax to accept an alist of callables.

* add Scheme_engraver which is the C++ glue to the Scheme callables.

* Make get_listener_ in translator_listener_record also pass the
  listened class, so we can use generic infrastructure for hooking
  scheme functions to event listeners.

* add scheme bindings:

  - ly:translator-context
  - ly:context-moment
  - ly:engraver-make-grob

Please review this at https://codereview.appspot.com/181109/

Affected files (+598, -46 lines):
  A input/regression/scheme-engraver.ly
  M lily/axis-group-engraver.cc
  M lily/context-def.cc
  M lily/context-scheme.cc
  M lily/engraver.cc
  A lily/engraver-scheme.cc
  M lily/include/axis-group-engraver.hh
  M lily/include/engraver.hh
  M lily/include/lily-proto.hh
  A lily/include/scheme-engraver.hh
  M lily/include/translator.hh
  lily/include/translator.icc
  M lily/parser.yy
  A lily/scheme-engraver.cc
  M lily/translator.cc
  M lily/translator-group.cc
  M lily/translator-scheme.cc





reply via email to

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