X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fevent-chord-iterator.cc;h=01e839b40d8f1c9c3054e710273d67bb02f3c305;hb=684b5c3b30504c1328392a702985bea5c63860e9;hp=074e2142f09f4e908c7de145f2a1bf827bf9ebcc;hpb=28976d28a04cfb9abe97af7214d7dce11f732604;p=lilypond.git diff --git a/lily/event-chord-iterator.cc b/lily/event-chord-iterator.cc index 074e2142f0..01e839b40d 100644 --- a/lily/event-chord-iterator.cc +++ b/lily/event-chord-iterator.cc @@ -3,27 +3,30 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2004 Han-Wen Nienhuys + (c) 1997--2005 Han-Wen Nienhuys */ +#include "event-chord-iterator.hh" + #include "context.hh" #include "warn.hh" -#include "event-chord-iterator.hh" -#include "music-list.hh" -#include "event.hh" +#include "music.hh" +#include "input.hh" +#include "pitch.hh" +#include "duration.hh" Event_chord_iterator::Event_chord_iterator () { } Context * -Event_chord_iterator::get_req_translator () +Event_chord_iterator::get_bottom_context () { assert (get_outlet ()); if (get_outlet ()->is_bottom_context ()) return get_outlet (); - set_translator (get_outlet ()->get_default_interpreter ()); + set_context (get_outlet ()->get_default_interpreter ()); return get_outlet (); } @@ -31,29 +34,22 @@ void Event_chord_iterator::construct_children () { Simple_music_iterator::construct_children (); - get_req_translator (); + get_bottom_context (); } -Event_chord* -Event_chord_iterator::get_elt () const -{ - return (Event_chord*) get_music (); -} - - void Event_chord_iterator::process (Moment m) { if (last_processed_mom_ < Moment (0)) { - for (SCM s = dynamic_cast (get_music ())->music_list (); - is_pair (s); s = ly_cdr (s)) + for (SCM s = get_music ()->get_property ("elements"); + 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 ())); } } Simple_music_iterator::process (m);