#include <list>
#include <string>
#include <vector>
-//#include <glibmm/miscutils.h>
#include <errno.h>
int n = 0; // table row
Table* table = manage (new Table);
Label* label;
- table->set_row_spacings (10);
+ table->set_row_spacings (16);
table->set_col_spacings (6);
table->set_border_width (12);
get_session ();
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));
- 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));
- plugin_page_entry.signal_activate().connect (sigc::mem_fun (*this, &OSC_GUI::plugin_page_changed));
+ port_entry.signal_changed().connect (sigc::mem_fun (*this, &OSC_GUI::port_changed));
+ port_entry.signal_focus_out_event().connect (sigc::mem_fun (*this, &OSC_GUI::port_focus_out));
+ bank_entry.signal_changed().connect (sigc::mem_fun (*this, &OSC_GUI::bank_changed));
+ send_page_entry.signal_changed().connect (sigc::mem_fun (*this, &OSC_GUI::send_page_changed));
+ plugin_page_entry.signal_changed().connect (sigc::mem_fun (*this, &OSC_GUI::plugin_page_changed));
// Strip Types Calculate Page
int stn = 0; // table row
sttable->attach (hidden_tracks, 1, 2, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
++stn;
+ label = manage (new Gtk::Label(_("Use Groups:")));
+ label->set_alignment(1, .5);
+ sttable->attach (*label, 0, 1, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ sttable->attach (usegroups, 1, 2, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ ++stn;
+
sttable->show_all ();
append_page (*sttable, _("Default Strip Types"));
monitor_type.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::set_bitsets));
selected_tracks.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::set_bitsets));
hidden_tracks.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::set_bitsets));
+ usegroups.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::set_bitsets));
strip_buttons_button.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::set_bitsets));
strip_control_button.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::set_bitsets));
ssid_as_path.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::set_bitsets));
OSC_GUI::port_changed ()
{
std::string str = port_entry.get_text ();
- if (port_entry.get_value() == 3819) {
- str = "8000";
- port_entry.set_value (8000);
+ int prt = atoi (str.c_str());
+ if (prt == 3819 || prt < 1024) {
+ // indicate non-valid text
+ port_entry.set_progress_fraction (1.0);
+ } else {
+ port_entry.set_progress_fraction (0.0);
+ cp.set_remote_port (string_compose ("%1", prt));
+ save_user ();
}
- cp.set_remote_port (str);
- save_user ();
+}
+
+bool
+OSC_GUI::port_focus_out (GdkEventFocus* )
+{
+ std::string str = port_entry.get_text ();
+ int prt = atoi (str.c_str());
+ if (prt == 3819 || prt < 1024) {
+ port_entry.set_text(cp.get_remote_port().c_str());
+ port_entry.set_progress_fraction (0.0);
+ }
+ return false;
}
void
OSC_GUI::bank_changed ()
{
- uint32_t bsize = bank_entry.get_value ();
+ uint32_t bsize = atoi(bank_entry.get_text ());
+ bank_entry.set_text (string_compose ("%1", bsize));
cp.set_banksize (bsize);
save_user ();
void
OSC_GUI::send_page_changed ()
{
- uint32_t ssize = send_page_entry.get_value ();
+ uint32_t ssize = atoi (send_page_entry.get_text ());
+ send_page_entry.set_text (string_compose ("%1", ssize));
cp.set_send_size (ssize);
save_user ();
void
OSC_GUI::plugin_page_changed ()
{
- uint32_t psize = plugin_page_entry.get_value ();
+ uint32_t psize = atoi (plugin_page_entry.get_text ());
+ plugin_page_entry.set_text (string_compose ("%1", psize));
cp.set_plugin_size (psize);
save_user ();
OSC_GUI::factory_reset ()
{
cp.set_banksize (0);
- bank_entry.set_value (0);
+ bank_entry.set_text ("0");
cp.set_send_size (0);
- send_page_entry.set_value (0);
+ send_page_entry.set_text ("0");
cp.set_plugin_size (0);
- plugin_page_entry.set_value (0);
+ plugin_page_entry.set_text ("0");
cp.set_defaultstrip (159);
cp.set_defaultfeedback (0);
reshow_values ();
cp.set_gainmode (0);
gainmode_combo.set_active (0);
- cp.set_portmode (0);
- portmode_combo.set_active (0);
+ cp.set_portmode (1);
+ portmode_combo.set_active (1);
cp.set_remote_port ("8000");
- port_entry.set_value (8000);
+ port_entry.set_text ("8000");
cp.clear_devices ();
cp.gui_changed ();
}
audio_auxes.set_active(def_strip & 128);
selected_tracks.set_active(def_strip & 256);
hidden_tracks.set_active(def_strip & 512);
+ usegroups.set_active(def_strip & 1024);
def_feedback = cp.get_defaultfeedback();
strip_buttons_button.set_active(def_feedback & 1);
strip_control_button.set_active(def_feedback & 2);
if (hidden_tracks.get_active()) {
stvalue += 512;
}
+ if (usegroups.get_active()) {
+ stvalue += 1024;
+ }
current_strip_types.set_text(string_compose("%1", stvalue));
}
}
if ((child = root->child ("Bank-Size")) == 0 || (prop = child->property ("value")) == 0) {
cp.set_banksize (sesn_bank);
- bank_entry.set_value (sesn_bank);
+ bank_entry.set_text (string_compose("%1", sesn_bank));
} else {
cp.set_banksize (atoi (prop->value().c_str()));
- bank_entry.set_value (atoi (prop->value().c_str()));
+ bank_entry.set_text (prop->value().c_str());
}
if ((child = root->child ("Send-Size")) == 0 || (prop = child->property ("value")) == 0) {
cp.set_send_size (sesn_send);
- send_page_entry.set_value (sesn_send);
+ send_page_entry.set_text (string_compose("%1", sesn_send));
} else {
cp.set_send_size (atoi (prop->value().c_str()));
- send_page_entry.set_value (atoi (prop->value().c_str()));
+ send_page_entry.set_text (prop->value().c_str());
}
if ((child = root->child ("Plugin-Size")) == 0 || (prop = child->property ("value")) == 0) {
cp.set_plugin_size (sesn_plugin);
- plugin_page_entry.set_value (sesn_plugin);
+ plugin_page_entry.set_text (string_compose("%1", sesn_plugin));
} else {
cp.set_plugin_size (atoi (prop->value().c_str()));
- plugin_page_entry.set_value (atoi (prop->value().c_str()));
+ plugin_page_entry.set_text (prop->value().c_str());
}
if ((child = root->child ("Strip-Types")) == 0 || (prop = child->property ("value")) == 0) {
cp.set_defaultstrip (sesn_strips);
gainmode_combo.set_active (atoi (prop->value().c_str()));
}
cp.gui_changed();
+ clear_device ();
}
}
cp.set_remote_port (sesn_port);
port_entry.set_text (sesn_port);
cp.set_banksize (sesn_bank);
- bank_entry.set_value (sesn_bank);
+ bank_entry.set_text (string_compose ("%1", sesn_bank));
cp.set_send_size (sesn_send);
- send_page_entry.set_value (sesn_send);
+ send_page_entry.set_text (string_compose ("%1", sesn_send));
cp.set_plugin_size (sesn_plugin);
- plugin_page_entry.set_value (sesn_plugin);
+ plugin_page_entry.set_text (string_compose ("%1", sesn_plugin));
cp.set_defaultstrip (sesn_strips);
cp.set_defaultfeedback (sesn_feedback);
reshow_values ();