X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fevent-chord-iterator.cc;h=89a0f383a99020427b918e09f8675663b9f7f087;hb=5383cafcc75ae088f833df0081e2b2a73a5442a1;hp=212dccc37160ebc48dddcf556f55164e26b66913;hpb=6512eebb8a3cf31bdd21f1250d1401c3ab9e0309;p=lilypond.git diff --git a/lily/event-chord-iterator.cc b/lily/event-chord-iterator.cc index 212dccc371..89a0f383a9 100644 --- a/lily/event-chord-iterator.cc +++ b/lily/event-chord-iterator.cc @@ -3,41 +3,30 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2005 Han-Wen Nienhuys + (c) 1997--2006 Han-Wen Nienhuys */ #include "event-chord-iterator.hh" #include "context.hh" +#include "dispatcher.hh" +#include "duration.hh" +#include "input.hh" +#include "international.hh" +#include "music.hh" +#include "pitch.hh" +#include "stream-event.hh" #include "warn.hh" -#include "event.hh" Event_chord_iterator::Event_chord_iterator () { } -Context * -Event_chord_iterator::get_bottom_context () -{ - assert (get_outlet ()); - if (get_outlet ()->is_bottom_context ()) - return get_outlet (); - - set_context (get_outlet ()->get_default_interpreter ()); - return get_outlet (); -} - void Event_chord_iterator::construct_children () { Simple_music_iterator::construct_children (); - get_bottom_context (); -} - -Event_chord * -Event_chord_iterator::get_elt () const -{ - return (Event_chord *) get_music (); + descend_to_bottom_context (); } void @@ -49,10 +38,13 @@ Event_chord_iterator::process (Moment m) scm_is_pair (s); s = scm_cdr (s)) { Music *mus = unsmob_music (scm_car (s)); - - bool gotcha = try_music (mus); - if (!gotcha) - mus->origin ()->warning (_f ("junking event: `%s'", mus->name ())); + report_event (mus); + } + for (SCM s = get_music ()->get_property ("events"); + scm_is_pair (s); s = scm_cdr (s)) + { + Stream_event *ev = unsmob_stream_event (scm_car (s)); + get_outlet ()->event_source ()->broadcast (ev); } } Simple_music_iterator::process (m);