diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-01-30 07:40:13 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-01-30 07:40:13 +0000 |
commit | 70b939da4f9d4097160e32f2373a7a5ff8f4957f (patch) | |
tree | 5917e5847c75e441c9df550d5101352d18e8286f /libs/ardour/ardour/io.h | |
parent | ee62ee07d39f51ba1b70f390dc2158c57f54a572 (diff) |
first pass at internal sends. this is a very tentative work in progress, and it is possible that major changes may follow in the near future. it is certainly not complete, but the fundamental changes to Port/Buffer operation merit a commit at this point
git-svn-id: svn://localhost/ardour2/branches/3.0@4464 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/io.h')
-rw-r--r-- | libs/ardour/ardour/io.h | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/libs/ardour/ardour/io.h b/libs/ardour/ardour/io.h index 2d5b55c502..32962fef0d 100644 --- a/libs/ardour/ardour/io.h +++ b/libs/ardour/ardour/io.h @@ -109,6 +109,8 @@ class IO : public SessionObject, public AutomatableControls, public Latent void just_meter_input (nframes_t start_frame, nframes_t end_frame, nframes_t nframes, nframes_t offset); + BufferSet& output_buffers() { return *_output_buffers; } + gain_t gain () const { return _desired_gain; } virtual gain_t effective_gain () const; @@ -121,6 +123,7 @@ class IO : public SessionObject, public AutomatableControls, public Latent Panner& panner() { return *_panner; } PeakMeter& peak_meter() { return *_meter; } const Panner& panner() const { return *_panner; } + void reset_panner (); int ensure_io (ChanCount in, ChanCount out, bool clear, void *src); @@ -196,15 +199,10 @@ class IO : public SessionObject, public AutomatableControls, public Latent int set_state (const XMLNode&); static int disable_connecting (void); - static int enable_connecting (void); - static int disable_ports (void); - static int enable_ports (void); - static int disable_panners (void); - static int reset_panners (void); static sigc::signal<int> PortsLegal; @@ -214,16 +212,16 @@ class IO : public SessionObject, public AutomatableControls, public Latent static sigc::signal<void,ChanCount> PortCountChanged; static sigc::signal<int> PortsCreated; - static void update_meters(); + static void update_meters(); private: - - static sigc::signal<void> Meter; - static Glib::StaticMutex m_meter_signal_lock; - sigc::connection m_meter_connection; + + static sigc::signal<void> Meter; + static Glib::StaticMutex m_meter_signal_lock; + sigc::connection m_meter_connection; public: - + /* automation */ struct GainControl : public AutomationControl { @@ -292,8 +290,6 @@ class IO : public SessionObject, public AutomatableControls, public Latent virtual void set_deferred_state() {} - void reset_panner (); - virtual uint32_t pans_required() const { return _inputs.count().n_audio(); } @@ -314,14 +310,11 @@ class IO : public SessionObject, public AutomatableControls, public Latent static bool connecting_legal; static bool ports_legal; - BufferSet& output_buffers() { return *_output_buffers; } - private: + static bool panners_legal; - friend class Send; + void copy_to_outputs (BufferSet& bufs, DataType type, nframes_t nframes, nframes_t offset); - static bool panners_legal; - int connecting_became_legal (); int panners_became_legal (); sigc::connection connection_legal_c; |