8 #include "keyframe.inc"
11 #include "pluginautos.inc"
12 #include "sharedlocation.inc"
15 class PluginSet
: public Edits
18 PluginSet(EDL
*edl
, Track
*track
);
21 virtual void synchronize_params(PluginSet
*plugin_set
);
22 virtual PluginSet
& operator=(PluginSet
& plugins
);
23 virtual Plugin
* create_plugin() { return 0; };
24 // Returns the point to restart background rendering at.
25 // -1 means nothing changed.
26 void clear_keyframes(int64_t start
, int64_t end
);
27 // Clear edits only for a handle modification
28 void clear_recursive(int64_t start
, int64_t end
);
29 void shift_keyframes_recursive(int64_t position
, int64_t length
);
30 void shift_effects_recursive(int64_t position
, int64_t length
);
31 void clear(int64_t start
, int64_t end
);
32 void copy_from(PluginSet
*src
);
33 void copy(int64_t start
, int64_t end
, FileXML
*file
);
34 void copy_keyframes(int64_t start
,
39 static void paste_keyframes(int64_t start
,
44 // Return the nearest boundary of any kind in the plugin edits
45 int64_t plugin_change_duration(int64_t input_position
,
48 void shift_effects(int64_t start
, int64_t length
);
49 Edit
* insert_edit_after(Edit
*previous_edit
);
51 // For testing output equivalency when a new pluginset is added.
52 Plugin
* get_first_plugin();
53 // The plugin set number in the track
55 void save(FileXML
*file
);
56 void load(FileXML
*file
, uint32_t load_flags
);
60 // Insert a new plugin
61 Plugin
* insert_plugin(char *title
,
62 int64_t unit_position
,
65 SharedLocation
*shared_location
,
66 KeyFrame
*default_keyframe
,
69 PluginAutos
*automation
;