mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-28 09:27:39 +01:00
start shaping up VCA assign process
This commit is contained in:
parent
984f4487e0
commit
acaaa98bd0
10 changed files with 129 additions and 6 deletions
|
|
@ -57,6 +57,7 @@ class LIBARDOUR_API GainControl : public AutomationControl {
|
|||
void add_master (boost::shared_ptr<GainControl>);
|
||||
void remove_master (boost::shared_ptr<GainControl>);
|
||||
void clear_masters ();
|
||||
bool slaved_to (boost::shared_ptr<GainControl>) const;
|
||||
|
||||
private:
|
||||
void _set_value (double val, PBD::Controllable::GroupControlDisposition group_override);
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@ class MonitorProcessor;
|
|||
class Pannable;
|
||||
class CapturingProcessor;
|
||||
class InternalSend;
|
||||
class VCA;
|
||||
|
||||
class LIBARDOUR_API Route : public SessionObject, public Automatable, public RouteGroupMember, public GraphNode, public boost::enable_shared_from_this<Route>
|
||||
{
|
||||
|
|
@ -707,8 +708,10 @@ public:
|
|||
void monitor_run (framepos_t start_frame, framepos_t end_frame,
|
||||
pframes_t nframes, int declick);
|
||||
|
||||
protected:
|
||||
friend class Session;
|
||||
bool slaved_to (boost::shared_ptr<VCA>) const;
|
||||
|
||||
protected:
|
||||
friend class Session;
|
||||
|
||||
void catch_up_on_solo_mute_override ();
|
||||
void mod_solo_by_others_upstream (int32_t);
|
||||
|
|
|
|||
|
|
@ -176,3 +176,10 @@ GainControl::clear_masters ()
|
|||
Changed(); /* EMIT SIGNAL */
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
GainControl::slaved_to (boost::shared_ptr<GainControl> gc) const
|
||||
{
|
||||
Glib::Threads::Mutex::Lock lm (master_lock);
|
||||
return find (_masters.begin(), _masters.end(), gc) != _masters.end();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@
|
|||
#include "ardour/session.h"
|
||||
#include "ardour/unknown_processor.h"
|
||||
#include "ardour/utils.h"
|
||||
#include "ardour/vca.h"
|
||||
|
||||
#include "i18n.h"
|
||||
|
||||
|
|
@ -3345,7 +3346,7 @@ Route::set_processor_state (const XMLNode& node)
|
|||
|
||||
for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
|
||||
|
||||
XMLProperty const * prop = (*niter)->property ("type");
|
||||
XMLProperty* prop = (*niter)->property ("type");
|
||||
|
||||
if (prop->value() == "amp") {
|
||||
_amp->set_state (**niter, Stateful::current_state_version);
|
||||
|
|
@ -5883,3 +5884,13 @@ Route::master_send_enable_controllable () const
|
|||
return boost::shared_ptr<AutomationControl>();
|
||||
#endif
|
||||
}
|
||||
|
||||
bool
|
||||
Route::slaved_to (boost::shared_ptr<VCA> vca) const
|
||||
{
|
||||
if (!vca || !_gain_control) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return _gain_control->slaved_to (vca->control());
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue