ardour
Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
EngineControl Class Reference

#include <engine_dialog.h>

Inheritance diagram for EngineControl:
ArdourDialog PBD::ScopedConnectionList ARDOUR::SessionHandlePtr

Classes

struct  MidiDeviceSetting
 
struct  StateStruct
 

Public Member Functions

 EngineControl ()
 
 ~EngineControl ()
 
XMLNodeget_state ()
 
void set_state (const XMLNode &)
 
void set_desired_sample_rate (uint32_t)
 
- Public Member Functions inherited from ArdourDialog
 ArdourDialog (std::string title, bool modal=false, bool use_separator=false)
 
 ArdourDialog (Gtk::Window &parent, std::string title, bool modal=false, bool use_separator=false)
 
 ~ArdourDialog ()
 
bool on_focus_in_event (GdkEventFocus *)
 
bool on_focus_out_event (GdkEventFocus *)
 
bool on_delete_event (GdkEventAny *)
 
void on_unmap ()
 
void on_show ()
 
- Public Member Functions inherited from ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 
virtual void set_session (ARDOUR::Session *)
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 

Static Public Member Functions

static bool need_setup ()
 

Private Types

typedef boost::shared_ptr
< MidiDeviceSetting
MidiDeviceSettings
 
typedef boost::shared_ptr
< StateStruct
State
 
typedef std::list< StateStateList
 

Private Member Functions

void driver_changed ()
 
void backend_changed ()
 
void sample_rate_changed ()
 
void buffer_size_changed ()
 
void parameter_changed ()
 
void midi_option_changed ()
 
void setup_midi_tab_for_backend ()
 
void setup_midi_tab_for_jack ()
 
void refresh_midi_display (std::string focus="")
 
std::string bufsize_as_string (uint32_t)
 
float get_rate () const
 
uint32_t get_buffer_size () const
 
uint32_t get_input_channels () const
 
uint32_t get_output_channels () const
 
uint32_t get_input_latency () const
 
uint32_t get_output_latency () const
 
std::string get_device_name () const
 
std::string get_driver () const
 
std::string get_backend () const
 
std::string get_midi_option () const
 
void device_changed ()
 
void list_devices ()
 
void show_buffer_duration ()
 
void configure_midi_devices ()
 
MidiDeviceSettings find_midi_device (std::string devicename) const
 
State get_matching_state (const std::string &backend, const std::string &driver, const std::string &device)
 
State get_saved_state_for_currently_displayed_backend_and_device ()
 
void maybe_display_saved_state ()
 
State save_state ()
 
void store_state (State)
 
void build_notebook ()
 
void build_full_control_notebook ()
 
void build_no_control_notebook ()
 
void on_show ()
 
void on_response (int)
 
void control_app_button_clicked ()
 
void use_latency_button_clicked ()
 
void manage_control_app_sensitivity ()
 
int push_state_to_backend (bool start)
 
void post_push ()
 
void update_sensitivity ()
 
void latency_button_clicked ()
 
bool check_audio_latency_measurement ()
 
bool check_midi_latency_measurement ()
 
void enable_latency_tab ()
 
void disable_latency_tab ()
 
void start_latency_detection ()
 
void end_latency_detection ()
 
void on_switch_page (GtkNotebookPage *, guint page_num)
 
bool on_delete_event (GdkEventAny *)
 
void engine_running ()
 
void engine_stopped ()
 
void device_list_changed ()
 
void connect_disconnect_click ()
 
void calibrate_audio_latency ()
 
void calibrate_midi_latency (MidiDeviceSettings)
 
void midi_latency_adjustment_changed (Gtk::Adjustment *, MidiDeviceSettings, bool)
 
void midi_device_enabled_toggled (ArdourButton *, MidiDeviceSettings)
 

Static Private Member Functions

static bool print_channel_count (Gtk::SpinButton *)
 

Private Attributes

Gtk::Notebook notebook
 
Gtk::Label engine_status
 
Gtk::Table basic_packer
 
Gtk::HBox basic_hbox
 
Gtk::VBox basic_vbox
 
Gtk::ComboBoxText backend_combo
 
Gtk::ComboBoxText driver_combo
 
Gtk::ComboBoxText device_combo
 
Gtk::ComboBoxText sample_rate_combo
 
