remove obsolete jack includes in libardour
[ardour.git] / gtk2_ardour / rc_option_editor.cc
index 9efe9a9440d182af6a616fefff14418722528b80..a4d2b5dee2325c9052eb3ec604eb816c0c5569fd 100644 (file)
@@ -583,7 +583,7 @@ class ClipLevelOptions : public OptionEditorBox
 public:
        ClipLevelOptions (RCConfiguration* c) 
                : _rc_config (c)
-               , _clip_level_adjustment (0, -128.0, 2.0, 0.1, 1.0) /* units of dB */
+               , _clip_level_adjustment (-.5, -50.0, 0.0, 0.1, 1.0) /* units of dB */
                , _clip_level_slider (_clip_level_adjustment)
        {
                _clip_level_adjustment.set_value (_rc_config->get_waveform_clip_level ());
@@ -795,17 +795,7 @@ private:
                        if (!was_enabled) {
                                ControlProtocolManager::instance().activate (*cpi);
                        } else {
-                               Gtk::Window* win = r[_model.editor];
-                               if (win) {
-                                       win->hide ();
-                               }
-
                                ControlProtocolManager::instance().deactivate (*cpi);
-                                       
-                               if (win) {
-                                       delete win;
-                                       r[_model.editor] = 0;
-                               }
                        }
                }
 
@@ -817,8 +807,8 @@ private:
                }
        }
 
-        void edit_clicked (GdkEventButton* ev)
-        {
+       void edit_clicked (GdkEventButton* ev)
+       {
                if (ev->type != GDK_2BUTTON_PRESS) {
                        return;
                }
@@ -828,26 +818,32 @@ private:
                TreeModel::Row row;
 
                row = *(_view.get_selection()->get_selected());
-
-               Window* win = row[_model.editor];
-               if (win && !win->is_visible()) {
-                       win->present ();
-               } else {
-                       cpi = row[_model.protocol_info];
-
-                       if (cpi && cpi->protocol && cpi->protocol->has_editor ()) {
-                               Box* box = (Box*) cpi->protocol->get_gui ();
-                               if (box) {
-                                       string title = row[_model.name];
-                                       ArdourWindow* win = new ArdourWindow (_parent, title);
-                                       win->set_title ("Control Protocol Options");
-                                       win->add (*box);
-                                       box->show ();
-                                       win->present ();
-                                       row[_model.editor] = win;
-                               }
-                       }
+               if (!row[_model.enabled]) {
+                       return;
                }
+               cpi = row[_model.protocol_info];
+               if (!cpi || !cpi->protocol || !cpi->protocol->has_editor ()) {
+                       return;
+               }
+               Box* box = (Box*) cpi->protocol->get_gui ();
+               if (!box) {
+                       return;
+               }
+               if (box->get_parent()) {
+                       static_cast<ArdourWindow*>(box->get_parent())->present();
+                       return;
+               }
+               string title = row[_model.name];
+               /* once created, the window is managed by the surface itself (as ->get_parent())
+                * Surface's tear_down_gui() is called on session close, when de-activating
+                * or re-initializing a surface.
+                * tear_down_gui() hides an deletes the Window if it exists.
+                */
+               ArdourWindow* win = new ArdourWindow (_parent, title);
+               win->set_title ("Control Protocol Options");
+               win->add (*box);
+               box->show ();
+               win->present ();
        }
 
         class ControlSurfacesModelColumns : public TreeModelColumnRecord
@@ -860,14 +856,12 @@ private:
                        add (enabled);
                        add (feedback);
                        add (protocol_info);
-                       add (editor);
                }
 
                TreeModelColumn<string> name;
                TreeModelColumn<bool> enabled;
                TreeModelColumn<bool> feedback;
                TreeModelColumn<ControlProtocolInfo*> protocol_info;
-               TreeModelColumn<Gtk::Window*> editor;
        };
 
        Glib::RefPtr<ListStore> _store;
@@ -1230,7 +1224,7 @@ private:
 RCOptionEditor::RCOptionEditor ()
        : OptionEditor (Config, string_compose (_("%1 Preferences"), PROGRAM_NAME))
         , _rc_config (Config)
