]> git.donarmstrong.com Git - lilypond.git/blob - lily/sequential-music-iterator.cc
* VERSION (MY_PATCH_LEVEL): make 1.7.0
[lilypond.git] / lily / sequential-music-iterator.cc
1 /*
2   Sequential_music_iterator.cc -- implement Sequential_music_iterator
3
4   source file of the GNU LilyPond music typesetter
5
6   (c)  1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9 #include "translator-group.hh"
10 #include "warn.hh"
11 #include "sequential-music-iterator.hh"
12 #include "music-list.hh"
13
14 /*
15   move to context of child iterator if it is deeper down in the
16   hierarchy.
17   */
18 void
19 Sequential_music_iterator::descend_to_child ()
20 {
21   Translator_group  * child_report = child_report = iter_->report_to ();
22   Translator_group * me_report = report_to ();
23
24   Translator_group * c = child_report;
25   while (c && c != me_report)
26     {
27       c= c->daddy_trans_;
28     }
29   
30   if (c == me_report)
31     set_translator (child_report);
32 }
33
34
35 IMPLEMENT_CTOR_CALLBACK (Sequential_music_iterator);
36
37 SCM
38 Sequential_music_iterator::get_music_list()const
39 {
40   return dynamic_cast<Music_sequence const*> (get_music ())->music_list ();
41 }