more waveform drawing/coloring changes
[ardour.git] / gtk2_ardour / generic_pluginui.cc
index af294e89c27392819e5489b2aa88b79208e340d5..52bb468a676a59054af654a1a03489113d25debe 100644 (file)
@@ -101,6 +101,9 @@ GenericPluginUI::GenericPluginUI (boost::shared_ptr<PluginInsert> pi, bool scrol
        VBox* v1_box = manage (new VBox);
        VBox* v2_box = manage (new VBox);
        pack_end (plugin_analysis_expander, false, false);
+       if (!plugin->get_docs().empty()) {
+               pack_end (description_expander, false, false);
+       }
 
        v1_box->pack_start (*smaller_hbox, false, true);
        v2_box->pack_start (focus_button, false, true);
@@ -253,6 +256,10 @@ GenericPluginUI::build ()
                                continue;
                        }
 
+                       if (plugin->describe_parameter (Evoral::Parameter(PluginAutomation, 0, i)) == X_("hidden")) {
+                               continue;
+                       }
+
                        ControlUI* cui;
 
                        boost::shared_ptr<ARDOUR::AutomationControl> c
@@ -264,6 +271,11 @@ GenericPluginUI::build ()
                                continue;
                        }
 
+                       const std::string param_docs = plugin->get_parameter_docs(i);
+                       if (!param_docs.empty()) {
+                               ARDOUR_UI::instance()->set_tip(cui, param_docs.c_str());
+                       }
+
                        if (cui->controller || cui->clickbox || cui->combo) {
                                // Get all of the controls into a list, so that
                                // we can lay them out a bit more nicely later.
@@ -518,7 +530,7 @@ GenericPluginUI::build_control_ui (guint32 port_index, boost::shared_ptr<Automat
                */
                int const steps = desc.integer_step ? (desc.upper - desc.lower + 1) / desc.step : 0;
 
-               if (control_ui->scale_points && ((steps && control_ui->scale_points->size() == steps) || desc.enumeration)) {
+               if (control_ui->scale_points && ((steps && int (control_ui->scale_points->size()) == steps) || desc.enumeration)) {
                        
                        /* Either:
                         *   a) There is a label for each possible value of this input, or