diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-05-21 22:12:06 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-05-21 22:12:06 +0000 |
commit | 48d078b97554dbc0cf8423d42c306f7b1330bff5 (patch) | |
tree | 8bb54c90b9a2adfded36eb78637cac12d33a9fc3 /libs/ardour/ardour/audioregion.h | |
parent | b99c6c6e1d5a2f8f653f64e1ee3788f77a11a120 (diff) |
virtualize audioregion, make crossfade IS-A audioregion
git-svn-id: svn://localhost/ardour2/trunk@1889 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/audioregion.h')
-rw-r--r-- | libs/ardour/ardour/audioregion.h | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/libs/ardour/ardour/audioregion.h b/libs/ardour/ardour/audioregion.h index ccc0d82f2a..f844d45ef1 100644 --- a/libs/ardour/ardour/audioregion.h +++ b/libs/ardour/ardour/audioregion.h @@ -77,14 +77,14 @@ class AudioRegion : public Region virtual nframes_t read_at (Sample *buf, Sample *mixdown_buf, float *gain_buf, nframes_t position, nframes_t cnt, - uint32_t chan_n = 0, - nframes_t read_frames = 0, - nframes_t skip_frames = 0) const; + uint32_t chan_n = 0) const; virtual nframes_t master_read_at (Sample *buf, Sample *mixdown_buf, float *gain_buf, nframes_t position, nframes_t cnt, uint32_t chan_n=0) const; + virtual nframes_t read_raw_internal (Sample*, nframes_t, nframes_t) const; + XMLNode& state (bool); int set_state (const XMLNode&); @@ -137,11 +137,11 @@ class AudioRegion : public Region AudioRegion (boost::shared_ptr<AudioSource>, nframes_t start, nframes_t length, const string& name, layer_t = 0, Region::Flag flags = Region::DefaultFlags); AudioRegion (SourceList &, nframes_t start, nframes_t length, const string& name, layer_t = 0, Region::Flag flags = Region::DefaultFlags); AudioRegion (boost::shared_ptr<const AudioRegion>, nframes_t start, nframes_t length, const string& name, layer_t = 0, Region::Flag flags = Region::DefaultFlags); - AudioRegion (boost::shared_ptr<const AudioRegion>); AudioRegion (boost::shared_ptr<AudioSource>, const XMLNode&); AudioRegion (SourceList &, const XMLNode&); private: + void init (); void set_default_fades (); void set_default_fade_in (); void set_default_fade_out (); @@ -150,10 +150,8 @@ class AudioRegion : public Region void recompute_gain_at_start (); nframes_t _read_at (const SourceList&, Sample *buf, Sample *mixdown_buffer, - float *gain_buffer, nframes_t position, nframes_t cnt, - uint32_t chan_n = 0, - nframes_t read_frames = 0, - nframes_t skip_frames = 0) const; + float *gain_buffer, nframes_t position, nframes_t cnt, + uint32_t chan_n = 0) const; void recompute_at_start (); void recompute_at_end (); @@ -174,6 +172,11 @@ class AudioRegion : public Region uint32_t _fade_out_disabled; protected: + /* default constructor for derived (compound) types */ + + AudioRegion (nframes_t, nframes_t, std::string name); + AudioRegion (boost::shared_ptr<const AudioRegion>); + int set_live_state (const XMLNode&, Change&, bool send); virtual bool verify_start (nframes_t); @@ -182,8 +185,6 @@ class AudioRegion : public Region virtual bool verify_length (nframes_t); /*virtual void recompute_at_start () = 0; virtual void recompute_at_end () = 0;*/ - - virtual nframes_t read_raw_internal (Sample*, nframes_t, nframes_t) const; }; } /* namespace ARDOUR */ |