-using namespace std;
-
-static vector<string> positional_sync_strings;
-
-OptionEditor::OptionEditor (ARDOUR_UI& uip, PublicEditor& ed, Mixer_UI& mixui)
- : ArdourDialog ("options editor", false),
- ui (uip),
- editor (ed),
- mixer (mixui),
-
- /* Paths */
- path_table (11, 2),
-
- /* misc */
-
- short_xfade_adjustment (0, 1.0, 500.0, 5.0, 100.0),
- short_xfade_slider (short_xfade_adjustment),
- destructo_xfade_adjustment (1.0, 1.0, 500.0, 1.0, 100.0),
- destructo_xfade_slider (destructo_xfade_adjustment),
- history_depth (20, -1, 100, 1.0, 10.0),
- saved_history_depth (20, 0, 100, 1.0, 10.0),
- history_depth_spinner (history_depth),
- saved_history_depth_spinner (saved_history_depth),
- limit_history_button (_("Limit undo history")),
- save_history_button (_("Save undo history")),
-
- /* Sync */
-
- smpte_offset_clock (X_("smpteoffset"), false, X_("SMPTEOffsetClock"), true, true),
- smpte_offset_negative_button (_("SMPTE offset is negative")),
- synced_timecode_button (_("Timecode source is sample-clock synced")),
-
- /* MIDI */
-
- midi_port_table (4, 12),
- mmc_receive_device_id_adjustment (0.0, 0.0, (double) 0x7f, 1.0, 16.0),
- mmc_receive_device_id_spinner (mmc_receive_device_id_adjustment),
- mmc_send_device_id_adjustment (0.0, 0.0, (double) 0x7f, 1.0, 16.0),
- mmc_send_device_id_spinner (mmc_send_device_id_adjustment),
- add_midi_port_button (_("Add new MIDI port")),
- initial_program_change_adjustment (0.0, -1.0, (double) 0x7f, 1.0, 16.0),
- initial_program_change_spinner (initial_program_change_adjustment),
-
- /* Click */
-
- click_table (2, 3),
- click_browse_button (_("Browse")),
- click_emphasis_browse_button (_("Browse")),
-
- /* kbd/mouse */
-
- keyboard_mouse_table (4, 4),
- delete_button_adjustment (3, 1, 5),
- delete_button_spin (delete_button_adjustment),
- edit_button_adjustment (3, 1, 5),
- edit_button_spin (edit_button_adjustment)
-
-{
- using namespace Notebook_Helpers;
-
- first_click_setup = true;
- click_io_selector = 0;
- auditioner_io_selector = 0;
- session = 0;
-
- WindowTitle title(Glib::get_application_name());
- title += _("Preferences");
- set_title(title.get_string());
-
- set_default_size (300, 300);
- set_wmclass (X_("ardour_preferences"), "Ardour");
-
- set_name ("Preferences");
- add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK);
-
- VBox *vbox = get_vbox();
- set_border_width (3);
-
- vbox->set_spacing (4);
- vbox->pack_start(notebook);
-
- signal_delete_event().connect (mem_fun(*this, &OptionEditor::wm_close));
-
- notebook.set_show_tabs (true);
- notebook.set_show_border (true);
- notebook.set_name ("OptionsNotebook");
-
- setup_sync_options();
- setup_path_options();
- setup_misc_options ();
- setup_keyboard_options ();
- setup_auditioner_editor ();
-
- if (!Profile->get_sae()) {
- notebook.pages().push_back (TabElem (sync_packer, _("Sync")));
- notebook.pages().push_back (TabElem (path_table, _("Paths/Files")));
- notebook.pages().push_back (TabElem (keyboard_mouse_table, _("Kbd/Mouse")));
- }
- notebook.pages().push_back (TabElem (click_packer, _("Click")));
- notebook.pages().push_back (TabElem (audition_packer, _("Audition")));
- notebook.pages().push_back (TabElem (misc_packer, _("Misc")));
-
- setup_midi_options ();
- notebook.pages().push_back (TabElem (midi_packer, _("MIDI")));
-
- set_session (0);
- show_all_children();
-
- Config->map_parameters (mem_fun (*this, &OptionEditor::parameter_changed));
- Config->ParameterChanged.connect (mem_fun (*this, &OptionEditor::parameter_changed));
-}
-
-void
-OptionEditor::set_session (Session *s)
-{
- clear_click_editor ();
- clear_auditioner_editor ();
-
- click_path_entry.set_text ("");
- click_emphasis_path_entry.set_text ("");
- session_raid_entry.set_text ("");
-
- click_path_entry.set_sensitive (false);
- click_emphasis_path_entry.set_sensitive (false);
- session_raid_entry.set_sensitive (false);
-
- short_xfade_slider.set_sensitive (false);
- smpte_offset_negative_button.set_sensitive (false);
-
- smpte_offset_clock.set_session (s);
-
- if ((session = s) == 0) {
- return;
- }
-
- click_path_entry.set_sensitive (true);
- click_emphasis_path_entry.set_sensitive (true);
- session_raid_entry.set_sensitive (true);
- short_xfade_slider.set_sensitive (true);
- smpte_offset_negative_button.set_sensitive (true);
-
- smpte_offset_clock.set_session (s);
- smpte_offset_clock.set (s->smpte_offset (), true);
-
- smpte_offset_negative_button.set_active (session->smpte_offset_negative());
-
- redisplay_midi_ports ();
-
- setup_click_editor ();
- connect_audition_editor ();
-
- short_xfade_adjustment.set_value ((Crossfade::short_xfade_length() / (float) session->frame_rate()) * 1000.0);
-
- add_session_paths ();
-}
-
-OptionEditor::~OptionEditor ()
-{
-}