virtual SCM grob_symbol () const;
virtual const char* object_name () const;
- void acknowledge_inline_accidental (Grob_info);
- void acknowledge_fingering (Grob_info);
void acknowledge_note_column (Grob_info);
void acknowledge_script (Grob_info);
- void acknowledge_dots (Grob_info);
- void acknowledge_text_script (Grob_info);
- void acknowledge_end_tie (Grob_info);
- void acknowledge_tuplet_number (Grob_info);
void listen_note (Stream_event *ev);
- void listen_slur (Stream_event *ev, Stream_event *note);
- // You'd think the following is the same as defaulting `note' to 0,
- // but template resolution for trampolines disagrees. Huh.
- void listen_slur (Stream_event *ev) { listen_slur (ev, 0); }
+ // A slur on an in-chord note is not actually announced as an event
+ // but rather produced by the note listener.
+ void listen_note_slur (Stream_event *ev, Stream_event *note);
+ void listen_slur (Stream_event *ev) { listen_note_slur (ev, 0); }
void acknowledge_extra_object (Grob_info);
void stop_translation_timestep ();
void process_music ();
- bool can_create_slur (const string&, vsize, vsize *, Stream_event *);
- void create_slur (const string &spanner_id, Event_info evi, Grob *g_cause, Direction dir, bool left_broken);
+ bool can_create_slur (SCM, vsize, vsize *, Stream_event *);
+ void create_slur (SCM spanner_id, Event_info evi, Grob *g_cause, Direction dir, bool left_broken);
bool try_to_end (Event_info evi);
virtual void set_melisma (bool);