diff options
author | Len Ovens <len@ovenwerks.net> | 2017-06-24 13:13:53 -0700 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2017-06-24 13:13:53 -0700 |
commit | 86ee4de7a93fc4180b8ffaea1e9f569aff09dabf (patch) | |
tree | 14c9d63b12a9569f71fb4a6a82fdd887c5311d83 /libs/surfaces | |
parent | 33bfe681c94f7c9ba36a683521daf74b5834b3e9 (diff) |
OSC: simplify GUI and make less error-prone
Diffstat (limited to 'libs/surfaces')
-rw-r--r-- | libs/surfaces/osc/osc.cc | 62 | ||||
-rw-r--r-- | libs/surfaces/osc/osc_gui.cc | 27 |
2 files changed, 8 insertions, 81 deletions
diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc index 9818514e36..1d38889d26 100644 --- a/libs/surfaces/osc/osc.cc +++ b/libs/surfaces/osc/osc.cc @@ -1333,11 +1333,6 @@ OSC::get_address (lo_message msg) int OSC::refresh_surface (lo_message msg) { - if (address_only) { - // get rid of all surfaces and observers. - // needs change to only clear those for this address on all ports - clear_devices(); - } OSCSurface *s = get_surface(get_address (msg)); // restart all observers set_surface (s->bank_size, (uint32_t) s->strip_types.to_ulong(), (uint32_t) s->feedback.to_ulong(), \ @@ -4757,25 +4752,6 @@ OSC::get_state () node.set_property ("gainmode", default_gainmode); node.set_property ("send-page-size", default_send_size); node.set_property ("plug-page-size", default_plugin_size); - if (_surface.size()) { - XMLNode* config = new XMLNode (X_("Configurations")); - for (uint32_t it = 0; it < _surface.size(); ++it) { - OSCSurface* sur = &_surface[it]; - XMLNode* devnode = new XMLNode (X_("Configuration")); - devnode->set_property (X_("url"), sur->remote_url); - devnode->set_property (X_("bank-size"), sur->bank_size); - devnode->set_property (X_("strip-types"), (uint64_t)sur->strip_types.to_ulong()); - devnode->set_property (X_("feedback"), (uint64_t)sur->feedback.to_ulong()); - devnode->set_property (X_("gainmode"), sur->gainmode); - devnode->set_property (X_("send-page-size"), sur->send_page_size); - devnode->set_property (X_("plug-page-size"), sur->plug_page_size); - devnode->set_property (X_("no-clear"), sur->no_clear); - devnode->set_property (X_("cue"), sur->cue); - devnode->set_property (X_("aux"), sur->aux); - config->add_child_nocopy (*devnode); - } - node.add_child_nocopy (*config); - } return node; } @@ -4799,44 +4775,6 @@ OSC::set_state (const XMLNode& node, int version) node.get_property (X_("send-page-size"), default_send_size); node.get_property (X_("plugin-page-size"), default_plugin_size); - XMLNode* cnode = node.child (X_("Configurations")); - - if (cnode) { - XMLNodeList const& devices = cnode->children(); - for (XMLNodeList::const_iterator d = devices.begin(); d != devices.end(); ++d) { - OSCSurface s; - if (!(*d)->get_property (X_("url"), s.remote_url)) { - continue; - } - - bank_dirty = true; - - (*d)->get_property (X_("bank-size"), s.bank_size); - - uint64_t bits; - if ((*d)->get_property (X_ ("strip-types"), bits)) { - s.strip_types = bits; - } - if ((*d)->get_property (X_("feedback"), bits)) { - s.feedback = bits; - } - (*d)->get_property (X_("gainmode"), s.gainmode); - - (*d)->get_property (X_("send-page-size"), s.send_page_size); - (*d)->get_property (X_("plug-page-size"), s.plug_page_size); - (*d)->get_property (X_("no-clear"), s.no_clear); - (*d)->get_property (X_("cue"), s.cue); - (*d)->get_property (X_("aux"), s.aux); - s.bank = 1; - s.sel_obs = 0; - s.expand = 0; - s.expand_enable = false; - s.strips = get_sorted_stripables (s.strip_types, s.cue); - s.nstrips = s.strips.size (); - s.jogmode = JOG; - _surface.push_back (s); - } - } global_init = true; tick = false; diff --git a/libs/surfaces/osc/osc_gui.cc b/libs/surfaces/osc/osc_gui.cc index 7a64aa27bf..f1dc04d067 100644 --- a/libs/surfaces/osc/osc_gui.cc +++ b/libs/surfaces/osc/osc_gui.cc @@ -59,7 +59,6 @@ OSC_GUI::OSC_GUI (OSC& p) int n = 0; // table row Table* table = manage (new Table); Label* label; - Button* button; table->set_row_spacings (10); table->set_col_spacings (6); table->set_border_width (12); @@ -80,8 +79,8 @@ OSC_GUI::OSC_GUI (OSC& p) table->attach (*label, 0, 1, n, n+1, AttachOptions(FILL|EXPAND), AttachOptions(0)); table->attach (portmode_combo, 1, 2, n, n+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0); std::vector<std::string> portmode_options; - portmode_options.push_back (_("Auto")); - portmode_options.push_back (_("Manual")); + portmode_options.push_back (_("Auto - Reply to Originating Port")); + portmode_options.push_back (_("Manual - Specify Below")); set_popdown_strings (portmode_combo, portmode_options); portmode_combo.set_active ((int)cp.get_portmode()); @@ -182,17 +181,12 @@ OSC_GUI::OSC_GUI (OSC& p) preset_combo.signal_changed().connect (sigc::mem_fun (*this, &OSC_GUI::preset_changed)); ++n; - // refresh button - button = manage (new Gtk::Button(_("Clear OSC Devices"))); - table->attach (*button, 0, 2, n, n+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 10); - table->show_all (); append_page (*table, _("OSC Setup")); debug_combo.signal_changed().connect (sigc::mem_fun (*this, &OSC_GUI::debug_changed)); portmode_combo.signal_changed().connect (sigc::mem_fun (*this, &OSC_GUI::portmode_changed)); gainmode_combo.signal_changed().connect (sigc::mem_fun (*this, &OSC_GUI::gainmode_changed)); - button->signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::clear_device)); port_entry.signal_activate().connect (sigc::mem_fun (*this, &OSC_GUI::port_changed)); bank_entry.signal_activate().connect (sigc::mem_fun (*this, &OSC_GUI::bank_changed)); send_page_entry.signal_activate().connect (sigc::mem_fun (*this, &OSC_GUI::send_page_changed)); @@ -503,18 +497,12 @@ OSC_GUI::debug_changed () void OSC_GUI::portmode_changed () { - std::string str = portmode_combo.get_active_text (); - if (str == _("Auto")) { - cp.set_portmode (0); - port_entry.set_sensitive (false); - } - else if (str == _("Manual")) { - cp.set_portmode (1); + int pm = portmode_combo.get_active_row_number (); + cp.set_portmode (pm); + if (pm) { port_entry.set_sensitive (true); - } - else { - std::cerr << "Invalid OSC Port Mode\n"; - assert (0); + } else { + port_entry.set_sensitive (false); } save_user (); } @@ -874,6 +862,7 @@ OSC_GUI::save_user () } preset_combo.set_active (2); cp.gui_changed(); + clear_device (); } |