summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/amp.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-04-07 05:21:57 +0200
committerRobin Gareus <robin@gareus.org>2015-04-07 05:21:57 +0200
commit83519faffbfc3d38d4258cbca1107c06109f0573 (patch)
tree89c2c585240621d5ea8a7a1462ee7f33b430a367 /libs/ardour/ardour/amp.h
parent528f945ba3f30a767be84b10be419177e553f767 (diff)
low-pass filter gain-fader.
fixes various fader zipper noise issues. It voids sample accuate fader automation (the fader-gain is low-pass filtered at 10Hz). Yet all musical purposes this makes a lot more sense than sample accuracy anyway.
Diffstat (limited to 'libs/ardour/ardour/amp.h')
-rw-r--r--libs/ardour/ardour/amp.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/libs/ardour/ardour/amp.h b/libs/ardour/ardour/amp.h
index 5408c86bff..5bfcf1d311 100644
--- a/libs/ardour/ardour/amp.h
+++ b/libs/ardour/ardour/amp.h
@@ -59,10 +59,10 @@ public:
XMLNode& state (bool full);
int set_state (const XMLNode&, int version);
- static void apply_gain (BufferSet& bufs, framecnt_t nframes, gain_t initial, gain_t target);
+ static gain_t apply_gain (BufferSet& bufs, framecnt_t sample_rate, framecnt_t nframes, gain_t initial, gain_t target);
static void apply_simple_gain(BufferSet& bufs, framecnt_t nframes, gain_t target);
- static void apply_gain (AudioBuffer& buf, framecnt_t nframes, gain_t initial, gain_t target);
+ static gain_t apply_gain (AudioBuffer& buf, framecnt_t sample_rate, framecnt_t nframes, gain_t initial, gain_t target);
static void apply_simple_gain(AudioBuffer& buf, framecnt_t nframes, gain_t target);
static void declick (BufferSet& bufs, framecnt_t nframes, int dir);
@@ -111,6 +111,7 @@ private:
bool _apply_gain;
bool _apply_gain_automation;
float _current_gain;
+ framepos_t _current_automation_frame;
boost::shared_ptr<GainControl> _gain_control;