framecnt_t signal_latency() const { return _signal_latency; }
PBD::Signal0<void> active_changed;
- PBD::Signal0<void> phase_invert_changed;
PBD::Signal0<void> denormal_protection_changed;
- PBD::Signal1<void,PBD::Controllable::GroupControlDisposition> listen_changed;
- PBD::Signal2<void,bool,PBD::Controllable::GroupControlDisposition> solo_changed;
- PBD::Signal0<void> solo_safe_changed;
- PBD::Signal0<void> solo_isolated_changed;
PBD::Signal0<void> comment_changed;
- PBD::Signal0<void> mute_changed;
PBD::Signal0<void> mute_points_changed;
/** track numbers - assigned by session
boost::weak_ptr<Route> _route;
};
+ class BooleanRouteAutomationControl : public RouteAutomationControl {
+ public:
+ BooleanRouteAutomationControl (const std::string& name,
+ AutomationType atype,
+ boost::shared_ptr<AutomationList> alist,
+ boost::shared_ptr<Route> route)
+ : RouteAutomationControl (name, atype, alist, route) {}
+ protected:
+ double get_masters_value_locked() const;
+
+ };
+
class GainControllable : public GainControl {
public:
GainControllable (Session& session,
boost::weak_ptr<Route> _route;
};
- class SoloControllable : public RouteAutomationControl {
+ class SoloControllable : public BooleanRouteAutomationControl {
public:
SoloControllable (std::string name, boost::shared_ptr<Route>);
void set_value (double, PBD::Controllable::GroupControlDisposition group_override);
void _set_value (double, PBD::Controllable::GroupControlDisposition group_override);
};
- struct MuteControllable : public RouteAutomationControl {
+ struct MuteControllable : public BooleanRouteAutomationControl {
public:
MuteControllable (std::string name, boost::shared_ptr<Route>);
void set_value (double, PBD::Controllable::GroupControlDisposition group_override);
/* Pretend to change value, but do not affect actual route mute. */
void set_superficial_value(bool muted);
-
private:
boost::weak_ptr<Route> _route;
void _set_value (double, PBD::Controllable::GroupControlDisposition group_override);
};
- class LIBARDOUR_API PhaseControllable : public RouteAutomationControl {
+ class LIBARDOUR_API PhaseControllable : public BooleanRouteAutomationControl {
public:
PhaseControllable (std::string name, boost::shared_ptr<Route>);
void set_value (double, PBD::Controllable::GroupControlDisposition group_override);
void _set_value (double, PBD::Controllable::GroupControlDisposition group_override);
};
- class LIBARDOUR_API SoloIsolateControllable : public RouteAutomationControl {
+ class LIBARDOUR_API SoloIsolateControllable : public BooleanRouteAutomationControl {
public:
SoloIsolateControllable (std::string name, boost::shared_ptr<Route>);
void set_value (double, PBD::Controllable::GroupControlDisposition group_override);
void _set_value (double, PBD::Controllable::GroupControlDisposition group_override);
};
- class LIBARDOUR_API SoloSafeControllable : public RouteAutomationControl {
+ class LIBARDOUR_API SoloSafeControllable : public BooleanRouteAutomationControl {
public:
SoloSafeControllable (std::string name, boost::shared_ptr<Route>);
void set_value (double, PBD::Controllable::GroupControlDisposition group_override);