+
+
+ // Strip Types Calculate Page
+ int stn = 0; // table row
+ Table* sttable = manage (new Table);
+ sttable->set_row_spacings (4);
+ sttable->set_col_spacings (6);
+ sttable->set_border_width (12);
+
+ // show our url
+ label = manage (new Gtk::Label(_("Select Desired Types of Tracks")));
+ sttable->attach (*label, 0, 2, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ ++stn;
+
+ label = manage (new Gtk::Label(_("Strip Types Value:")));
+ label->set_alignment(1, .5);
+ sttable->attach (*label, 0, 1, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ calculate_strip_types ();
+ current_strip_types.set_width_chars(10);
+ sttable->attach (current_strip_types, 1, 2, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ ++stn;
+
+ label = manage (new Gtk::Label(_("Audio Tracks:")));
+ label->set_alignment(1, .5);
+ sttable->attach (*label, 0, 1, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ sttable->attach (audio_tracks, 1, 2, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ audio_tracks.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_strip_types));
+ ++stn;
+
+ label = manage (new Gtk::Label(_("Midi Tracks:")));
+ label->set_alignment(1, .5);
+ sttable->attach (*label, 0, 1, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ sttable->attach (midi_tracks, 1, 2, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ midi_tracks.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_strip_types));
+ ++stn;
+
+ label = manage (new Gtk::Label(_("Audio Buses:")));
+ label->set_alignment(1, .5);
+ sttable->attach (*label, 0, 1, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ sttable->attach (audio_buses, 1, 2, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ audio_buses.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_strip_types));
+ ++stn;
+
+ label = manage (new Gtk::Label(_("Midi Buses:")));
+ label->set_alignment(1, .5);
+ sttable->attach (*label, 0, 1, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ sttable->attach (midi_buses, 1, 2, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ midi_buses.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_strip_types));
+ ++stn;
+
+ label = manage (new Gtk::Label(_("Control Masters:")));
+ label->set_alignment(1, .5);
+ sttable->attach (*label, 0, 1, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ sttable->attach (control_masters, 1, 2, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ control_masters.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_strip_types));
+ ++stn;
+
+ label = manage (new Gtk::Label(_("Master (use /master instead):")));
+ label->set_alignment(1, .5);
+ sttable->attach (*label, 0, 1, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ sttable->attach (master_type, 1, 2, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ master_type.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_strip_types));
+ ++stn;
+
+ label = manage (new Gtk::Label(_("Monitor (use /monitor instead):")));
+ label->set_alignment(1, .5);
+ sttable->attach (*label, 0, 1, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ sttable->attach (monitor_type, 1, 2, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ monitor_type.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_strip_types));
+ ++stn;
+
+ label = manage (new Gtk::Label(_("Selected Tracks (use for selected tracks only):")));
+ label->set_alignment(1, .5);
+ sttable->attach (*label, 0, 1, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ sttable->attach (selected_tracks, 1, 2, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ selected_tracks.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_strip_types));
+ ++stn;
+
+ label = manage (new Gtk::Label(_("Hidden Tracks:")));
+ label->set_alignment(1, .5);
+ sttable->attach (*label, 0, 1, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ sttable->attach (hidden_tracks, 1, 2, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ hidden_tracks.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_strip_types));
+ ++stn;
+
+ stbutton = manage (new Gtk::Button(_("Use Value as Strip Types Default")));
+ sttable->attach (*stbutton, 0, 2, stn, stn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ stbutton->signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::push_strip_types));
+
+
+ sttable->show_all ();
+ append_page (*sttable, _("Calculate Strip Types"));
+
+
+ // Feedback Calculate Page
+ int fn = 0; // table row
+ Table* fbtable = manage (new Table);
+ fbtable->set_row_spacings (4);
+ fbtable->set_col_spacings (6);
+ fbtable->set_border_width (12);
+
+ // show our url
+ label = manage (new Gtk::Label(_("Select Desired Types of Feedback")));
+ fbtable->attach (*label, 0, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Feedback Value:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ calculate_feedback ();
+ current_feedback.set_width_chars(10);
+ fbtable->attach (current_feedback, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Strip Buttons:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbtable->attach (strip_buttons_button, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ strip_buttons_button.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_feedback));
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Strip Controls:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbtable->attach (strip_control_button, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ strip_control_button.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_feedback));
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Use SSID as Path Extension:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbtable->attach (ssid_as_path, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ ssid_as_path.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_feedback));
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Use Heart Beat:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbtable->attach (heart_beat, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ heart_beat.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_feedback));
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Master Section:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbtable->attach (master_fb, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ master_fb.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_feedback));
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Play Head Position as Bar and Beat:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbtable->attach (bar_and_beat, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ bar_and_beat.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_feedback));
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Play Head Position as SMPTE Time:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbtable->attach (smpte, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ smpte.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_feedback));
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Metering as a Float:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbtable->attach (meter_float, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ meter_float.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_feedback));
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Metering as a LED Strip:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbtable->attach (meter_led, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ meter_led.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_feedback));
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Signal Present:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbtable->attach (signal_present, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ signal_present.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_feedback));
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Play Head Position as Samples:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbtable->attach (hp_samples, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ hp_samples.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_feedback));
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Playhead Position as Minutes Seconds:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbtable->attach (hp_min_sec, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ hp_min_sec.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_feedback));
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Playhead Position as per GUI Clock:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbtable->attach (hp_gui, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ hp_gui.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_feedback));
+ hp_gui.set_sensitive (false); // we don't have this yet (Mixbus wants)
+ ++fn;
+
+ label = manage (new Gtk::Label(_("Extra Select Only Feedback:")));
+ label->set_alignment(1, .5);
+ fbtable->attach (*label, 0, 1, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbtable->attach (select_fb, 1, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0), 0, 0);
+ select_fb.signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::calculate_feedback));
+ ++fn;
+
+ fbbutton = manage (new Gtk::Button(_("Use Value as Feedback Default")));
+ fbtable->attach (*fbbutton, 0, 2, fn, fn+1, AttachOptions(FILL|EXPAND), AttachOptions(0));
+ fbbutton->signal_clicked().connect (sigc::mem_fun (*this, &OSC_GUI::push_feedback));
+
+
+ fbtable->show_all ();
+ append_page (*fbtable, _("Calculate Feedback"));
+