diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-09-17 21:09:13 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-09-17 21:09:13 -0400 |
commit | f51537b71d869904c5053853ff5456faae0a3b15 (patch) | |
tree | 11b164a07daa2d35ee80a23a4092659e56a262db /gtk2_ardour/engine_dialog.h | |
parent | 7eda429155d5eac0ea0737a87850263c526aeb5a (diff) |
substantive changes to allow the audio/MIDI setup dialog to change settings as intended
So far only tested with JACK backend, but expected to be more correct for other backends too
Diffstat (limited to 'gtk2_ardour/engine_dialog.h')
-rw-r--r-- | gtk2_ardour/engine_dialog.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/gtk2_ardour/engine_dialog.h b/gtk2_ardour/engine_dialog.h index a5c9f1d3f5..fcbdfe4cb8 100644 --- a/gtk2_ardour/engine_dialog.h +++ b/gtk2_ardour/engine_dialog.h @@ -118,8 +118,11 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList { void setup_midi_tab_for_backend (); void setup_midi_tab_for_jack (); void refresh_midi_display (); + + std::string rate_as_string (float); + std::string bufsize_as_string (uint32_t); - uint32_t get_rate() const; + float get_rate() const; uint32_t get_buffer_size() const; uint32_t get_input_channels() const; uint32_t get_output_channels() const; @@ -127,6 +130,7 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList { uint32_t get_output_latency() const; std::string get_device_name() const; std::string get_driver() const; + std::string get_backend() const; void device_changed (); void list_devices (); @@ -136,15 +140,21 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList { std::string backend; std::string driver; std::string device; - std::string sample_rate; - std::string buffer_size; + float sample_rate; + uint32_t buffer_size; uint32_t input_latency; uint32_t output_latency; uint32_t input_channels; uint32_t output_channels; bool active; - State() : active (false) {}; + State() + : input_latency (0) + , output_latency (0) + , input_channels (0) + , output_channels (0) + , active (false) {} + }; typedef std::list<State> StateList; @@ -157,6 +167,9 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList { State* get_saved_state_for_currently_displayed_backend_and_device (); void maybe_display_saved_state (); State* save_state (); + void store_state (State&); + + bool _have_control; static bool print_channel_count (Gtk::SpinButton*); @@ -167,6 +180,7 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList { void use_latency_button_clicked (); void manage_control_app_sensitivity (); int push_state_to_backend (bool start); + void post_push (); /* latency measurement */ void latency_button_toggled (); |