Gtk::ComboBoxText midi_option_combo
 
Gtk::ComboBoxText buffer_size_combo
 
Gtk::Label buffer_size_duration_label
 
Gtk::Adjustment input_latency_adjustment
 
Gtk::SpinButton input_latency
 
Gtk::Adjustment output_latency_adjustment
 
Gtk::SpinButton output_latency
 
Gtk::Adjustment input_channels_adjustment
 
Gtk::SpinButton input_channels
 
Gtk::Adjustment output_channels_adjustment
 
Gtk::SpinButton output_channels
 
Gtk::Adjustment ports_adjustment
 
Gtk::SpinButton ports_spinner
 
Gtk::Label have_control_text
 
Gtk::Button control_app_button
 
ArdourButton midi_devices_button
 
Gtk::Button connect_disconnect_button
 
Gtk::ComboBoxText lm_output_channel_combo
 
Gtk::ComboBoxText lm_input_channel_combo
 
Gtk::Label lm_measure_label
 
Gtk::Button lm_measure_button
 
Gtk::Button lm_use_button
 
Gtk::Button lm_back_button
 
ArdourButton lm_button_audio
 
Gtk::Label lm_title
 
Gtk::Label lm_preamble
 
Gtk::Label lm_results
 
Gtk::Table lm_table
 
Gtk::VBox lm_vbox
 
bool have_lm_results
 
bool lm_running
 
Gtk::Button * cancel_button
 
Gtk::Button * ok_button
 
Gtk::Button * apply_button
 
Gtk::VBox midi_vbox
 
Gtk::Button midi_back_button
 
Gtk::Table midi_device_table
 
Gtk::CheckButton aj_button
 
uint32_t ignore_changes
 
uint32_t _desired_sample_rate
 
bool started_at_least_once
 
bool queue_device_changed
 
bool _can_set_midi_latencies
 
std::vector< MidiDeviceSettings_midi_devices
 
StateList states
 
bool _have_control
 
sigc::connection latency_timeout
 
PBD::ScopedConnection running_connection
 
PBD::ScopedConnectionList stopped_connection
 
PBD::ScopedConnection devicelist_connection
 
MidiDeviceSettings _measure_midi
 
sigc::connection lm_back_button_signal
 

Additional Inherited Members

- Protected Member Functions inherited from ARDOUR::SessionHandlePtr
virtual void session_going_away ()
 
- Protected Attributes inherited from ARDOUR::SessionHandlePtr
ARDOUR::Session_session
 
PBD::ScopedConnectionList _session_connections
 

Detailed Description

Definition at line 41 of file engine_dialog.h.

Member Typedef Documentation

Definition at line 168 of file engine_dialog.h.

Definition at line 206 of file engine_dialog.h.

typedef std::list<State> EngineControl::StateList
private

Definition at line 207 of file engine_dialog.h.

Constructor & Destructor Documentation

EngineControl::EngineControl ( )

Definition at line 70 of file engine_dialog.cc.

EngineControl::~EngineControl ( )

Definition at line 562 of file engine_dialog.cc.

Member Function Documentation

void EngineControl::backend_changed ( )
private

Definition at line 739 of file engine_dialog.cc.

void EngineControl::buffer_size_changed ( )
private

Definition at line 1079 of file engine_dialog.cc.

string EngineControl::bufsize_as_string ( uint32_t  sz)
private

Definition at line 1057 of file engine_dialog.cc.

void EngineControl::build_full_control_notebook ( )
private

Definition at line 419 of file engine_dialog.cc.

void EngineControl::build_no_control_notebook ( )
private

Definition at line 525 of file engine_dialog.cc.

void EngineControl::build_notebook ( )
private

Definition at line 382 of file engine_dialog.cc.

void EngineControl::calibrate_audio_latency ( )
private

Definition at line 2236 of file engine_dialog.cc.

void EngineControl::calibrate_midi_latency ( MidiDeviceSettings  s)
private

Definition at line 2246 of file engine_dialog.cc.

bool EngineControl::check_audio_latency_measurement ( )
private

Definition at line 1974 of file engine_dialog.cc.

bool EngineControl::check_midi_latency_measurement ( )
private

Definition at line 2033 of file engine_dialog.cc.

void EngineControl::configure_midi_devices ( )
private

