OSC: simplify GUI and make less error-prone
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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 ();
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user