First, I would prefer to make the second parameter of
IMPLEMENT_TRANSLATOR the exact method identifier; i.e., somethign
like
IMPLEMENT_TRANSLATOR_LISTENER (Arpeggio_engraver, arpeggio_event);
void Arpeggio_engraver::arpeggio_event (..)
Second: Would it make sense to deviate from naming conventions, and
name the listen method ArpeggioEvent, or should I rather perform some
dirty trickery to generate the class name from a GNU-style string?
I.e., should the listen method's name be
Arpeggio_engraver::ArpeggioEvent
or
Arpeggio_engraver::arpeggio_event
?
I imagine that the former could be easier to understand for a
beginner; after all, the keyword arpeggio_event in C++ usually
corresponds to symbol arpeggio-event
in scheme, so with it may be difficult for a poor grepper to find out
what's going on if strings are manipulated heavily under the hood.