summaryrefslogtreecommitdiff
path: root/gtk2_ardour/io_selector.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2009-01-20 14:46:00 +0000
committerCarl Hetherington <carl@carlh.net>2009-01-20 14:46:00 +0000
commit61db2175eb8b8fffd0c1796ace78ac33c9e1adf0 (patch)
tree6fdc23e7e0161ce54642b0bd44dc8e0a33f05efe /gtk2_ardour/io_selector.h
parentef038c1a84ecd541a540d5a5baa677d7663e535c (diff)
New matrix-based editor for connections and bundles, based on thorwil's design.
Add Bundle Manager dialog. git-svn-id: svn://localhost/ardour2/branches/3.0@4415 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/io_selector.h')
-rw-r--r--gtk2_ardour/io_selector.h48
1 files changed, 31 insertions, 17 deletions
diff --git a/gtk2_ardour/io_selector.h b/gtk2_ardour/io_selector.h
index 57c6e6db86..fb12de36ba 100644
--- a/gtk2_ardour/io_selector.h
+++ b/gtk2_ardour/io_selector.h
@@ -23,25 +23,47 @@
#include "ardour_dialog.h"
#include "port_matrix.h"
+namespace ARDOUR {
+ class PortInsert;
+}
+
class IOSelector : public PortMatrix {
public:
IOSelector (ARDOUR::Session&, boost::shared_ptr<ARDOUR::IO>, bool);
- void set_state (int, std::string const &, bool, uint32_t);
- bool get_state (int, std::string const &) const;
+ void set_state (
+ boost::shared_ptr<ARDOUR::Bundle>,
+ uint32_t,
+ boost::shared_ptr<ARDOUR::Bundle>,
+ uint32_t,
+ bool,
+ uint32_t
+ );
+
+ bool get_state (
+ boost::shared_ptr<ARDOUR::Bundle>,
+ uint32_t,
+ boost::shared_ptr<ARDOUR::Bundle>,
+ uint32_t
+ ) const;
+
+ void add_channel (boost::shared_ptr<ARDOUR::Bundle>);
+ void remove_channel (boost::shared_ptr<ARDOUR::Bundle>, uint32_t);
+ bool can_rename_channels () const {
+ return false;
+ }
+
uint32_t n_rows () const;
uint32_t maximum_rows () const;
uint32_t minimum_rows () const;
- std::string row_name (int) const;
- void add_row ();
- void remove_row (int);
- std::string row_descriptor () const;
- boost::shared_ptr<ARDOUR::IO> const io() { return _io; }
+ boost::shared_ptr<ARDOUR::IO> const io () { return _io; }
+ void setup ();
private:
+ ARDOUR::Session& _session;
boost::shared_ptr<ARDOUR::IO> _io;
- void ports_changed (ARDOUR::IOChange, void*);
+ void ports_changed ();
};
class IOSelectorWindow : public ArdourDialog
@@ -66,17 +88,11 @@ class IOSelectorWindow : public ArdourDialog
Gtk::Button cancel_button;
Gtk::Button rescan_button;
- Gtk::HBox suggestion_box;
- Gtk::Label suggestion;
-
- void rescan ();
void cancel ();
void accept ();
- void ports_changed (ARDOUR::IOChange change, void *src);
+ void ports_changed ();
void io_name_changed (void *src);
- bool enter_scroller (GdkEventCrossing*);
- bool leave_scroller (GdkEventCrossing*);
};
@@ -89,7 +105,6 @@ class PortInsertUI : public Gtk::VBox
void finished (IOSelector::Result);
private:
- Gtk::HBox hbox;
IOSelector input_selector;
IOSelector output_selector;
};
@@ -111,7 +126,6 @@ class PortInsertWindow : public ArdourDialog
Gtk::Button rescan_button;
Gtk::Frame button_frame;
- void rescan ();
void cancel ();
void accept ();