change exposed type of various objects' gain controls; remove Amp::gain() as a shortcut

This commit is contained in:
Paul Davis 2016-01-25 11:47:21 -05:00
parent 452e39f8a3
commit 22a20c7333
8 changed files with 19 additions and 19 deletions

View File

@ -39,7 +39,7 @@ using namespace PBD;
// used for low-pass filter denormal protection
#define GAIN_COEFF_TINY (1e-10) // -200dB
Amp::Amp (Session& s, const std::string& name, boost::shared_ptr<AutomationControl> gc, bool control_midi_also)
Amp::Amp (Session& s, const std::string& name, boost::shared_ptr<GainControl> gc, bool control_midi_also)
: Processor(s, "Amp")
, _apply_gain(true)
, _apply_gain_automation(false)

View File

@ -37,7 +37,7 @@ class IO;
*/
class LIBARDOUR_API Amp : public Processor {
public:
Amp(Session& s, const std::string& display_name, boost::shared_ptr<AutomationControl> control, bool control_midi_also);
Amp(Session& s, const std::string& display_name, boost::shared_ptr<GainControl> control, bool control_midi_also);
std::string display_name () const { return _display_name; }
void set_display_name (const std::string& name) { _display_name = name; }
@ -69,16 +69,13 @@ public:
static void apply_simple_gain(AudioBuffer& buf, framecnt_t nframes, gain_t target);
static void declick (BufferSet& bufs, framecnt_t nframes, int dir);
gain_t gain () const { return _gain_control->get_value(); }
static void update_meters();
boost::shared_ptr<AutomationControl> gain_control() {
boost::shared_ptr<GainControl> gain_control() {
return _gain_control;
}
boost::shared_ptr<const AutomationControl> gain_control() const {
boost::shared_ptr<const GainControl> gain_control() const {
return _gain_control;
}
@ -93,7 +90,7 @@ private:
std::string _display_name;
boost::shared_ptr<AutomationControl> _gain_control;
boost::shared_ptr<GainControl> _gain_control;
/** Buffer that we should use for gain automation */
gain_t* _gain_automation_buffer;

View File

@ -32,7 +32,7 @@ namespace ARDOUR {
class Amp;
class PeakMeter;
class GainControl;
class LIBARDOUR_API Return : public IOProcessor
{
@ -46,6 +46,7 @@ public:
boost::shared_ptr<Amp> amp() const { return _amp; }
boost::shared_ptr<PeakMeter> meter() const { return _meter; }
boost::shared_ptr<GainControl> gain_control() const { return _gain_control; }
bool metering() const { return _metering; }
void set_metering (bool yn) { _metering = yn; }
@ -64,7 +65,7 @@ public:
protected:
bool _metering;
boost::shared_ptr<AutomationControl> _gain_control;
boost::shared_ptr<GainControl> _gain_control;
boost::shared_ptr<Amp> _amp;
boost::shared_ptr<PeakMeter> _meter;

View File

@ -495,9 +495,9 @@ class LIBARDOUR_API Route : public SessionObject, public Automatable, public Rou
boost::shared_ptr<Panner> panner() const; /* may return null */
boost::shared_ptr<PannerShell> panner_shell() const;
boost::shared_ptr<AutomationControl> gain_control() const;
boost::shared_ptr<GainControl> gain_control() const;
boost::shared_ptr<Pannable> pannable() const;
boost::shared_ptr<AutomationControl> trim_control() const;
boost::shared_ptr<GainControl> trim_control() const;
/**
Return the first processor that accepts has at least one MIDI input

View File

@ -32,6 +32,7 @@ namespace ARDOUR {
class PeakMeter;
class Amp;
class GainControl;
class LIBARDOUR_API Send : public Delivery
{
@ -45,6 +46,7 @@ class LIBARDOUR_API Send : public Delivery
boost::shared_ptr<Amp> amp() const { return _amp; }
boost::shared_ptr<PeakMeter> meter() const { return _meter; }
boost::shared_ptr<GainControl> gain_control() const { return _gain_control; }
bool metering() const { return _metering; }
void set_metering (bool yn) { _metering = yn; }
@ -78,7 +80,7 @@ class LIBARDOUR_API Send : public Delivery
protected:
bool _metering;
boost::shared_ptr<AutomationControl> _gain_control;
boost::shared_ptr<GainControl> _gain_control;
boost::shared_ptr<Amp> _amp;
boost::shared_ptr<PeakMeter> _meter;
boost::shared_ptr<DelayLine> _delayline;

View File

@ -410,7 +410,7 @@ Route::set_gain (gain_t val, Controllable::GroupControlDisposition group_overrid
if (_route_group->is_relative()) {
gain_t usable_gain = _amp->gain();
gain_t usable_gain = _gain_control->get_value();
if (usable_gain < 0.000001f) {
usable_gain = 0.000001f;
}
@ -4448,13 +4448,13 @@ Route::panner_shell() const
return _main_outs->panner_shell();
}
boost::shared_ptr<AutomationControl>
boost::shared_ptr<GainControl>
Route::gain_control() const
{
return _gain_control;
}
boost::shared_ptr<AutomationControl>
boost::shared_ptr<GainControl>
Route::trim_control() const
{
return _trim_control;

View File

@ -178,7 +178,7 @@ gain_t
RouteGroup::get_min_factor (gain_t factor)
{
for (RouteList::iterator i = routes->begin(); i != routes->end(); ++i) {
gain_t const g = (*i)->amp()->gain();
gain_t const g = (*i)->gain_control()->get_value();
if ((g + g * factor) >= 0.0f) {
continue;
@ -198,7 +198,7 @@ gain_t
RouteGroup::get_max_factor (gain_t factor)
{
for (RouteList::iterator i = routes->begin(); i != routes->end(); i++) {
gain_t const g = (*i)->amp()->gain();
gain_t const g = (*i)->gain_control()->get_value();
// if the current factor woulnd't raise this route above maximum
if ((g + g * factor) <= 1.99526231f) {

View File

@ -736,7 +736,7 @@ Session::setup_click ()
_clicking = false;
boost::shared_ptr<AutomationList> gl (new AutomationList (Evoral::Parameter (GainAutomation)));
boost::shared_ptr<AutomationControl> gain_control = boost::shared_ptr<GainControl> (new GainControl (*this, Evoral::Parameter(GainAutomation), gl));
boost::shared_ptr<GainControl> gain_control = boost::shared_ptr<GainControl> (new GainControl (*this, Evoral::Parameter(GainAutomation), gl));
_click_io.reset (new ClickIO (*this, X_("Click")));
_click_gain.reset (new Amp (*this, _("Fader"), gain_control, true));