r125: This commit was manufactured by cvs2svn to create tag 'r1_1_7-last'.
[cinelerra_cv/mob.git] / hvirtual / cinelerra / module.h
blobc790d352e45b6aab7c462474c1c82d67dbfb1d40
1 #ifndef MODULE_H
2 #define MODULE_H
4 #include "attachmentpoint.inc"
5 #include "cache.inc"
6 #include "commonrender.inc"
7 #include "datatype.h"
8 #include "edl.inc"
9 #include "filexml.inc"
10 #include "guicast.h"
11 #include "maxchannels.h"
12 #include "module.inc"
13 #include "patch.inc"
14 #include "plugin.inc"
15 #include "pluginarray.inc"
16 #include "pluginserver.inc"
17 #include "pluginset.inc"
18 #include "renderengine.inc"
19 #include "sharedlocation.inc"
20 #include "track.inc"
22 class Module
24 public:
25 Module(RenderEngine *renderengine,
26 CommonRender *commonrender,
27 PluginArray *plugin_array,
28 Track *track);
29 Module() {};
30 virtual ~Module();
32 virtual void create_objects();
33 void create_new_attachments();
34 void swap_attachments();
35 virtual AttachmentPoint* new_attachment(Plugin *plugin) { return 0; };
36 virtual int get_buffer_size() { return 0; };
37 int test_plugins();
38 AttachmentPoint* attachment_of(Plugin *plugin);
39 void dump();
40 int render_init();
41 void update_transition(int64_t current_position, int direction);
42 EDL* get_edl();
44 // CICache used during effect
45 CICache *cache;
46 // EDL used during effect
47 EDL *edl;
48 CommonRender *commonrender;
49 RenderEngine *renderengine;
50 PluginArray *plugin_array;
51 Track *track;
52 // TRACK_AUDIO or TRACK_VIDEO
53 int data_type;
55 // Pointer to transition in EDL
56 Plugin *transition;
57 // PluginServer for transition
58 PluginServer *transition_server;
59 // Currently active plugins.
60 // Use one AttachmentPoint for every pluginset to allow shared plugins to create
61 // extra plugin servers.
62 // AttachmentPoints are 0 if there is no plugin on the pluginset.
63 AttachmentPoint **attachments;
64 int total_attachments;
65 // AttachmentPoints are swapped in at render start to keep unchanged modules
66 // from resetting
67 AttachmentPoint **new_attachments;
68 int new_total_attachments;
71 #endif