[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
- Re: Add basic scheme programmable engravers. (issue181109),
hanwenn <=