X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmusic-iterator.hh;h=2afa31941a1c68cfd030c3f32c170f21306eb3ec;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=c2613bdbdfeac98890537bab6df17b4359a6bc8c;hpb=e24fb7cc5671aea95211d4a0c56f28fb6fe8720e;p=lilypond.git diff --git a/lily/include/music-iterator.hh b/lily/include/music-iterator.hh index c2613bdbdf..2afa31941a 100644 --- a/lily/include/music-iterator.hh +++ b/lily/include/music-iterator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -58,23 +58,28 @@ merge pending_moment and process? */ -class Music_iterator +class Music_iterator : public Smob { +public: + int print_smob (SCM, scm_print_state *); + SCM mark_smob (); + static const char type_p_name_[]; + virtual ~Music_iterator (); protected: Moment music_length_; Moment start_mom_; DECLARE_CLASSNAME (Music_iterator); - DECLARE_SMOBS (Music_iterator); - Music_iterator (Music_iterator const &); +private: + Music_iterator (Music_iterator const &); // Do not define! Not copyable! public: Moment music_get_length () const; Moment music_start_mom () const; Music_iterator (); void report_event (Music *); - Context *get_outlet () const; - void set_context (Context *); + virtual Context *get_outlet () const; + virtual void set_context (Context *); static SCM get_static_get_iterator (Music *mus); void init_context (Music *, Context *); void quit (); @@ -113,6 +118,5 @@ bool is_child_context (Context *me, Context *child); return c->unprotect (); \ } -DECLARE_UNSMOB (Music_iterator, iterator); #endif // MUSIC_ITERATOR_HH