LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- for (translator_listener_record *r = get_listener_list (); r; r=r->next_)
- c->events_below ()->add_listener (r->get_listener_ (this), r->event_class_);
+ for (translator_listener_record *r = get_listener_list (); r; r = r->next_)
+ c->events_below ()->add_listener (r->get_listener_ (this, r->event_class_),
+ r->event_class_);
- for (translator_listener_record *r = get_listener_list (); r; r=r->next_)
- c->events_below ()->remove_listener (r->get_listener_ (this), r->event_class_);
+ for (translator_listener_record *r = get_listener_list (); r; r = r->next_)
+ c->events_below ()->remove_listener (r->get_listener_ (this, r->event_class_),
+ r->event_class_);
{
ensure_listened_hash ();
return ly_hash_table_keys (listened_event_class_table);
}
LY_DEFINE (ly_is_listened_event_class, "ly:is-listened-event-class",
{
ensure_listened_hash ();
return ly_hash_table_keys (listened_event_class_table);
}
LY_DEFINE (ly_is_listened_event_class, "ly:is-listened-event-class",
/*
internally called once, statically, for each translator
listener. Connects the name of an event class with a procedure that
/*
internally called once, statically, for each translator
listener. Connects the name of an event class with a procedure that
- translator_listener_record *r,
- Listener (*get_listener) (void *),
- const char *ev_class)
+ translator_listener_record *r,
+ Listener (*get_listener) (void *, SCM),
+ const char *ev_class)
{
/* ev_class is the C++ identifier name. Convert to scm symbol */
string name = string (ev_class);
name = replace_all (&name, '_', '-');
name += "-event";
{
/* ev_class is the C++ identifier name. Convert to scm symbol */
string name = string (ev_class);
name = replace_all (&name, '_', '-');
name += "-event";
- const char *desc,
- translator_listener_record *listener_list,
- const char *read,
- const char *write) const
-{
- SCM static_properties = SCM_EOL;
-
- static_properties = scm_acons (ly_symbol2scm ("grobs-created"),
- parse_symbol_list (grobs), static_properties);
-
- static_properties = scm_acons (ly_symbol2scm ("description"),
- scm_from_locale_string (desc), static_properties);
-
+ const char *desc,
+ translator_listener_record *listener_list,
+ const char *read,
+ const char *write) const
+{
+ SCM static_properties = SCM_EOL;
+
+ static_properties = scm_acons (ly_symbol2scm ("grobs-created"),
+ parse_symbol_list (grobs), static_properties);
+
+ static_properties = scm_acons (ly_symbol2scm ("description"),
+ scm_from_locale_string (desc), static_properties);
+
SCM list = SCM_EOL;
for (; listener_list; listener_list = listener_list->next_)
list = scm_cons (listener_list->event_class_, list);
static_properties = scm_acons (ly_symbol2scm ("events-accepted"),
SCM list = SCM_EOL;
for (; listener_list; listener_list = listener_list->next_)
list = scm_cons (listener_list->event_class_, list);
static_properties = scm_acons (ly_symbol2scm ("events-accepted"),
- list, static_properties);
-
- static_properties = scm_acons (ly_symbol2scm ("properties-read"),
- parse_symbol_list (read), static_properties);
-
- static_properties = scm_acons (ly_symbol2scm ("properties-written"),
- parse_symbol_list (write), static_properties);
-
- return static_properties;
-}
-
+ list, static_properties);
+
+ static_properties = scm_acons (ly_symbol2scm ("properties-read"),
+ parse_symbol_list (read), static_properties);
+
+ static_properties = scm_acons (ly_symbol2scm ("properties-written"),
+ parse_symbol_list (write), static_properties);
+
+ return static_properties;
+}
+
get_event_length (Stream_event *e, Moment now)
{
Moment len = get_event_length (e);
get_event_length (Stream_event *e, Moment now)
{
Moment len = get_event_length (e);
{
/* extract event class from function name */
string ev_class = function;
/* This assertion fails if EVENT_ASSIGNMENT was called outside a
{
/* extract event class from function name */
string ev_class = function;
/* This assertion fails if EVENT_ASSIGNMENT was called outside a