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
00027 class VModule : public Module
00028 {
00029 public:
00030 VModule() {};
00031 VModule(RenderEngine *renderengine,
00032 CommonRender *commonrender,
00033 PluginArray *plugin_array,
00034 Track *track);
00035 virtual ~VModule();
00036
00037 void create_objects();
00038 AttachmentPoint* new_attachment(Plugin *plugin);
00039 int get_buffer_size();
00040
00041 CICache* get_cache();
00042 int import_frame(VFrame *output,
00043 VEdit *current_edit,
00044 int64_t input_position,
00045 double frame_rate,
00046 int direction);
00047 int render(VFrame *output,
00048 int64_t start_position,
00049 int direction,
00050 double frame_rate,
00051 int use_nudge,
00052 int debug_render);
00053
00054
00055 FloatAutos* get_fade_automation();
00056
00057
00058 VFrame *input_temp;
00059
00060
00061 VFrame *transition_temp;
00062
00063 OverlayFrame *overlay_temp;
00064 };
00065
00066 #endif