From 0b572cdd84151335594965a3f0ed16f1665dfa56 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 13 Aug 2006 03:40:04 +0000 Subject: More signal path cleanup, IO now has one deliver_output function that should do the reasonable thing in all cases. Including deliver MIDI. You can now create a MIDI Track, run some MIDI through it, and toggle the mute button on and off, hearing either silence or a large amount of stuck notes depending on your luck. Woooo. git-svn-id: svn://localhost/ardour2/branches/midi@818 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/amp.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 libs/ardour/ardour/amp.h (limited to 'libs/ardour/ardour/amp.h') diff --git a/libs/ardour/ardour/amp.h b/libs/ardour/ardour/amp.h new file mode 100644 index 0000000000..7cdb302a3b --- /dev/null +++ b/libs/ardour/ardour/amp.h @@ -0,0 +1,42 @@ +/* + Copyright (C) 2006 Paul Davis + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#ifndef __ardour_amp_h__ +#define __ardour_amp_h__ + +#include + +namespace ARDOUR { + +class BufferSet; + + +/** Applies a declick operation to all audio inputs, passing the same number of + * audio outputs, and passing through any other types unchanged. + */ +class Amp { +public: + static void run (BufferSet& bufs, jack_nframes_t nframes, gain_t initial, gain_t target, bool invert_polarity); + + static void apply_simple_gain(BufferSet& bufs, jack_nframes_t nframes, gain_t target); +}; + + +} // namespace ARDOUR + +#endif // __ardour_amp_h__ -- cgit v1.2.3