00001 #ifndef AMODULE_H 00002 #define AMODULE_H 00003 00004 class AModuleGUI; 00005 class AModuleTitle; 00006 class AModulePan; 00007 class AModuleFade; 00008 class AModuleInv; 00009 class AModuleMute; 00010 class AModuleReset; 00011 00012 #include "amodule.inc" 00013 #include "aplugin.inc" 00014 #include "datatype.h" 00015 #include "edl.inc" 00016 #include "filexml.inc" 00017 #include "floatautos.inc" 00018 #include "maxchannels.h" 00019 #include "module.h" 00020 #include "sharedlocation.inc" 00021 #include "track.inc" 00022 #include "units.h" 00023 00024 class AModule : public Module 00025 { 00026 public: 00027 AModule(RenderEngine *renderengine, 00028 CommonRender *commonrender, 00029 PluginArray *plugin_array, 00030 Track *track); 00031 virtual ~AModule(); 00032 00033 void create_objects(); 00034 CICache* get_cache(); 00035 int render(double *buffer, 00036 int64_t input_position, 00037 int input_len, 00038 int direction, 00039 int sample_rate, 00040 int use_nudge); 00041 void reverse_buffer(double *buffer, int64_t len); 00042 int get_buffer_size(); 00043 00044 AttachmentPoint* new_attachment(Plugin *plugin); 00045 00046 00047 00048 00049 // synchronization with tracks 00050 FloatAutos* get_pan_automation(int channel); // get pan automation 00051 FloatAutos* get_fade_automation(); // get the fade automation for this module 00052 00053 00054 double *level_history; 00055 int64_t *level_samples; 00056 int current_level; 00057 00058 // Temporary buffer for rendering transitions 00059 double *transition_temp; 00060 int transition_temp_alloc; 00061 }; 00062 00063 00064 #endif 00065
1.4.4