Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

pluginset.h

Go to the documentation of this file.
00001 #ifndef PLUGINSET_H
00002 #define PLUGINSET_H
00003 
00004 #include <stdint.h>
00005 
00006 #include "edits.h"
00007 #include "edl.inc"
00008 #include "keyframe.inc"
00009 #include "module.inc"
00010 #include "plugin.inc"
00011 #include "pluginautos.inc"
00012 #include "sharedlocation.inc"
00013 #include "track.inc"
00014 
00015 class PluginSet : public Edits
00016 {
00017 public:
00018         PluginSet(EDL *edl, Track *track);
00019         virtual ~PluginSet();
00020 
00021         virtual void synchronize_params(PluginSet *plugin_set);
00022         virtual PluginSet& operator=(PluginSet& plugins);
00023         virtual Plugin* create_plugin() { return 0; };
00024 // Returns the point to restart background rendering at.
00025 // -1 means nothing changed.
00026         void clear_keyframes(int64_t start, int64_t end);
00027 // Clear edits only for a handle modification
00028         void clear_recursive(int64_t start, int64_t end);
00029         void shift_keyframes_recursive(int64_t position, int64_t length);
00030         void shift_effects_recursive(int64_t position, int64_t length);
00031         void clear(int64_t start, int64_t end);
00032         void copy_from(PluginSet *src);
00033         void copy(int64_t start, int64_t end, FileXML *file);
00034         void copy_keyframes(int64_t start, 
00035                 int64_t end, 
00036                 FileXML *file, 
00037                 int default_only,
00038                 int autos_only);
00039         static void paste_keyframes(int64_t start, 
00040                 int64_t length, 
00041                 FileXML *file, 
00042                 int default_only,
00043                 Track *track);
00044 // Return the nearest boundary of any kind in the plugin edits
00045         int64_t plugin_change_duration(int64_t input_position, 
00046                 int64_t input_length, 
00047                 int reverse);
00048         void shift_effects(int64_t start, int64_t length);
00049         Edit* insert_edit_after(Edit *previous_edit);
00050         Edit* create_edit();
00051 // For testing output equivalency when a new pluginset is added.
00052         Plugin* get_first_plugin();
00053 // The plugin set number in the track
00054         int get_number();
00055         void save(FileXML *file);
00056         void load(FileXML *file, uint32_t load_flags);
00057         void dump();
00058         int optimize();
00059 
00060 // Insert a new plugin
00061         Plugin* insert_plugin(char *title, 
00062                 int64_t unit_position, 
00063                 int64_t unit_length,
00064                 int plugin_type,
00065                 SharedLocation *shared_location,
00066                 KeyFrame *default_keyframe,
00067                 int do_optimize);
00068 
00069         PluginAutos *automation;
00070         int record;
00071 };
00072 
00073 
00074 #endif

Generated on Sun Jan 8 13:38:59 2006 for Cinelerra-svn by  doxygen 1.4.4