Update codec-quality display when ExportFormat changes
[ardour.git] / gtk2_ardour / rc_option_editor.cc
index e959932f253beca925df60653d8edc63e64c6ee6..c1a9b87527c549d058f984e88bfdf167822ef958 100644 (file)
@@ -1594,9 +1594,6 @@ class VideoTimelineOptions : public OptionEditorMiniPage
                        _video_server_docroot_entry.signal_activate().connect (sigc::mem_fun(*this, &VideoTimelineOptions::server_docroot_changed));
                        _custom_xjadeo_path.signal_changed().connect (sigc::mem_fun (*this, &VideoTimelineOptions::custom_xjadeo_path_changed));
                        _xjadeo_browse_button.signal_clicked ().connect (sigc::mem_fun (*this, &VideoTimelineOptions::xjadeo_browse_clicked));
-
-                       // xjadeo-path is a UIConfig parameter
-                       UIConfiguration::instance().ParameterChanged.connect (sigc::mem_fun (*this, &VideoTimelineOptions::parameter_changed));
                }
 
                void server_url_changed ()
@@ -1629,13 +1626,13 @@ class VideoTimelineOptions : public OptionEditorMiniPage
 
                void custom_xjadeo_path_changed ()
                {
-                       UIConfiguration::instance().set_xjadeo_binary (_custom_xjadeo_path.get_text());
+                       _rc_config->set_xjadeo_binary (_custom_xjadeo_path.get_text());
                }
 
                void xjadeo_browse_clicked ()
                {
                        Gtk::FileChooserDialog dialog(_("Set Video Monitor Executable"), Gtk::FILE_CHOOSER_ACTION_OPEN);
-                       dialog.set_filename (UIConfiguration::instance().get_xjadeo_binary());
+                       dialog.set_filename (_rc_config->get_xjadeo_binary());
                        dialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
                        dialog.add_button(Gtk::Stock::OK, Gtk::RESPONSE_OK);
                        if (dialog.run () == Gtk::RESPONSE_OK) {
@@ -1646,7 +1643,7 @@ class VideoTimelineOptions : public OptionEditorMiniPage
 #endif
                                                        Glib::file_test (filename, Glib::FILE_TEST_EXISTS|Glib::FILE_TEST_IS_EXECUTABLE)
                                                        )) {
-                                       UIConfiguration::instance().set_xjadeo_binary (filename);
+                                       _rc_config->set_xjadeo_binary (filename);
                                }
                        }
                }
@@ -1669,7 +1666,7 @@ class VideoTimelineOptions : public OptionEditorMiniPage
                                _video_server_docroot_entry.set_sensitive(x);
                                _video_server_url_entry.set_sensitive(x);
                        } else if (p == "xjadeo-binary") {
-                               _custom_xjadeo_path.set_text (UIConfiguration::instance().get_xjadeo_binary());
+                               _custom_xjadeo_path.set_text (_rc_config->get_xjadeo_binary());
                        }
                }
 
@@ -2280,7 +2277,7 @@ RCOptionEditor::RCOptionEditor ()
                     ));
 
 
-#ifdef ENABLE_NLS
+#if ENABLE_NLS
 
        add_option (_("General/Translation"), new OptionEditorHeading (_("Internationalization")));
 
@@ -3229,22 +3226,6 @@ RCOptionEditor::RCOptionEditor ()
 
        add_option (_("Sync"), _sync_framerate);
 
