20 #ifndef __ardour_audio_region_h__
21 #define __ardour_audio_region_h__
73 bool speed_mismatch (
float)
const;
77 void set_scale_amplitude (
gain_t);
80 void normalize (
float,
float target_in_dB = 0.0
f);
81 double maximum_amplitude (
Progress* p = 0)
const;
97 uint32_t chan_n=0,
double frames_per_pixel = 1.0)
const;
107 uint32_t chan_n = 0)
const;
116 int set_state (
const XMLNode&,
int version);
120 bool fade_in_is_default ()
const;
121 bool fade_out_is_default ()
const;
123 void set_fade_in_active (
bool yn);
129 void set_fade_out_active (
bool yn);
135 void set_default_fade_in ();
136 void set_default_fade_out ();
140 void set_envelope_active (
bool yn);
141 void set_default_envelope ();
149 return _automatable.control(
id, create);
154 return _automatable.control(
id);
159 void suspend_fade_in ();
160 void suspend_fade_out ();
161 void resume_fade_in ();
162 void resume_fade_out ();
184 friend class ::AudioRegionReadTest;
185 friend class ::PlaylistReadTest;
195 void register_properties ();
199 void set_default_fades ();
201 void recompute_gain_at_end ();
202 void recompute_gain_at_start ();
206 void recompute_at_start ();
207 void recompute_at_end ();
209 void envelope_changed ();
210 void fade_in_changed ();
211 void fade_out_changed ();
212 void source_offset_changed ();
213 void listen_to_my_curves ();
214 void connect_to_analysis_changed ();
215 void connect_to_header_position_offset_changed ();
LIBARDOUR_API PBD::PropertyDescriptor< bool > default_fade_in
LIBARDOUR_API PBD::PropertyDescriptor< bool > fade_out_active
LIBARDOUR_API PBD::PropertyDescriptor< bool > default_fade_out
LIBARDOUR_API uint32_t sourcefile_length_from_c(void *arg, double)
boost::shared_ptr< Evoral::Control > control(const Evoral::Parameter &id, bool create=false)
PBD::Property< bool > _default_fade_out
PBD::Property< bool > _fade_out_active
AutomationListProperty _inverse_fade_in
PBD::Property< gain_t > _scale_amplitude
boost::shared_ptr< AutomationList > fade_in()
AutomationListProperty _envelope
std::list< std::pair< frameoffset_t, frameoffset_t > > AudioIntervalResult
uint32_t _fade_out_suspended
boost::shared_ptr< AutomationList > fade_out()
PBD::Property< bool > _default_fade_in
LIBARDOUR_API uint32_t region_length_from_c(void *arg)
LIBARDOUR_API int region_read_peaks_from_c(void *arg, uint32_t npeaks, uint32_t start, uint32_t length, intptr_t data, uint32_t n_chan, double samples_per_unit)
AutomationListProperty _inverse_fade_out
LIBARDOUR_API PBD::PropertyDescriptor< framepos_t > start
bool fade_in_active() const
AutomationListProperty _fade_out
boost::shared_ptr< AutomationList > envelope()
virtual framecnt_t readable_length() const
std::list< framepos_t > AnalysisFeatureList
bool fade_out_active() const
PBD::Property< bool > _envelope_active
gain_t scale_amplitude() const
std::vector< boost::shared_ptr< Source > > SourceList
LIBARDOUR_API PBD::PropertyDescriptor< boost::shared_ptr< AutomationList > > fade_out
LIBARDOUR_API PBD::PropertyDescriptor< boost::shared_ptr< AutomationList > > fade_in
LIBARDOUR_API PBD::PropertyDescriptor< boost::shared_ptr< AutomationList > > inverse_fade_in
LIBARDOUR_API void make_property_quarks()
uint32_t _fade_in_suspended
LIBARDOUR_API PBD::PropertyDescriptor< boost::shared_ptr< AutomationList > > inverse_fade_out
boost::shared_ptr< AutomationList > inverse_fade_in()
LIBARDOUR_API PBD::PropertyDescriptor< framepos_t > position
boost::shared_ptr< AutomationList > inverse_fade_out()
virtual boost::shared_ptr< const Evoral::Control > control(const Evoral::Parameter &id) const
LIBARDOUR_API PBD::PropertyDescriptor< float > scale_amplitude
LIBARDOUR_API bool init(bool with_vst, bool try_optimization, const char *localedir)
LIBARDOUR_API PBD::PropertyDescriptor< bool > envelope_active
LIBARDOUR_API PBD::PropertyDescriptor< bool > fade_in_active
PBD::Property< bool > _fade_in_active
AutomationListProperty _fade_in
LIBARDOUR_API PBD::PropertyDescriptor< boost::shared_ptr< AutomationList > > envelope
LIBARDOUR_API PBD::PropertyDescriptor< framecnt_t > length
bool envelope_active() const