mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 15:54:57 +01:00
Add context-menu options to disconnect plugin-pins
This commit is contained in:
parent
73bc7e6cb7
commit
6dadac73ab
2 changed files with 30 additions and 1 deletions
|
|
@ -114,7 +114,11 @@ PluginPinWidget::PluginPinWidget (boost::shared_ptr<ARDOUR::PluginInsert> pi)
|
||||||
Menu_Helpers::MenuList& citems = reset_menu.items ();
|
Menu_Helpers::MenuList& citems = reset_menu.items ();
|
||||||
reset_menu.set_name ("ArdourContextMenu");
|
reset_menu.set_name ("ArdourContextMenu");
|
||||||
citems.clear ();
|
citems.clear ();
|
||||||
citems.push_back (Menu_Helpers::MenuElem (_("Reset"), sigc::mem_fun (*this, &PluginPinWidget::reset_mapping)));
|
citems.push_back (Menu_Helpers::MenuElem (_("Reset to default"), sigc::mem_fun (*this, &PluginPinWidget::reset_mapping)));
|
||||||
|
citems.push_back (Menu_Helpers::SeparatorElem ());
|
||||||
|
citems.push_back (Menu_Helpers::MenuElem (_("Disconnect Inputs"), sigc::bind (sigc::mem_fun (*this, &PluginPinWidget::clear_mapping), DisconnectIn)));
|
||||||
|
citems.push_back (Menu_Helpers::MenuElem (_("Disconnect Outputs"), sigc::bind (sigc::mem_fun (*this, &PluginPinWidget::clear_mapping), DisconnectOut)));
|
||||||
|
citems.push_back (Menu_Helpers::MenuElem (_("Disconnect All"), sigc::bind (sigc::mem_fun (*this, &PluginPinWidget::clear_mapping), DisconnectAll)));
|
||||||
|
|
||||||
_pm_size_group = SizeGroup::create (SIZE_GROUP_BOTH);
|
_pm_size_group = SizeGroup::create (SIZE_GROUP_BOTH);
|
||||||
_add_plugin.set_tweaks (ArdourButton::Square);
|
_add_plugin.set_tweaks (ArdourButton::Square);
|
||||||
|
|
@ -1646,6 +1650,23 @@ PluginPinWidget::reset_mapping ()
|
||||||
_pi->reset_map ();
|
_pi->reset_map ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
PluginPinWidget::clear_mapping (ClearMode m)
|
||||||
|
{
|
||||||
|
ChanMapping map;
|
||||||
|
for (uint32_t n = 0; n < _n_plugins; ++n) {
|
||||||
|
if (m & DisconnectIn) {
|
||||||
|
_pi->set_input_map (n, map);
|
||||||
|
}
|
||||||
|
if (m & DisconnectOut) {
|
||||||
|
_pi->set_output_map (n, map);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (m == DisconnectAll) {
|
||||||
|
_pi->set_thru_map (map);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PluginPinWidget::select_output_preset (uint32_t n_audio)
|
PluginPinWidget::select_output_preset (uint32_t n_audio)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,13 @@ private:
|
||||||
Output
|
Output
|
||||||
} CtrlType;
|
} CtrlType;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
DisconnectIn = 1,
|
||||||
|
DisconnectOut = 2,
|
||||||
|
DisconnectAll = 3, // includes thru
|
||||||
|
} ClearMode;
|
||||||
|
|
||||||
|
|
||||||
struct _CtrlElem {
|
struct _CtrlElem {
|
||||||
_CtrlElem (CtrlType c, ARDOUR::DataType d, uint32_t i, uint32_t p, uint32_t b, bool s)
|
_CtrlElem (CtrlType c, ARDOUR::DataType d, uint32_t i, uint32_t p, uint32_t b, bool s)
|
||||||
: ct (c), dt (d), id (i), ip (p), bn (b), sc (s) {}
|
: ct (c), dt (d), id (i), ip (p), bn (b), sc (s) {}
|
||||||
|
|
@ -153,6 +160,7 @@ private:
|
||||||
static std::string port_label (const std::string&, bool);
|
static std::string port_label (const std::string&, bool);
|
||||||
|
|
||||||
void reset_mapping ();
|
void reset_mapping ();
|
||||||
|
void clear_mapping (ClearMode);
|
||||||
void reset_configuration ();
|
void reset_configuration ();
|
||||||
void toggle_sidechain ();
|
void toggle_sidechain ();
|
||||||
void connect_sidechain ();
|
void connect_sidechain ();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue