00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef MOBJECT_SESSION_TRACK_H
00025 #define MOBJECT_SESSION_TRACK_H
00026
00027 #include "proc/mobject/session/meta.hpp"
00028
00029
00030
00031 namespace asset { class Track; }
00032
00033 namespace mobject
00034 {
00035 namespace session
00036 {
00037 using lumiera::P;
00038
00039 class Track;
00040 typedef asset::Track TrackAsset;
00041
00042 typedef P<Track> PTrack;
00043 typedef P<TrackAsset> PTrackAsset;
00044
00045
00065 class Track : public Meta
00066 {
00067 Time start_;
00068 PTrackAsset trackDef_;
00069
00070 protected:
00071 Track (PTrackAsset&);
00072 friend class MObjectFactory;
00073
00074 public:
00076 vector<Placement<Track> > subTracks;
00077
00078 virtual bool isValid() const;
00079 };
00080
00081
00082
00083 }
00084
00086 DEFINE_SPECIALIZED_PLACEMENT (session::Track, session::Meta);
00087
00088 }
00089 #endif