-       , _mixer_strip_visibility ("mixer-strip-visibility")
+       , _mixer_strip_visibility ("mixer-element-visibility")
 {
        /* MISC */
 
@@ -2172,7 +2166,7 @@ RCOptionEditor::RCOptionEditor ()
        add_option (S_("GUI"),
                    new BoolOption (
                            "super-rapid-clock-update",
-                           _("update transport clock display every 40ms instead of every 100ms"),
+                           _("update transport clock display at FPS instead of every 100ms"),
                            sigc::mem_fun (*_rc_config, &RCConfiguration::get_super_rapid_clock_update),
                            sigc::mem_fun (*_rc_config, &RCConfiguration::set_super_rapid_clock_update)
                            ));
@@ -2195,12 +2189,12 @@ RCOptionEditor::RCOptionEditor ()
        /* The names of these controls must be the same as those given in MixerStrip
           for the actual widgets being controlled.
        */
+       _mixer_strip_visibility.add (0, X_("Input"), _("Input"));
        _mixer_strip_visibility.add (0, X_("PhaseInvert"), _("Phase Invert"));
-       _mixer_strip_visibility.add (0, X_("SoloSafe"), _("Solo Safe"));
-       _mixer_strip_visibility.add (0, X_("SoloIsolated"), _("Solo Isolated"));
+       _mixer_strip_visibility.add (0, X_("RecMon"), _("Record & Monitor"));
+       _mixer_strip_visibility.add (0, X_("SoloIsoLock"), _("Solo Iso / Lock"));
+       _mixer_strip_visibility.add (0, X_("Output"), _("Output"));
        _mixer_strip_visibility.add (0, X_("Comments"), _("Comments"));
-       _mixer_strip_visibility.add (0, X_("Group"), _("Group"));
-       _mixer_strip_visibility.add (0, X_("MeterPoint"), _("Meter Point"));
        
        add_option (
                S_("Preferences|GUI"),
@@ -2220,7 +2214,7 @@ RCOptionEditor::RCOptionEditor ()
                     sigc::mem_fun (*_rc_config, &RCConfiguration::set_default_narrow_ms)
                     ));
 
-       add_option (S_("Preferences|GUI"), new OptionEditorHeading (_("Metering")));
+       add_option (S_("Preferences|Metering"), new OptionEditorHeading (_("Metering")));
 
        ComboOption<float>* mht = new ComboOption<float> (
                "meter-hold",
@@ -2234,7 +2228,7 @@ RCOptionEditor::RCOptionEditor ()
        mht->add (MeterHoldMedium, _("medium"));
        mht->add (MeterHoldLong, _("long"));
 
-       add_option (S_("Preferences|GUI"), mht);
+       add_option (S_("Preferences|Metering"), mht);
 
        ComboOption<float>* mfo = new ComboOption<float> (
                "meter-falloff",
@@ -2253,7 +2247,7 @@ RCOptionEditor::RCOptionEditor ()
        mfo->add (METER_FALLOFF_FASTER,   _("faster [46dB/sec]"));
        mfo->add (METER_FALLOFF_FASTEST,  _("fastest [70dB/sec]"));
 
-       add_option (S_("Preferences|GUI"), mfo);
+       add_option (S_("Preferences|Metering"), mfo);
 
        ComboOption<MeterLineUp>* mlu = new ComboOption<MeterLineUp> (
                "meter-line-up-level",
@@ -2269,7 +2263,7 @@ RCOptionEditor::RCOptionEditor ()
 
        Gtkmm2ext::UI::instance()->set_tip (mlu->tip_widget(), _("Configure meter-marks and color-knee point for dBFS scale DPM, set reference level for IEC1/Nordic, IEC2 PPM and VU meter."));
 
-       add_option (S_("Preferences|GUI"), mlu);
+       add_option (S_("Preferences|Metering"), mlu);
 
        ComboOption<MeterLineUp>* mld = new ComboOption<MeterLineUp> (
                "meter-line-up-din",
@@ -2285,7 +2279,7 @@ RCOptionEditor::RCOptionEditor ()
 
        Gtkmm2ext::UI::instance()->set_tip (mld->tip_widget(), _("Reference level for IEC1/DIN meter."));
 
-       add_option (S_("Preferences|GUI"), mld);
+       add_option (S_("Preferences|Metering"), mld);
 
        ComboOption<VUMeterStandard>* mvu = new ComboOption<VUMeterStandard> (
                "meter-vu-standard",
@@ -2299,7 +2293,7 @@ RCOptionEditor::RCOptionEditor ()
        mvu->add (MeteringVUstandard, _("0VU = +4dBu (standard)"));
        mvu->add (MeteringVUeight,    _("0VU = +8dBu"));
 
-       add_option (S_("Preferences|GUI"), mvu);
+       add_option (S_("Preferences|Metering"), mvu);
 
        Gtk::Adjustment *mpk = manage (new Gtk::Adjustment(0, -10, 0, .1, .1));
        HSliderOption *mpks = new HSliderOption("meter-peak",
@@ -2313,9 +2307,9 @@ RCOptionEditor::RCOptionEditor ()
                (mpks->tip_widget(),
                 _("Specify the audio signal level in dbFS at and above which the meter-peak indicator will flash red."));
 
-       add_option (S_("Preferences|GUI"), mpks);
+       add_option (S_("Preferences|Metering"), mpks);
 
-       add_option (S_("Preferences|GUI"),
+       add_option (S_("Preferences|Metering"),
             new BoolOption (
                     "meter-style-led",
                     _("LED meter style"),