X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Froute.h;h=3d4f7f139a19287a4c9d025c2e62a7aedd92ed29;hb=14004b75a6d18a74fa59ac06c203af693164b774;hp=b4a392c23b4ee22d78ec3b60856f1232bf113c75;hpb=576cdb08b5eab456eea91263fac1709dd7931a9d;p=ardour.git diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h index b4a392c23b..3d4f7f139a 100644 --- a/libs/ardour/ardour/route.h +++ b/libs/ardour/ardour/route.h @@ -43,6 +43,7 @@ #include "ardour/types.h" #include "ardour/mute_master.h" #include "ardour/route_group_member.h" +#include "ardour/graphnode.h" namespace ARDOUR { @@ -56,7 +57,7 @@ class Send; class InternalReturn; class MonitorProcessor; -class Route : public SessionObject, public AutomatableControls, public RouteGroupMember +class Route : public SessionObject, public AutomatableControls, public RouteGroupMember, public GraphNode { public: @@ -123,17 +124,10 @@ class Route : public SessionObject, public AutomatableControls, public RouteGrou void inc_gain (gain_t delta, void *src); void set_mute_points (MuteMaster::MutePoint); - MuteMaster::MutePoint mute_points() const { return _mute_points; } + MuteMaster::MutePoint mute_points () const; bool muted () const; - bool self_muted () const; - bool muted_by_others () const; - - bool path_muted_by_others() const { return _path_muted_by_others > 0; } - void mod_path_muted_by_others (int delta); - void set_mute (bool yn, void* src); - void mod_muted_by_others (int delta); /* controls use set_solo() to modify this route's solo state */ @@ -377,12 +371,6 @@ class Route : public SessionObject, public AutomatableControls, public RouteGrou protected: friend class Session; - void set_graph_level (int32_t); - int32_t graph_level() const { return _graph_level; } - void check_physical_connections (); - // this functions may ONLY be called during a route resort - bool physically_connected () const { return _physically_connected; } - void catch_up_on_solo_mute_override (); void mod_solo_by_others_upstream (int32_t); void mod_solo_by_others_downstream (int32_t); @@ -436,13 +424,9 @@ class Route : public SessionObject, public AutomatableControls, public RouteGrou boost::shared_ptr _solo_control; boost::shared_ptr _mute_control; boost::shared_ptr _mute_master; - MuteMaster::MutePoint _mute_points; - volatile uint32_t _path_muted_by_others; std::string _comment; bool _have_internal_generator; - bool _physically_connected; // valid ONLY during a route resort - int32_t _graph_level; bool _solo_safe; DataType _default_type; FedBy _fed_by; @@ -457,7 +441,8 @@ class Route : public SessionObject, public AutomatableControls, public RouteGrou void passthru_silence (sframes_t start_frame, sframes_t end_frame, nframes_t nframes, int declick); - void silence (nframes_t nframes); + void silence (nframes_t); + void silence_unlocked (nframes_t); ChanCount processor_max_streams; uint32_t _remote_control_id; @@ -493,6 +478,8 @@ class Route : public SessionObject, public AutomatableControls, public RouteGrou void set_self_solo (bool yn); void set_mute_master_solo (); + + void set_processor_positions (); }; } // namespace ARDOUR