+ virtual bool is_dependent() const { return false; }
+ virtual bool depends_on (boost::shared_ptr<Region> other) const { return false; }
+
+ virtual int exportme (ARDOUR::Session&, ARDOUR::ExportSpecification&) = 0;
+
+ virtual int get_transients (AnalysisFeatureList&, bool force_new = false) {
+ // no transients, but its OK
+ return 0;
+ }
+
+ virtual int separate_by_channel (ARDOUR::Session&,
+ std::vector< boost::shared_ptr<Region> >&) const {
+ return 0;
+ }
+
+ void invalidate_transients ();
+