#include "pbd/undo.h"
#include "ardour/ardour.h"
-#include "ardour/automatable_controls.h"
+#include "ardour/automatable.h"
#include "ardour/gain.h"
#include "ardour/logcurve.h"
#include "ardour/region.h"
void set_scale_amplitude (gain_t);
gain_t scale_amplitude() const { return _scale_amplitude; }
- void normalize_to (float target_in_dB = 0.0f);
+ void normalize (float, float target_in_dB = 0.0f);
+ double maximum_amplitude (Progress* p = 0) const;
bool envelope_active () const { return _envelope_active; }
bool fade_in_active () const { return _fade_in_active; }
};
virtual framecnt_t read (Sample*, framepos_t pos, framecnt_t cnt, int channel) const;
- virtual framecnt_t read_with_ops (Sample*, framepos_t pos, framecnt_t cnt, int channel, ReadOps rops) const;
virtual framecnt_t readable_length() const { return length(); }
virtual framecnt_t read_at (Sample *buf, Sample *mixdown_buf, float *gain_buf,
virtual framecnt_t read_raw_internal (Sample*, framepos_t, framecnt_t, int channel) const;
- XMLNode& state (bool);
+ XMLNode& state ();
int set_state (const XMLNode&, int version);
static void set_default_fade (float steepness, framecnt_t len);
bool fade_in_is_default () const;
bool fade_out_is_default () const;
- enum FadeShape {
- Linear,
- Fast,
- Slow,
- LogA,
- LogB
- };
-
void set_fade_in_active (bool yn);
void set_fade_in_shape (FadeShape);
void set_fade_in_length (framecnt_t);
void resume_fade_in ();
void resume_fade_out ();
+ void add_transient (framepos_t where);
+ void remove_transient (framepos_t where);
+ int set_transients (AnalysisFeatureList&);
int get_transients (AnalysisFeatureList&, bool force_new = false);
- std::list<std::pair<frameoffset_t, framecnt_t> > find_silence (Sample, framecnt_t) const;
+ int update_transient (framepos_t old_position, framepos_t new_position);
+ int adjust_transients (framepos_t delta);
+
+ std::list<std::pair<frameoffset_t, framecnt_t> > find_silence (Sample, framecnt_t, InterThreadInfo&) const;
private:
friend class RegionFactory;
PBD::Property<gain_t> _scale_amplitude;
void register_properties ();
- bool set_property (const PBD::PropertyBase& prop);
void post_set ();
void init ();
void connect_to_analysis_changed ();
void connect_to_header_position_offset_changed ();
- AutomatableControls _automatable;
+ Automatable _automatable;
boost::shared_ptr<AutomationList> _fade_in;
boost::shared_ptr<AutomationList> _fade_out;