- 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<samplepos_t> start;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<samplecnt_t> length;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<samplepos_t> position;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<double> beat;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<samplecnt_t> sync_position;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<layer_t> layer;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<samplepos_t> ancestral_start;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<samplecnt_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;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<std::string> tags;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<bool> contents; // type doesn't matter here