Update automated Plugin Controlls when seeking and not rolling
[ardour.git] / gtk2_ardour / engine_dialog.h
index d5c54d088e121dbbbdd6ae4665d4169bc1ef1dbf..8f47f2b5a35d3668cc7c5f4adf0f7754999e13bf 100644 (file)
@@ -49,6 +49,7 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
     bool set_state (const XMLNode&);
 
     void set_desired_sample_rate (uint32_t);
+    bool try_autostart ();
 
   private:
     Gtk::Notebook notebook;
@@ -87,6 +88,7 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
     ArdourButton    midi_devices_button;
     ArdourButton    start_stop_button;
     ArdourButton    update_devices_button;
+    ArdourButton    use_buffered_io_button;
 
     Gtk::Button     connect_disconnect_button;
 
@@ -120,7 +122,8 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
 
     Gtk::CheckButton aj_button;
 
-    uint32_t ignore_changes;
+    uint32_t ignore_changes; // state save/load
+    uint32_t ignore_device_changes; // AudioEngine::DeviceListChanged
     uint32_t _desired_sample_rate;
     bool     started_at_least_once;
     bool     queue_device_changed;
@@ -161,6 +164,7 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
     std::string get_driver() const;
     std::string get_backend() const;
     std::string get_midi_option () const;
+    bool get_use_buffered_io () const;
 
        std::string get_default_device (const std::string&,
                                        const std::vector<std::string>&);
@@ -221,6 +225,7 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
        uint32_t input_channels;
        uint32_t output_channels;
        bool active;
+       bool use_buffered_io;
        std::string midi_option;
        std::vector<MidiDeviceSettings> midi_devices;
        time_t lru;
@@ -233,6 +238,7 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
                , input_channels (0)
                , output_channels (0)
                , active (false)
+               , use_buffered_io (false)
                , lru (0) {}
 
     };
@@ -305,6 +311,7 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
     void control_app_button_clicked ();
     void start_stop_button_clicked ();
     void update_devices_button_clicked ();
+    void use_buffered_io_button_clicked ();
     void use_latency_button_clicked ();
     void manage_control_app_sensitivity ();
     int push_state_to_backend (bool start);