summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-11-08 15:40:54 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-11-08 15:40:54 +0000
commit5932ec19c4c2b00edcfc6068c637b39c007c904f (patch)
tree54c94cd6137c51735bd5238fb68450fe9ba81355 /libs/ardour/ardour
parentd0176c23e384a2bb963dcc75a8300caf2852d3d7 (diff)
add operator=() to Curve; add AudioRegion::copy_settings() for replicating region settings after generating a new region via an AudioFilter; add new ReadOps* for reading an audioregion with and without various "internal processing" applied (fades, scaling, automation); add new "Discovering Plugins" boot time message
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@4109 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/audioregion.h13
-rw-r--r--libs/ardour/ardour/curve.h1
2 files changed, 13 insertions, 1 deletions
diff --git a/libs/ardour/ardour/audioregion.h b/libs/ardour/ardour/audioregion.h
index 614211ffeb..4d4d8eecd8 100644
--- a/libs/ardour/ardour/audioregion.h
+++ b/libs/ardour/ardour/audioregion.h
@@ -55,6 +55,8 @@ class AudioRegion : public Region
~AudioRegion();
+ void copy_settings (boost::shared_ptr<const AudioRegion>);
+
bool source_equivalent (boost::shared_ptr<const Region>) const;
bool speed_mismatch (float) const;
@@ -86,8 +88,17 @@ class AudioRegion : public Region
uint32_t chan_n=0, double samples_per_unit= 1.0) const;
/* Readable interface */
+
+ enum ReadOps {
+ ReadOpsNone = 0x0,
+ ReadOpsOwnAutomation = 0x1,
+ ReadOpsOwnScaling = 0x2,
+ ReadOpsCount = 0x4,
+ ReadOpsFades = 0x8
+ };
virtual nframes64_t read (Sample*, nframes64_t pos, nframes64_t cnt, int channel) const;
+ virtual nframes64_t read_with_ops (Sample*, nframes64_t pos, nframes64_t cnt, int channel, ReadOps rops) const;
virtual nframes64_t readable_length() const { return length(); }
virtual nframes_t read_at (Sample *buf, Sample *mixdown_buf,
@@ -176,7 +187,7 @@ class AudioRegion : public Region
uint32_t chan_n = 0,
nframes_t read_frames = 0,
nframes_t skip_frames = 0,
- bool raw = false) const;
+ ReadOps readops = ReadOps (~0)) const;
bool verify_start (nframes_t position);
bool verify_length (nframes_t& length);
diff --git a/libs/ardour/ardour/curve.h b/libs/ardour/ardour/curve.h
index 5b725f4720..affcc41e8b 100644
--- a/libs/ardour/ardour/curve.h
+++ b/libs/ardour/ardour/curve.h
@@ -51,6 +51,7 @@ class Curve : public AutomationList
Curve (const Curve& other);
Curve (const Curve& other, double start, double end);
Curve (const XMLNode&);
+ Curve& operator= (const Curve& other);
bool rt_safe_get_vector (double x0, double x1, float *arg, int64_t veclen);
void get_vector (double x0, double x1, float *arg, int64_t veclen);