summaryrefslogtreecommitdiff
path: root/gtk2_ardour/mixer_strip.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-11-03 02:20:45 +0000
committerCarl Hetherington <carl@carlh.net>2011-11-03 02:20:45 +0000
commitc9ec37afaf87e1ac09c5fef499002779a464886d (patch)
tree36c18acbb9a2876c51e48a9dc6d1cb81ad92a901 /gtk2_ardour/mixer_strip.cc
parent154c2a35d7a14eda847a6a610f5fbe8fb17109d8 (diff)
Add options to add ports to input/output menus on mixer strips.
git-svn-id: svn://localhost/ardour2/branches/3.0@10408 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/mixer_strip.cc')
-rw-r--r--gtk2_ardour/mixer_strip.cc32
1 files changed, 32 insertions, 0 deletions
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 288e9f830d..46f084efab 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -674,6 +674,16 @@ MixerStrip::output_press (GdkEventButton *ev)
output_menu_bundles.clear ();
citems.push_back (MenuElem (_("Disconnect"), sigc::mem_fun (*(static_cast<RouteUI*>(this)), &RouteUI::disconnect_output)));
+
+ for (DataType::iterator i = DataType::begin(); i != DataType::end(); ++i) {
+ citems.push_back (
+ MenuElem (
+ string_compose ("Add %1 port", (*i).to_i18n_string()),
+ sigc::bind (sigc::mem_fun (*this, &MixerStrip::add_output_port), *i)
+ )
+ );
+ }
+
citems.push_back (SeparatorElem());
ARDOUR::BundleList current = _route->output()->bundles_connected ();
@@ -785,6 +795,16 @@ MixerStrip::input_press (GdkEventButton *ev)
case 3:
{
citems.push_back (MenuElem (_("Disconnect"), sigc::mem_fun (*(static_cast<RouteUI*>(this)), &RouteUI::disconnect_input)));
+
+ for (DataType::iterator i = DataType::begin(); i != DataType::end(); ++i) {
+ citems.push_back (
+ MenuElem (
+ string_compose ("Add %1 port", (*i).to_i18n_string()),
+ sigc::bind (sigc::mem_fun (*this, &MixerStrip::add_input_port), *i)
+ )
+ );
+ }
+
citems.push_back (SeparatorElem());
input_menu_bundles.clear ();
@@ -2015,3 +2035,15 @@ MixerStrip::override_solo_visibility () const
return boost::optional<bool> ();
}
+
+void
+MixerStrip::add_input_port (DataType t)
+{
+ _route->input()->add_port ("", this, t);
+}
+
+void
+MixerStrip::add_output_port (DataType t)
+{
+ _route->output()->add_port ("", this, t);
+}