X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fstream-event.hh;h=27a83ed72ff83e5f274398842029e69d2ce01fb7;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=ebdc17925cc576dcce8f1e22deadc4ec6afd5e1e;hpb=c3ff1c6cd20e15e9036ee7120012e05b1d62a46d;p=lilypond.git diff --git a/lily/include/stream-event.hh b/lily/include/stream-event.hh index ebdc17925c..27a83ed72f 100644 --- a/lily/include/stream-event.hh +++ b/lily/include/stream-event.hh @@ -1,9 +1,20 @@ /* - stream-event.hh -- declare Stream_event + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2005--2015 Erik Sandberg - (c) 2005-2006 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 + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #ifndef STREAM_EVENT_HH @@ -19,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; @@ -34,8 +53,6 @@ public: #define in_event_class(class_name) internal_in_event_class (ly_symbol2scm (class_name)) -Stream_event *unsmob_stream_event (SCM); -DECLARE_TYPE_P (Stream_event); SCM ly_event_deep_copy (SCM); #endif /* STREAM_EVENT_HH */