diff options
author | Robin Gareus <robin@gareus.org> | 2015-04-07 05:21:57 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-04-07 05:21:57 +0200 |
commit | 83519faffbfc3d38d4258cbca1107c06109f0573 (patch) | |
tree | 89c2c585240621d5ea8a7a1462ee7f33b430a367 /libs/ardour/ardour/amp.h | |
parent | 528f945ba3f30a767be84b10be419177e553f767 (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.h | 5 |
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; |