Translator *get_translator (SCM s);
Moment get_event_length (Stream_event *s);
DECLARE_UNSMOB (Translator, translator);
+
+
+/*
+ This helper is only meaningful inside listen_* methods.
+*/
+extern bool internal_event_assignment (Stream_event **old_ev, Stream_event *new_ev, const char *function);
+#define ASSIGN_EVENT_ONCE(o,n) internal_event_assignment (&o, n, __FUNCTION__)
+
+
#endif // TRANSLATOR_HH
listen_ ## m (ev); \
}
-/*
- This helper is only meaningful inside listen_* methods.
-*/
-extern bool internal_event_assignment (Stream_event **old_ev, Stream_event *new_ev, const char *function);
-#define ASSIGN_EVENT_ONCE(o,n) internal_event_assignment (&o, n, __FUNCTION__)
-
#endif /* TRANSLATOR_ICC */
new_ev->self_scm ())))
{
/* extract event class from function name */
- const char *prefix = "listen_";
string ev_class = function;
+
/* This assertion fails if EVENT_ASSIGNMENT was called outside a
translator listener. Don't do that. */
+ const char *prefix = "listen_";
assert (0 == ev_class.find (prefix));
/* "listen_foo_bar" -> "foo-bar" */
}
ADD_TRANSLATOR (Translator,
- "Base class. Unused",
+ "Base class. Not instantiated.",
"",
"",
"");