From 55094b723774086d0f54d688b1ca73a4df82b93e Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 12 Jan 2016 22:04:18 -0500 Subject: move Amp::GainControl out into its own source module and out of Amp --- libs/ardour/ardour/gain_control.h | 55 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 libs/ardour/ardour/gain_control.h (limited to 'libs/ardour/ardour/gain_control.h') diff --git a/libs/ardour/ardour/gain_control.h b/libs/ardour/ardour/gain_control.h new file mode 100644 index 0000000000..17c250151a --- /dev/null +++ b/libs/ardour/ardour/gain_control.h @@ -0,0 +1,55 @@ +/* + Copyright (C) 2006-2016 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_gain_control_h__ +#define __ardour_gain_control_h__ + +#include +#include + +#include "pbd/controllable.h" + +#include "evoral/Parameter.hpp" + +#include "ardour/automation_control.h" +#include "ardour/libardour_visibility.h" + +namespace ARDOUR { + +class Session; + +struct LIBARDOUR_API GainControl : public AutomationControl { + GainControl (Session& session, const Evoral::Parameter ¶m, + boost::shared_ptr al = boost::shared_ptr()); + + void set_value (double val, PBD::Controllable::GroupControlDisposition group_override); + void set_value_unchecked (double); + + double internal_to_interface (double) const; + double interface_to_internal (double) const; + double internal_to_user (double) const; + double user_to_internal (double) const; + std::string get_user_string () const; + + double lower_db; + double range_db; +}; + +} /* namespace */ + +#endif /* __ardour_gain_control_h__ */ -- cgit v1.2.3