class XMLNode;
-
namespace ARDOUR {
namespace Properties {
- extern PBD::PropertyDescriptor<bool> muted;
- extern PBD::PropertyDescriptor<bool> opaque;
- extern PBD::PropertyDescriptor<bool> locked;
- extern PBD::PropertyDescriptor<bool> video_locked;
- extern PBD::PropertyDescriptor<bool> automatic;
- extern PBD::PropertyDescriptor<bool> whole_file;
- extern PBD::PropertyDescriptor<bool> import;
- extern PBD::PropertyDescriptor<bool> external;
- extern PBD::PropertyDescriptor<bool> sync_marked;
- extern PBD::PropertyDescriptor<bool> left_of_split;
- extern PBD::PropertyDescriptor<bool> right_of_split;
- extern PBD::PropertyDescriptor<bool> hidden;
- extern PBD::PropertyDescriptor<bool> position_locked;
- extern PBD::PropertyDescriptor<bool> valid_transients;
- extern PBD::PropertyDescriptor<framepos_t> start;
- extern PBD::PropertyDescriptor<framecnt_t> length;
- extern PBD::PropertyDescriptor<framepos_t> position;
- extern PBD::PropertyDescriptor<framecnt_t> sync_position;
- extern PBD::PropertyDescriptor<layer_t> layer;
- extern PBD::PropertyDescriptor<framepos_t> ancestral_start;
- extern PBD::PropertyDescriptor<framecnt_t> ancestral_length;
- extern PBD::PropertyDescriptor<float> stretch;
- extern PBD::PropertyDescriptor<float> shift;
- extern PBD::PropertyDescriptor<PositionLockStyle> position_lock_style;
- extern PBD::PropertyDescriptor<uint64_t> layering_index;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> muted;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> opaque;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> locked;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> video_locked;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> automatic;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> whole_file;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> import;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> external;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> sync_marked;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> left_of_split;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> right_of_split;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> hidden;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> position_locked;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> valid_transients;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<framepos_t> start;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<framecnt_t> length;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<framepos_t> position;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<framecnt_t> sync_position;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<layer_t> layer;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<framepos_t> ancestral_start;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<framecnt_t> ancestral_length;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<float> stretch;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<float> shift;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<PositionLockStyle> position_lock_style;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<uint64_t> layering_index;
};
class Playlist;
class ExportSpecification;
class Progress;
-enum RegionEditState {
+enum LIBARDOUR_API RegionEditState {
EditChangesNothing = 0,
EditChangesName = 1,
EditChangesID = 2
};
-class Region
+class LIBARDOUR_API Region
: public SessionObject
, public boost::enable_shared_from_this<Region>
, public Readable
void trim_end (framepos_t new_position);
void trim_to (framepos_t position, framecnt_t length);
+ virtual void fade_range (framepos_t, framepos_t) {}
+
void cut_front (framepos_t new_position);
void cut_end (framepos_t new_position);
bool verify_start (framepos_t);
bool verify_start_and_length (framepos_t, framecnt_t&);
bool verify_start_mutable (framepos_t&_start);
- bool verify_length (framecnt_t);
+ bool verify_length (framecnt_t&);
virtual void recompute_at_start () = 0;
virtual void recompute_at_end () = 0;