diff options
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/insert.h | 11 | ||||
-rw-r--r-- | libs/ardour/ardour/route.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/send.h | 6 | ||||
-rw-r--r-- | libs/ardour/ardour/session.h | 12 |
4 files changed, 21 insertions, 10 deletions
diff --git a/libs/ardour/ardour/insert.h b/libs/ardour/ardour/insert.h index 61bee6c803..99b4e4b373 100644 --- a/libs/ardour/ardour/insert.h +++ b/libs/ardour/ardour/insert.h @@ -45,10 +45,8 @@ class Plugin; class Insert : public Redirect { public: - Insert(Session& s, Placement p); - Insert(Session& s, string name, Placement p); - - Insert(Session& s, Placement p, int imin, int imax, int omin, int omax); + Insert(Session& s, std::string name, Placement p); + Insert(Session& s, std::string name, Placement p, int imin, int imax, int omin, int omax); virtual ~Insert() { } @@ -84,6 +82,11 @@ class PortInsert : public Insert int32_t can_support_input_configuration (int32_t) const; int32_t configure_io (int32_t magic, int32_t in, int32_t out); int32_t compute_output_streams (int32_t cnt) const; + + uint32_t bit_slot() const { return bitslot; } + + private: + uint32_t bitslot; }; class PluginInsert : public Insert diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h index 2067c31b9c..869d7eb239 100644 --- a/libs/ardour/ardour/route.h +++ b/libs/ardour/ardour/route.h @@ -173,8 +173,6 @@ class Route : public IO void all_redirects_flip(); void all_redirects_active (bool state); - uint32_t count_sends (); - virtual nframes_t update_total_latency(); nframes_t signal_latency() const { return _own_latency; } virtual void set_latency_delay (nframes_t); diff --git a/libs/ardour/ardour/send.h b/libs/ardour/ardour/send.h index d22d483a8f..38c3d2a20a 100644 --- a/libs/ardour/ardour/send.h +++ b/libs/ardour/ardour/send.h @@ -33,12 +33,15 @@ namespace ARDOUR { -class Send : public Redirect { +class Send : public Redirect +{ public: Send (Session&, Placement); Send (Session&, const XMLNode&); Send (const Send&); ~Send (); + + uint32_t bit_slot() const { return bitslot; } void run (vector<Sample *> &bufs, uint32_t nbufs, nframes_t nframes, nframes_t offset); void activate() {} @@ -58,6 +61,7 @@ class Send : public Redirect { private: bool _metering; uint32_t expected_inputs; + uint32_t bitslot; }; } // namespace ARDOUR diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 5aa53e274f..03e50d152d 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -30,6 +30,7 @@ #include <stack> #include <boost/weak_ptr.hpp> +#include <boost/dynamic_bitset.hpp> #include <stdint.h> @@ -677,9 +678,11 @@ class Session : public PBD::StatefulDestructible uint32_t n_plugin_inserts() const { return _plugin_inserts.size(); } uint32_t n_sends() const { return _sends.size(); } - string next_send_name(); - string next_insert_name(); - + uint32_t next_send_id(); + uint32_t next_insert_id(); + void mark_send_id (uint32_t); + void mark_insert_id (uint32_t); + /* s/w "RAID" management */ nframes_t available_capture_duration(); @@ -1520,9 +1523,12 @@ class Session : public PBD::StatefulDestructible list<PortInsert *> _port_inserts; list<PluginInsert *> _plugin_inserts; list<Send *> _sends; + boost::dynamic_bitset<uint32_t> send_bitset; + boost::dynamic_bitset<uint32_t> insert_bitset; uint32_t send_cnt; uint32_t insert_cnt; + void add_redirect (Redirect *); void remove_redirect (Redirect *); |