00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "proc/mobject/session/mobjectfactory.hpp"
00025 #include "proc/mobject/session/clip.hpp"
00026 #include "proc/mobject/session/track.hpp"
00027 #include "proc/mobject/session/effect.hpp"
00028 #include "proc/asset/clip.hpp"
00029 #include "proc/asset/track.hpp"
00030 #include "proc/asset/effect.hpp"
00031
00032 namespace mobject
00033 {
00034 namespace session
00035 {
00036
00050 Placement<Clip>
00051 MObjectFactory::operator() (const asset::Clip& clipRef, const asset::Media& mediaDef)
00052 {
00053 return Placement<Clip> (*new Clip (clipRef,mediaDef), &deleterFunc);
00054 }
00055
00060 Placement<Clip>
00061 MObjectFactory::operator() (const asset::Clip& clipRef, vector<const Media*> mediaTracks)
00062 {
00063 UNIMPLEMENTED ("build multichannel compound clip-MO");
00064 }
00065
00067 Placement<Track>
00068 MObjectFactory::operator() (PTrackAsset& trackDef)
00069 {
00070 TODO ("what needs to be registered when creating an Track-MO?");
00071 return Placement<Track> (*new Track (trackDef), &deleterFunc);
00072 }
00073
00075 Placement<Effect>
00076 MObjectFactory::operator() (const asset::Effect& processorDef)
00077 {
00078 UNIMPLEMENTED ("fabricate effect-MO");
00079 }
00080
00081
00082
00083 }
00084
00085 }