-       add_option (_("Sync/LTC"), new OptionEditorHeading (_("Linear Timecode (LTC) Reader")));
-
-       _ltc_port = new ComboStringOption (
-               "ltc-source-port",
-               _("LTC incoming port"),
-               sigc::mem_fun (*_rc_config, &RCConfiguration::get_ltc_source_port),
-               sigc::mem_fun (*_rc_config, &RCConfiguration::set_ltc_source_port)
-               );
-
-       vector<string> physical_inputs;
-       physical_inputs.push_back (_("None"));
-       AudioEngine::instance()->get_physical_inputs (DataType::AUDIO, physical_inputs);
-       _ltc_port->set_popdown_strings (physical_inputs);
-
-       add_option (_("Sync/LTC"), _ltc_port);
-
        add_option (_("Sync/LTC"), new OptionEditorHeading (_("Linear Timecode (LTC) Generator")));
 
        add_option (_("Sync/LTC"),
@@ -3332,7 +3313,7 @@ RCOptionEditor::RCOptionEditor ()
                     _("Inbound MMC device ID"),
                     sigc::mem_fun (*_rc_config, &RCConfiguration::get_mmc_receive_device_id),
                     sigc::mem_fun (*_rc_config, &RCConfiguration::set_mmc_receive_device_id),
-                    0, 128, 1, 10
+                    0, 127, 1, 10
                     ));
 
        add_option (_("Sync/MIDI"),
@@ -3341,7 +3322,7 @@ RCOptionEditor::RCOptionEditor ()
                     _("Outbound MMC device ID"),
                     sigc::mem_fun (*_rc_config, &RCConfiguration::get_mmc_send_device_id),
                     sigc::mem_fun (*_rc_config, &RCConfiguration::set_mmc_send_device_id),
-                    0, 128, 1, 10
+                    0, 127, 1, 10
                     ));
 
 
@@ -3408,6 +3389,23 @@ RCOptionEditor::RCOptionEditor ()
        Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget(),
                                            _("<b>When enabled</b> plugins will be activated when they are added to tracks/busses. When disabled plugins will be left inactive when they are added to tracks/busses"));
 
+       ComboOption<uint32_t>* lna = new ComboOption<uint32_t> (
+                    "limit-n-automatables",
+                    _("Limit automatable parameters per plugin"),
+                    sigc::mem_fun (*_rc_config, &RCConfiguration::get_limit_n_automatables),
+                    sigc::mem_fun (*_rc_config, &RCConfiguration::set_limit_n_automatables)
+                    );
+       lna->add (0, _("Unlimited"));
+       lna->add (64,  _("64 parameters"));
+       lna->add (128, _("128 parameters"));
+       lna->add (256, _("256 parameters"));
+       lna->add (512, _("512 parameters"));
+       lna->add (999, _("999 parameters"));
+       add_option (_("Plugins"), lna);
+       Gtkmm2ext::UI::instance()->set_tip (lna->tip_widget(),
+                                           _("Some Plugins expose an unreasonable amount of control-inputs. This option limits the number of parameters that can are listed as automatable without restricting the number of total controls.\n\nThis reduces lag in the GUI and shortens excessively long drop-down lists for plugins with a large number of control ports.\n\nNote: This only affects newly added plugins and is applied to plugin on session-reload. Already automated parameters are retained."));
+
+
 #if (defined WINDOWS_VST_SUPPORT || defined MACVST_SUPPORT || defined LXVST_SUPPORT)
        add_option (_("Plugins/VST"), new OptionEditorHeading (_("VST")));
 #if 0
@@ -3804,6 +3802,19 @@ RCOptionEditor::RCOptionEditor ()
                     sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_default_narrow_ms)
                     ));
 
+       ComboOption<uint32_t>* mic = new ComboOption<uint32_t> (
+                    "max-inline-controls",
+                    _("Limit inline-mixer-strip controls per plugin"),
+                    sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_max_inline_controls),
+                    sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_max_inline_controls)
+                    );
+       mic->add (0, _("Unlimited"));
+       mic->add (16,  _("16 parameters"));
+       mic->add (32,  _("32 parameters"));
+       mic->add (64,  _("64 parameters"));
+       mic->add (128, _("128 parameters"));
+       add_option (_("Appearance/Mixer"), mic);
+
        add_option (_("Appearance/Mixer"), new OptionEditorBlank ());
 
        add_option (_("Appearance/Toolbar"), new OptionEditorHeading (_("Main Transport Toolbar Items")));
@@ -3879,6 +3890,13 @@ RCOptionEditor::RCOptionEditor ()
                                sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_flat_buttons)
                                ));
 
+       add_option (_("Appearance/Theme"), new BoolOption (
+                               "boxy-buttons",
+                               _("Draw \"boxy\" buttons"),
+                               sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_boxy_buttons),
+                               sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_boxy_buttons)
+                               ));
+
        add_option (_("Appearance/Theme"), new BoolOption (
                                "meter-style-led",
                                _("LED meter style"),