diff options
author | Carl Hetherington <carl@carlh.net> | 2010-06-30 02:59:13 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-06-30 02:59:13 +0000 |
commit | 5f67a72c341a96872d9cd3d1de357662295d14b0 (patch) | |
tree | 69ac5fad51fc894c0af153121822f479358c57be /gtk2_ardour/bundle_manager.cc | |
parent | 8efaca01efcdb1c7606d3f2aa18e875fd7a26244 (diff) |
Basic tweaks to make the bundles and the port matrix accept that MIDI tracks may have audio IO, and vice versa. Allows connection of instrument tracks using the global port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@7335 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/bundle_manager.cc')
-rw-r--r-- | gtk2_ardour/bundle_manager.cc | 44 |
1 files changed, 6 insertions, 38 deletions
diff --git a/gtk2_ardour/bundle_manager.cc b/gtk2_ardour/bundle_manager.cc index ba00cce9d0..66e985e808 100644 --- a/gtk2_ardour/bundle_manager.cc +++ b/gtk2_ardour/bundle_manager.cc @@ -37,7 +37,7 @@ using namespace std; using namespace ARDOUR; BundleEditorMatrix::BundleEditorMatrix (Gtk::Window* parent, Session* session, boost::shared_ptr<Bundle> bundle) - : PortMatrix (parent, session, bundle->type()) + : PortMatrix (parent, session, DataType::NIL) , _bundle (bundle) { _port_group = boost::shared_ptr<PortGroup> (new PortGroup ("")); @@ -60,7 +60,7 @@ BundleEditorMatrix::setup_ports (int dim) otherwise in some cases the basic system IO ports may be hidden, making the bundle editor useless */ - _ports[OTHER].gather (_session, _bundle->ports_are_inputs(), true); + _ports[OTHER].gather (_session, DataType::NIL, _bundle->ports_are_inputs(), true); _ports[OTHER].remove_bundle (_bundle); _ports[OTHER].resume_signals (); } @@ -118,7 +118,8 @@ BundleEditorMatrix::add_channel (boost::shared_ptr<Bundle> b) return; } - _bundle->add_channel (d.get_name()); + /* XXX: allow user to specify type */ + _bundle->add_channel (d.get_name(), DataType::AUDIO); setup_ports (OURS); } else { @@ -212,28 +213,6 @@ BundleEditor::BundleEditor (Session* session, boost::shared_ptr<UserBundle> bund _input_or_output.signal_changed().connect (sigc::mem_fun (*this, &BundleEditor::input_or_output_changed)); - /* Type (audio or MIDI) */ - a = new Gtk::Alignment (1, 0.5, 0, 1); - a->add (*Gtk::manage (new Gtk::Label (_("Type:")))); - t->attach (*Gtk::manage (a), 0, 1, 2, 3, Gtk::FILL, Gtk::FILL); - a = new Gtk::Alignment (0, 0.5, 0, 1); - a->add (_type); - t->attach (*Gtk::manage (a), 1, 2, 2, 3); - - _type.append_text (_("Audio")); - _type.append_text (_("MIDI")); - - switch (bundle->type ()) { - case DataType::AUDIO: - _type.set_active_text (_("Audio")); - break; - case DataType::MIDI: - _type.set_active_text (_("MIDI")); - break; - } - - _type.signal_changed().connect (sigc::mem_fun (*this, &BundleEditor::type_changed)); - get_vbox()->pack_start (*Gtk::manage (t), false, false); get_vbox()->pack_start (_matrix); get_vbox()->set_spacing (4); @@ -271,18 +250,6 @@ BundleEditor::input_or_output_changed () } void -BundleEditor::type_changed () -{ - _bundle->remove_ports_from_channels (); - - DataType const t = _type.get_active_text() == _("Audio") ? - DataType::AUDIO : DataType::MIDI; - - _bundle->set_type (t); - _matrix.set_type (t); -} - -void BundleEditor::on_map () { _matrix.setup_all_ports (); @@ -360,7 +327,8 @@ BundleManager::new_clicked () boost::shared_ptr<UserBundle> b (new UserBundle (_("Bundle"))); /* Start off with a single channel */ - b->add_channel ("1"); + /* XXX: allow user to specify type */ + b->add_channel ("1", DataType::AUDIO); _session->add_bundle (b); add_bundle (b); |