#include "pbd/xml++.h"
#include "ardour/amp.h"
-#include "ardour/audio_port.h"
+#include "ardour/audioengine.h"
#include "ardour/buffer_set.h"
+#include "ardour/gain_control.h"
#include "ardour/io.h"
#include "ardour/meter.h"
-#include "ardour/panner.h"
-#include "ardour/port.h"
#include "ardour/return.h"
#include "ardour/session.h"
-#include "ardour/mute_master.h"
-#include "ardour/audioengine.h"
#include "i18n.h"
{
/* never muted */
- _amp.reset (new Amp (_session));
- _meter.reset (new PeakMeter (_session));
+ boost::shared_ptr<AutomationList> gl (new AutomationList (Evoral::Parameter (GainAutomation)));
+ _gain_control = boost::shared_ptr<GainControl> (new GainControl (_session, Evoral::Parameter (GainAutomation), gl));
+ add_control (_gain_control);
+
+ _amp.reset (new Amp (_session, X_("Fader"), _gain_control, true));
+ _meter.reset (new PeakMeter (_session, name()));
}
Return::~Return ()
}
bool
-Return::can_support_io_configuration (const ChanCount& in, ChanCount& out) const
+Return::can_support_io_configuration (const ChanCount& in, ChanCount& out)
{
out = in + _input->n_ports();
return true;
// Ensure there are enough buffers (since we add some)
if (_session.get_scratch_buffers(in).count() < out) {
- Glib::Mutex::Lock em (_session.engine().process_lock());
+ Glib::Threads::Mutex::Lock em (_session.engine().process_lock());
IO::PortCountChanged(out);
}
return true;
}
-