X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fstream-event.hh;h=3234c03d9f039b50332107d2ba15b829cf005731;hb=0b544cfb7332615ef809b71b57ab656741311ae1;hp=f2d5a960363e5ffeaadce96bc6fa5fe39c45d248;hpb=b3cf2199183a184c7eef9a9f8f3c9a691db1f0ad;p=lilypond.git diff --git a/lily/include/stream-event.hh b/lily/include/stream-event.hh index f2d5a96036..3234c03d9f 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--2014 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 @@ -13,33 +24,29 @@ #include "smobs.hh" #include "prob.hh" -class Stream_event +class Stream_event : public Prob { - void init (); - SCM property_alist_; - Input *origin_; - public: Stream_event (); + VIRTUAL_COPY_CONSTRUCTOR (Stream_event, Stream_event); + + 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; DECLARE_SCHEME_CALLBACK (undump, (SCM)); DECLARE_SCHEME_CALLBACK (dump, (SCM)); - - // todo: remove unneeded constructors - Stream_event (SCM property_alist); - Stream_event (SCM class_name, Input *); - Stream_event (Stream_event *ev); - - SCM internal_get_property (SCM) const; - void internal_set_property (SCM prop, SCM val); - -protected: - DECLARE_SMOBS (Stream_event,); }; -DECLARE_UNSMOB (Stream_event, stream_event); -DECLARE_TYPE_P (Stream_event); +#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 */