diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-06-09 20:21:19 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-06-09 20:21:19 +0000 |
commit | e6eb059576eefd9a26c177627ae7dd3ba2feb727 (patch) | |
tree | 536ce6ee456f2306bb0346a51ede0a4aa64a8e63 /libs/ardour/ardour/io_processor.h | |
parent | 9bd274bfdee62c9cc0e5752d2a72027d2c732cd0 (diff) |
the big Route structure refactor. !!!! THIS WILL ***NOT LOAD*** PRIOR 3.0 or 2.X SESSIONS !!!! BREAKAGE IS EXPECTED !!!! IF YOU HAVE AND NEED A WORKING 3.0 DO **NOT** UPDATE. !!!! otherwise, update and enjoy the steadily emerging joys of this major reworking of ardour internals
git-svn-id: svn://localhost/ardour2/branches/3.0@5137 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/io_processor.h')
-rw-r--r-- | libs/ardour/ardour/io_processor.h | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/libs/ardour/ardour/io_processor.h b/libs/ardour/ardour/io_processor.h index 896de52a3b..72be2c0743 100644 --- a/libs/ardour/ardour/io_processor.h +++ b/libs/ardour/ardour/io_processor.h @@ -38,15 +38,16 @@ namespace ARDOUR { class Session; class IO; -/** A mixer strip element (Processor) with Jack ports (IO). +/** A mixer strip element (Processor) with 1 or 2 IO elements. */ class IOProcessor : public Processor { public: - IOProcessor (Session&, const std::string& proc_name, const std::string io_name="", - ARDOUR::DataType default_type = DataType::AUDIO); - IOProcessor (Session&, IO* io, const std::string& proc_name, + IOProcessor (Session&, bool with_input, bool with_output, + const std::string& proc_name, const std::string io_name="", ARDOUR::DataType default_type = DataType::AUDIO); + IOProcessor (Session&, boost::shared_ptr<IO> input, boost::shared_ptr<IO> output, + const std::string& proc_name, ARDOUR::DataType default_type = DataType::AUDIO); virtual ~IOProcessor (); bool set_name (const std::string& str); @@ -56,13 +57,14 @@ class IOProcessor : public Processor virtual ChanCount natural_output_streams() const; virtual ChanCount natural_input_streams () const; - boost::shared_ptr<IO> io() { return _io; } - boost::shared_ptr<const IO> io() const { return _io; } - void set_io (boost::shared_ptr<IO>); + boost::shared_ptr<IO> input() { return _input; } + boost::shared_ptr<const IO> input() const { return _input; } + boost::shared_ptr<IO> output() { return _output; } + boost::shared_ptr<const IO> output() const { return _output; } + void set_input (boost::shared_ptr<IO>); + void set_output (boost::shared_ptr<IO>); - virtual void automation_snapshot (nframes_t now, bool force); - - virtual void run_in_place (BufferSet& in, sframes_t start, sframes_t end, nframes_t nframes) = 0; + void run_in_place (BufferSet& in, sframes_t start, sframes_t end, nframes_t nframes) = 0; void silence (nframes_t nframes); sigc::signal<void,IOProcessor*,bool> AutomationPlaybackChanged; @@ -72,12 +74,14 @@ class IOProcessor : public Processor int set_state (const XMLNode&); protected: - boost::shared_ptr<IO> _io; + boost::shared_ptr<IO> _input; + boost::shared_ptr<IO> _output; private: /* disallow copy construction */ IOProcessor (const IOProcessor&); - bool _own_io; + bool _own_input; + bool _own_output; }; |