Definition at line 2256 of file engine_dialog.cc.

void EngineControl::connect_disconnect_click ( )
private

Definition at line 2226 of file engine_dialog.cc.

void EngineControl::control_app_button_clicked ( )
private

Definition at line 1867 of file engine_dialog.cc.

void EngineControl::device_changed ( )
private

Definition at line 936 of file engine_dialog.cc.

void EngineControl::device_list_changed ( )
private

Definition at line 2218 of file engine_dialog.cc.

void EngineControl::disable_latency_tab ( )
private

Definition at line 568 of file engine_dialog.cc.

void EngineControl::driver_changed ( )
private

Definition at line 922 of file engine_dialog.cc.

void EngineControl::enable_latency_tab ( )
private

Definition at line 578 of file engine_dialog.cc.

void EngineControl::end_latency_detection ( )
private

Definition at line 2117 of file engine_dialog.cc.

void EngineControl::engine_running ( )
private

Definition at line 2184 of file engine_dialog.cc.

void EngineControl::engine_stopped ( )
private

Definition at line 2203 of file engine_dialog.cc.

MidiDeviceSettings EngineControl::find_midi_device ( std::string  devicename) const
inlineprivate

Definition at line 172 of file engine_dialog.h.

string EngineControl::get_backend ( ) const
private

Definition at line 1845 of file engine_dialog.cc.

uint32_t EngineControl::get_buffer_size ( ) const
private

Definition at line 1790 of file engine_dialog.cc.

string EngineControl::get_device_name ( ) const
private

Definition at line 1861 of file engine_dialog.cc.

string EngineControl::get_driver ( ) const
private

Definition at line 1851 of file engine_dialog.cc.

uint32_t EngineControl::get_input_channels ( ) const
private

Definition at line 1811 of file engine_dialog.cc.

uint32_t EngineControl::get_input_latency ( ) const
private

Definition at line 1833 of file engine_dialog.cc.

EngineControl::State EngineControl::get_matching_state ( const std::string &  backend,
const std::string &  driver,
const std::string &  device 
)
private

Definition at line 1163 of file engine_dialog.cc.

string EngineControl::get_midi_option ( ) const
private

Definition at line 1805 of file engine_dialog.cc.

uint32_t EngineControl::get_output_channels ( ) const
private

Definition at line 1822 of file engine_dialog.cc.

uint32_t EngineControl::get_output_latency ( ) const
private

Definition at line 1839 of file engine_dialog.cc.

float EngineControl::get_rate ( ) const
private

Definition at line 1776 of file engine_dialog.cc.

EngineControl::State EngineControl::get_saved_state_for_currently_displayed_backend_and_device ( )
private

Definition at line 1179 of file engine_dialog.cc.

XMLNode & EngineControl::get_state ( void  )

Definition at line 1274 of file engine_dialog.cc.

void EngineControl::latency_button_clicked ( )
private

Definition at line 2131 of file engine_dialog.cc.

void EngineControl::list_devices ( )
private

Definition at line 834 of file engine_dialog.cc.

void EngineControl::manage_control_app_sensitivity ( )
private

Definition at line 1879 of file engine_dialog.cc.

void EngineControl::maybe_display_saved_state ( )
private

Definition at line 1244 of file engine_dialog.cc.

void EngineControl::midi_device_enabled_toggled ( ArdourButton b,
MidiDeviceSettings  device 
)
private

Definition at line 654 of file engine_dialog.cc.

void EngineControl::midi_latency_adjustment_changed ( Gtk::Adjustment *  a,
MidiDeviceSettings  device,
bool  for_input 
)
private

Definition at line 645 of file engine_dialog.cc.

void EngineControl::midi_option_changed ( )
private

Definition at line 1119 of file engine_dialog.cc.

static bool EngineControl::need_setup ( )
static
bool EngineControl::on_delete_event ( GdkEventAny *  ev)
private

Definition at line 2174 of file engine_dialog.cc.

void EngineControl::on_response ( int  response_id)
private

Definition at line 337 of file engine_dialog.cc.

void EngineControl::on_show ( )
private

Definition at line 325 of file engine_dialog.cc.

void EngineControl::on_switch_page ( GtkNotebookPage *  ,
guint  page_num 
)
private

Definition at line 1904 of file engine_dialog.cc.

