X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fevent-chord-iterator.cc;h=56fe24f6cb4d1597735242c37d1630dde07e715e;hb=c89be8cc5794d62769a35719e68fddf0a8448faa;hp=ffb423bc6646c41a2da55ff6eb9661a83c7903a3;hpb=b5b00b10f242e4d22e352c8a0d61c384bf205277;p=lilypond.git diff --git a/lily/event-chord-iterator.cc b/lily/event-chord-iterator.cc index ffb423bc66..56fe24f6cb 100644 --- a/lily/event-chord-iterator.cc +++ b/lily/event-chord-iterator.cc @@ -3,12 +3,13 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2003 Han-Wen Nienhuys + (c) 1997--2004 Han-Wen Nienhuys */ -#include "translator-group.hh" -#include "warn.hh" #include "event-chord-iterator.hh" + +#include "context.hh" +#include "warn.hh" #include "music-list.hh" #include "event.hh" @@ -16,20 +17,15 @@ Event_chord_iterator::Event_chord_iterator () { } -Event_chord_iterator::Event_chord_iterator (Event_chord_iterator const &src) - : Simple_music_iterator (src) -{ -} - -Translator_group* +Context * Event_chord_iterator::get_req_translator () { - assert (report_to ()); - if (report_to ()->is_bottom_context ()) - return report_to (); + assert (get_outlet ()); + if (get_outlet ()->is_bottom_context ()) + return get_outlet (); - set_translator (report_to ()->get_default_interpreter ()); - return report_to (); + set_context (get_outlet ()->get_default_interpreter ()); + return get_outlet (); } void @@ -45,21 +41,6 @@ Event_chord_iterator::get_elt () const return (Event_chord*) get_music (); } -SCM -Event_chord_iterator::get_pending_events (Moment) const -{ - SCM s = SCM_EOL; - if (last_processed_mom_ < Moment (0)) - { - Music_sequence * ms = dynamic_cast (get_music ()); - - for (SCM m = ms->music_list (); gh_pair_p (m); m = ly_cdr (m)) - { - s = gh_cons (ly_car (m) , s); - } - } - return s; -} void Event_chord_iterator::process (Moment m) @@ -67,16 +48,16 @@ Event_chord_iterator::process (Moment m) if (last_processed_mom_ < Moment (0)) { for (SCM s = dynamic_cast (get_music ())->music_list (); - gh_pair_p (s); s = ly_cdr (s)) + scm_is_pair (s); s = scm_cdr (s)) { - Music *mus = unsmob_music (ly_car (s)); + Music *mus = unsmob_music (scm_car (s)); bool gotcha = try_music (mus); if (!gotcha) - mus->origin ()->warning (_f ("Junking event: `%s'", mus->name())); + mus->origin ()->warning (_f ("Junking event: `%s'", mus->name ())); } } - skip (m); + Simple_music_iterator::process (m); } IMPLEMENT_CTOR_CALLBACK (Event_chord_iterator);