GenericUI: disable super rapid timer for input controls
authorJulien "_FrnchFrgg_" RIVAUD <frnchfrgg@free.fr>
Thu, 28 Jul 2016 22:10:19 +0000 (00:10 +0200)
committerJulien "_FrnchFrgg_" RIVAUD <frnchfrgg@free.fr>
Thu, 28 Jul 2016 22:14:20 +0000 (00:14 +0200)
The super rapid timer was disconnected by GenericPluginUI::stop_updating
but never connected again, so the generic UI worked often without
getting periodic update triggers anyway.

Try to disable the mechanism altogether, and see if there are updating
glitches.

gtk2_ardour/generic_pluginui.cc

index 1f7b94129ed0e682446b367d0f22daaa9496d83f..e261645df42ea4b3708b1d1a9396a6b8c2a56c6e 100644 (file)
@@ -747,6 +747,9 @@ GenericPluginUI::build_control_ui (const Evoral::Parameter&             param,
                         */
                        control_ui->controller = AutomationController::create(insert, mcontrol->parameter(), desc, mcontrol, use_knob);
 
+                       /* Control UI's don't need the rapid timer workaround */
+                       control_ui->controller->stop_updating ();
+
                        /* XXX this code is not right yet, because it doesn't handle
                           the absence of bounds in any sensible fashion.
                        */
@@ -1037,14 +1040,9 @@ GenericPluginUI::start_updating (GdkEventAny*)
 bool
 GenericPluginUI::stop_updating (GdkEventAny*)
 {
-       for (vector<ControlUI*>::iterator i = input_controls.begin(); i != input_controls.end(); ++i) {
-               (*i)->controller->stop_updating ();
-       }
-
        if (output_controls.size() > 0 ) {
                screen_update_connection.disconnect();
        }
-
        return false;
 }