summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/io.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2007-10-08 23:47:35 +0000
committerCarl Hetherington <carl@carlh.net>2007-10-08 23:47:35 +0000
commit4d66204f4eb96ca802e9b301293ff4bd922717d0 (patch)
treee9ec9784f4cd1fd7673c783703221a6a53242e76 /libs/ardour/ardour/io.h
parent3f38e6b7f56ad85891d3669e0f1c58e6124b07f6 (diff)
Various work on Bundles, especially dynamic ones so that you can, for example, pass tracks to busses by selecting the buss name from the track's output menu.
git-svn-id: svn://localhost/ardour2/trunk@2530 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/io.h')
-rw-r--r--libs/ardour/ardour/io.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/libs/ardour/ardour/io.h b/libs/ardour/ardour/io.h
index 4ab99c5f12..2b0b0f7781 100644
--- a/libs/ardour/ardour/io.h
+++ b/libs/ardour/ardour/io.h
@@ -120,11 +120,11 @@ class IO : public Automatable, public Latent
int ensure_io (ChanCount in, ChanCount out, bool clear, void *src);
- int use_input_bundle (Bundle&, void *src);
- int use_output_bundle (Bundle&, void *src);
+ int connect_input_ports_to_bundle (boost::shared_ptr<Bundle>, void *src);
+ int connect_output_ports_to_bundle (boost::shared_ptr<Bundle>, void *src);
- Bundle *input_bundle() const { return _input_bundle; }
- Bundle *output_bundle() const { return _output_bundle; }
+ boost::shared_ptr<Bundle> input_bundle();
+ boost::shared_ptr<Bundle> output_bundle();
int add_input_port (string source, void *src, DataType type = DataType::NIL);
int add_output_port (string destination, void *src, DataType type = DataType::NIL);
@@ -179,6 +179,9 @@ class IO : public Automatable, public Latent
void attach_buffers(ChanCount ignored);
+ boost::shared_ptr<Bundle> bundle_for_inputs () const { return _bundle_for_inputs; }
+ boost::shared_ptr<Bundle> bundle_for_outputs () const { return _bundle_for_outputs; }
+
sigc::signal<void,IOChange,void*> input_changed;
sigc::signal<void,IOChange,void*> output_changed;
@@ -268,8 +271,8 @@ class IO : public Automatable, public Latent
PortSet _outputs;
PortSet _inputs;
PeakMeter* _meter;
- Bundle* _input_bundle;
- Bundle* _output_bundle;
+ boost::shared_ptr<Bundle> _input_bundle; ///< bundle connected to our inputs
+ boost::shared_ptr<Bundle> _output_bundle; ///< bundle connected to our outputs
bool no_panner_reset;
bool _phase_invert;
bool _denormal_protection;
@@ -326,6 +329,8 @@ class IO : public Automatable, public Latent
ChanCount _output_minimum;
ChanCount _output_maximum;
+ boost::shared_ptr<Bundle> _bundle_for_inputs;
+ boost::shared_ptr<Bundle> _bundle_for_outputs;
static int parse_io_string (const string&, vector<string>& chns);
@@ -356,6 +361,9 @@ class IO : public Automatable, public Latent
int32_t find_input_port_hole ();
int32_t find_output_port_hole ();
+
+ void create_bundles ();
+ void setup_bundles ();
};
} // namespace ARDOUR