00001 #ifndef VMODULE_H
00002 #define VMODULE_H
00003
00004 class VModuleGUI;
00005 class VModuleTitle;
00006 class VModuleFade;
00007 class VModuleMute;
00008 class VModuleMode;
00009
00010 #define VMODULEHEIGHT 91
00011 #define VMODULEWIDTH 106
00012
00013
00014 #include "guicast.h"
00015 #include "datatype.h"
00016 #include "edl.inc"
00017 #include "filexml.inc"
00018 #include "floatautos.inc"
00019 #include "maxchannels.h"
00020 #include "module.h"
00021 #include "overlayframe.inc"
00022 #include "sharedlocation.inc"
00023 #include "track.inc"
00024 #include "vedit.inc"
00025 #include "vframe.inc"
00026 #include "maskengine.inc"
00027
00028 class VModule : public Module
00029 {
00030 public:
00031 VModule() {};
00032 VModule(RenderEngine *renderengine,
00033 CommonRender *commonrender,
00034 PluginArray *plugin_array,
00035 Track *track);
00036 virtual ~VModule();
00037
00038 void create_objects();
00039 AttachmentPoint* new_attachment(Plugin *plugin);
00040 int get_buffer_size();
00041
00042 CICache* get_cache();
00043
00044 int import_frame(VFrame *output,
00045 VEdit *current_edit,
00046 int64_t input_position,
00047 double frame_rate,
00048 int direction,
00049 int use_opengl);
00050 int render(VFrame *output,
00051 int64_t start_position,
00052 int direction,
00053 double frame_rate,
00054 int use_nudge,
00055 int debug_render,
00056 int use_opengl = 0);
00057
00058
00059 FloatAutos* get_fade_automation();
00060
00061
00062 VFrame *input_temp;
00063
00064
00065 VFrame *transition_temp;
00066
00067 OverlayFrame *overlay_temp;
00068 MaskEngine *masker;
00069 };
00070
00071 #endif