|
Bring Scheme_engraver in line with other translators.
A whole load of commits. First uploads will be for issue 4840 and
4841 which are not in master yet.
Commits in reverse order:
Don't special-case Scheme_engraver's methods
Don't special-case Scheme_engraver's acknowledgers
Store acknowledgers in a Scheme_hash_table
Replace Translator_method et al
All of Translator_method, Translator_group_method,
Translator_group_void_method, Callback can be expressed via SCM now.
Translator_method_binding is replaced with Method_instance.
Replace Engraver_dispatch_entry with Method_instance
This also replaces a lot of C++-centric callback machinery (like the
Grob_info_callback type) with SCM-based code.
Add Method_instance class
This is a lightweight container class combining an SCM method call
with a particular instance into a C++ callable.
Add Callback0_wrapper and Callback2_wrapper class
Those are for callbacks with 0 and 2 SCM arguments, respectively. The
former are needed mainly for translator callbacks, the second for
acknowledgers.
Issue 4841: Let Scheme_hash_table::get return SCM_UNDEFINED for unknown keys
Issue 4840: Make Translator/Performer/Engraver abstract base classes
It does not make sense for them to be instantiable.
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+365 lines, -293 lines) |
Patch |
|
M |
lily/auto-beam-engraver.cc
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
lily/beam-engraver.cc
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
lily/callback.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
lily/context.cc
|
View
|
1
2
|
1 chunk |
+7 lines, -3 lines |
0 comments
|
Download
|
|
M |
lily/engraver.cc
|
View
|
|
1 chunk |
+0 lines, -17 lines |
0 comments
|
Download
|
|
M |
lily/include/callback.hh
|
View
|
1
2
|
2 chunks |
+121 lines, -1 line |
0 comments
|
Download
|
|
M |
lily/include/coherent-ligature-engraver.hh
|
View
|
1
2
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
lily/include/engraver.hh
|
View
|
1
2
|
3 chunks |
+19 lines, -1 line |
0 comments
|
Download
|
|
M |
lily/include/gregorian-ligature-engraver.hh
|
View
|
1
2
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
lily/include/ligature-engraver.hh
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
lily/include/lily-proto.hh
|
View
|
1
2
|
2 chunks |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
lily/include/performer.hh
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
lily/include/scheme-engraver.hh
|
View
|
1
2
|
3 chunks |
+13 lines, -15 lines |
0 comments
|
Download
|
|
M |
lily/include/slur-proto-engraver.hh
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
lily/include/translator.hh
|
View
|
1
2
|
8 chunks |
+59 lines, -32 lines |
0 comments
|
Download
|
|
M |
lily/include/translator.icc
|
View
|
1
2
|
3 chunks |
+22 lines, -36 lines |
0 comments
|
Download
|
|
M |
lily/include/translator-dispatch-list.hh
|
View
|
1
2
|
1 chunk |
+2 lines, -7 lines |
0 comments
|
Download
|
|
M |
lily/include/translator-group.hh
|
View
|
1
2
|
4 chunks |
+6 lines, -29 lines |
0 comments
|
Download
|
|
M |
lily/kievan-ligature-engraver.cc
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
lily/mensural-ligature-engraver.cc
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
lily/phrasing-slur-engraver.cc
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
lily/scheme-engraver.cc
|
View
|
1
2
|
6 chunks |
+36 lines, -68 lines |
0 comments
|
Download
|
|
M |
lily/scm-hash.cc
|
View
|
1
|
1 chunk |
+6 lines, -2 lines |
0 comments
|
Download
|
|
M |
lily/score-engraver.cc
|
View
|
1
2
|
1 chunk |
+5 lines, -3 lines |
0 comments
|
Download
|
|
M |
lily/score-performer.cc
|
View
|
1
2
|
1 chunk |
+5 lines, -4 lines |
0 comments
|
Download
|
|
M |
lily/slur-engraver.cc
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
lily/translator.cc
|
View
|
1
2
|
2 chunks |
+13 lines, -30 lines |
0 comments
|
Download
|
|
M |
lily/translator-dispatch-list.cc
|
View
|
1
2
|
2 chunks |
+12 lines, -19 lines |
0 comments
|
Download
|
|
M |
lily/translator-group.cc
|
View
|
1
2
|
6 chunks |
+22 lines, -21 lines |
0 comments
|
Download
|
|
M |
lily/vaticana-ligature-engraver.cc
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
Total messages: 2
|