void EngineControl::parameter_changed ( )
private

Definition at line 1158 of file engine_dialog.cc.

void EngineControl::post_push ( )
private

Definition at line 1739 of file engine_dialog.cc.

bool EngineControl::print_channel_count ( Gtk::SpinButton *  sb)
staticprivate

Definition at line 816 of file engine_dialog.cc.

int EngineControl::push_state_to_backend ( bool  start)
private

Definition at line 1486 of file engine_dialog.cc.

void EngineControl::refresh_midi_display ( std::string  focus = "")
private

Definition at line 661 of file engine_dialog.cc.

void EngineControl::sample_rate_changed ( )
private

Definition at line 1068 of file engine_dialog.cc.

EngineControl::State EngineControl::save_state ( )
private

Definition at line 1196 of file engine_dialog.cc.

void EngineControl::set_desired_sample_rate ( uint32_t  sr)

Definition at line 1897 of file engine_dialog.cc.

void EngineControl::set_state ( const XMLNode root)

Definition at line 1319 of file engine_dialog.cc.

void EngineControl::setup_midi_tab_for_backend ( )
private

Definition at line 621 of file engine_dialog.cc.

void EngineControl::setup_midi_tab_for_jack ( )
private

Definition at line 640 of file engine_dialog.cc.

void EngineControl::show_buffer_duration ( )
private

Definition at line 1085 of file engine_dialog.cc.

void EngineControl::start_latency_detection ( )
private

Definition at line 2095 of file engine_dialog.cc.

void EngineControl::store_state ( State  state)
private

Definition at line 1228 of file engine_dialog.cc.

void EngineControl::update_sensitivity ( )
private

Definition at line 734 of file engine_dialog.cc.

void EngineControl::use_latency_button_clicked ( )
private

Definition at line 2141 of file engine_dialog.cc.

Member Data Documentation

bool EngineControl::_can_set_midi_latencies
private

Definition at line 169 of file engine_dialog.h.

uint32_t EngineControl::_desired_sample_rate
private

Definition at line 120 of file engine_dialog.h.

bool EngineControl::_have_control
private

Definition at line 219 of file engine_dialog.h.

MidiDeviceSettings EngineControl::_measure_midi
private

Definition at line 261 of file engine_dialog.h.

std::vector<MidiDeviceSettings> EngineControl::_midi_devices
private

Definition at line 170 of file engine_dialog.h.

Gtk::CheckButton EngineControl::aj_button
private

Definition at line 117 of file engine_dialog.h.

Gtk::Button* EngineControl::apply_button
private

Definition at line 107 of file engine_dialog.h.

Gtk::ComboBoxText EngineControl::backend_combo
private

Definition at line 64 of file engine_dialog.h.

Gtk::HBox EngineControl::basic_hbox
private

Definition at line 61 of file engine_dialog.h.

Gtk::Table EngineControl::basic_packer
private

Definition at line 60 of file engine_dialog.h.

Gtk::VBox EngineControl::basic_vbox
private

Definition at line 62 of file engine_dialog.h.

Gtk::ComboBoxText EngineControl::buffer_size_combo
private

Definition at line 69 of file engine_dialog.h.

Gtk::Label EngineControl::buffer_size_duration_label
private

Definition at line 70 of file engine_dialog.h.

Gtk::Button* EngineControl::cancel_button
private

Definition at line 105 of file engine_dialog.h.

Gtk::Button EngineControl::connect_disconnect_button
private

Definition at line 86 of file engine_dialog.h.

Gtk::Button EngineControl::control_app_button
private

Definition at line 83 of file engine_dialog.h.

Gtk::ComboBoxText EngineControl::device_combo
private

Definition at line 66 of file engine_dialog.h.

PBD::ScopedConnection EngineControl::devicelist_connection
private

Definition at line 255 of file engine_dialog.h.

Gtk::ComboBoxText EngineControl::driver_combo
private

Definition at line 65 of file engine_dialog.h.

Gtk::Label EngineControl::engine_status
private

Definition at line 56 of file engine_dialog.h.

Gtk::Label EngineControl::have_control_text
private

Definition at line 82 of file engine_dialog.h.

bool EngineControl::have_lm_results
private

Definition at line 102 of file engine_dialog.h.

