X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fstream-event.hh;h=27a83ed72ff83e5f274398842029e69d2ce01fb7;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=613b9294fbacdbad6b731d8e8287118de749d8a1;hpb=d61cf3bbdb1c6670a127ba3baddf2f04d3e34fd3;p=lilypond.git diff --git a/lily/include/stream-event.hh b/lily/include/stream-event.hh index 613b9294fb..27a83ed72f 100644 --- a/lily/include/stream-event.hh +++ b/lily/include/stream-event.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2012 Erik Sandberg + Copyright (C) 2005--2015 Erik Sandberg LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,12 +30,20 @@ public: Stream_event (); VIRTUAL_COPY_CONSTRUCTOR (Stream_event, Stream_event); - Stream_event (SCM event_class, SCM mutable_props = SCM_EOL); + static Stream_event *unsmob (SCM s) { + return dynamic_cast (Prob::unsmob (s)); + } + static bool is_smob (SCM s) { + return Prob::is_smob (s) && unsmob (s); + } + + Stream_event (SCM event_class, SCM immutable_props = SCM_EOL); Stream_event (SCM class_name, Input *); Input *origin () const; void set_spot (Input *i); bool internal_in_event_class (SCM class_name); + void make_transposable (); virtual SCM copy_mutable_properties () const; @@ -45,7 +53,6 @@ public: #define in_event_class(class_name) internal_in_event_class (ly_symbol2scm (class_name)) -Stream_event *unsmob_stream_event (SCM); SCM ly_event_deep_copy (SCM); #endif /* STREAM_EVENT_HH */