diff options
author | Robin Gareus <robin@gareus.org> | 2017-10-31 03:15:43 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-10-31 03:15:43 +0100 |
commit | 539560bcac12e38424f05261d4f26870a1edadad (patch) | |
tree | dcdd3f678ed36504df661b8234db3e88b71f75ed /libs/ardour/ardour/polarity_processor.h | |
parent | c5c4cd0246475d1e600d34c9de08a416b20d05a1 (diff) |
Add polarity-invert processor
Diffstat (limited to 'libs/ardour/ardour/polarity_processor.h')
-rw-r--r-- | libs/ardour/ardour/polarity_processor.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/libs/ardour/ardour/polarity_processor.h b/libs/ardour/ardour/polarity_processor.h new file mode 100644 index 0000000000..d059b3799b --- /dev/null +++ b/libs/ardour/ardour/polarity_processor.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2017 Robin Gareus <robin@gareus.org> + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef _ardour_polarity_processor_h__ +#define _ardour_polarity_processor_h__ + +#include "ardour/processor.h" +#include "ardour/types.h" + +namespace ARDOUR { + +class LIBARDOUR_API PolarityProcessor : public Processor +{ +public: + PolarityProcessor (Session&, boost::shared_ptr<PhaseControl>); + + bool display_to_user() const { return false; } + void run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_sample, double speed, pframes_t nframes, bool result_required); + bool configure_io (ChanCount in, ChanCount out); + bool can_support_io_configuration (const ChanCount& in, ChanCount& out); + + boost::shared_ptr<PhaseControl> phase_control() { + return _control; + } + +protected: + XMLNode& state (); + +private: + boost::shared_ptr<PhaseControl> _control; +}; + +} + +#endif |