uint32_t EngineControl::ignore_changes
private

Definition at line 119 of file engine_dialog.h.

Gtk::SpinButton EngineControl::input_channels
private

Definition at line 76 of file engine_dialog.h.

Gtk::Adjustment EngineControl::input_channels_adjustment
private

Definition at line 75 of file engine_dialog.h.

Gtk::SpinButton EngineControl::input_latency
private

Definition at line 72 of file engine_dialog.h.

Gtk::Adjustment EngineControl::input_latency_adjustment
private

Definition at line 71 of file engine_dialog.h.

sigc::connection EngineControl::latency_timeout
private

Definition at line 240 of file engine_dialog.h.

Gtk::Button EngineControl::lm_back_button
private

Definition at line 95 of file engine_dialog.h.

sigc::connection EngineControl::lm_back_button_signal
private

Definition at line 264 of file engine_dialog.h.

ArdourButton EngineControl::lm_button_audio
private

Definition at line 96 of file engine_dialog.h.

Gtk::ComboBoxText EngineControl::lm_input_channel_combo
private

Definition at line 91 of file engine_dialog.h.

Gtk::Button EngineControl::lm_measure_button
private

Definition at line 93 of file engine_dialog.h.

Gtk::Label EngineControl::lm_measure_label
private

Definition at line 92 of file engine_dialog.h.

Gtk::ComboBoxText EngineControl::lm_output_channel_combo
private

Definition at line 90 of file engine_dialog.h.

Gtk::Label EngineControl::lm_preamble
private

Definition at line 98 of file engine_dialog.h.

Gtk::Label EngineControl::lm_results
private

Definition at line 99 of file engine_dialog.h.

bool EngineControl::lm_running
private

Definition at line 103 of file engine_dialog.h.

Gtk::Table EngineControl::lm_table
private

Definition at line 100 of file engine_dialog.h.

Gtk::Label EngineControl::lm_title
private

Definition at line 97 of file engine_dialog.h.

Gtk::Button EngineControl::lm_use_button
private

Definition at line 94 of file engine_dialog.h.

Gtk::VBox EngineControl::lm_vbox
private

Definition at line 101 of file engine_dialog.h.

Gtk::Button EngineControl::midi_back_button
private

Definition at line 112 of file engine_dialog.h.

Gtk::Table EngineControl::midi_device_table
private

Definition at line 113 of file engine_dialog.h.

ArdourButton EngineControl::midi_devices_button
private

Definition at line 84 of file engine_dialog.h.

Gtk::ComboBoxText EngineControl::midi_option_combo
private

Definition at line 68 of file engine_dialog.h.

Gtk::VBox EngineControl::midi_vbox
private

Definition at line 111 of file engine_dialog.h.

Gtk::Notebook EngineControl::notebook
private

Definition at line 54 of file engine_dialog.h.

Gtk::Button* EngineControl::ok_button
private

Definition at line 106 of file engine_dialog.h.

Gtk::SpinButton EngineControl::output_channels
private

Definition at line 78 of file engine_dialog.h.

Gtk::Adjustment EngineControl::output_channels_adjustment
private

Definition at line 77 of file engine_dialog.h.

Gtk::SpinButton EngineControl::output_latency
private

Definition at line 74 of file engine_dialog.h.

Gtk::Adjustment EngineControl::output_latency_adjustment
private

Definition at line 73 of file engine_dialog.h.

Gtk::Adjustment EngineControl::ports_adjustment
private

Definition at line 79 of file engine_dialog.h.

Gtk::SpinButton EngineControl::ports_spinner
private

Definition at line 80 of file engine_dialog.h.

bool EngineControl::queue_device_changed
private

Definition at line 122 of file engine_dialog.h.

PBD::ScopedConnection EngineControl::running_connection
private

Definition at line 253 of file engine_dialog.h.

Gtk::ComboBoxText EngineControl::sample_rate_combo
private

Definition at line 67 of file engine_dialog.h.

bool EngineControl::started_at_least_once
private

Definition at line 121 of file engine_dialog.h.

StateList EngineControl::states
private

Definition at line 209 of file engine_dialog.h.

PBD::ScopedConnectionList EngineControl::stopped_connection
private

Definition at line 254 of file engine_dialog.h.


The documentation for this class was generated from the following files: