Ardour  9.0-pre0-582-g084a23a80d
StartupFSM Class Reference

#include <startup_fsm.h>

Inheritance diagram for StartupFSM:
[legend]

Public Types

enum  DialogID {
  PreReleaseDialog , NewUserDialog , NewSessionDialog , AudioMIDISetup ,
  PluginDialog , ApplicationPseudoDialog
}
 
enum  Result { LoadSession , LoadedSession , ExitProgram , QuitProgram }
 
enum  MainState {
  NotWaiting , WaitingForPreRelease , WaitingForNewUser , WaitingForSessionPath ,
  WaitingForEngineParams , WaitingForPlugins
}
 

Public Member Functions

 StartupFSM (EngineControl &)
 
 ~StartupFSM ()
 
void start ()
 
void reset ()
 
sigc::signal1< void, Result > & signal_response ()
 
bool brand_new_user () const
 
void handle_path (std::string const &path)
 
bool complete () const
 
void set_complete ()
 

Public Attributes

std::string session_path
 
std::string session_name
 
std::string session_template
 
Temporal::TimeDomain session_domain
 
int session_existing_sample_rate
 
XMLNode session_engine_hints
 
bool session_is_new
 
bool session_name_edited
 
bool session_loaded
 
ARDOUR::BusProfile bus_profile
 

Private Member Functions

void set_state (MainState)
 
void dialog_response_handler (int response, DialogID)
 
template<typename T >
void end_dialog (T **)
 
template<typename T >
void end_dialog (T &)
 
void show_new_user_dialog ()
 
void show_session_dialog (bool new_session_required)
 
void show_audiomidi_dialog ()
 
void show_pre_release_dialog ()
 
void show_plugin_scan_dialog ()
 
void copy_demo_sessions ()
 
bool get_session_parameters_from_command_line (bool new_session_required)
 
bool get_session_parameters_from_path (std::string const &path, std::string const &template_name, bool new_session_required)
 
void queue_finish ()
 
bool ask_about_loading_existing_session (const std::string &session_path)
 
int check_session_parameters (bool must_be_new)
 
void start_audio_midi_setup ()
 
void engine_running ()
 
void handle_waiting_for_session_path ()
 
void dialog_hidden (Gtk::Window *)
 

Private Attributes

bool new_user
 
bool new_session_required
 
MainState _state
 
EngineControlaudiomidi_dialog
 
NewUserWizardnew_user_dialog
 
SessionDialogsession_dialog
 
ArdourDialogpre_release_dialog
 
PluginScanDialogplugin_scan_dialog
 
sigc::connection current_dialog_connection
 
sigc::connection app_quit_connection
 
sigc::connection hide_quit_connection
 
sigc::signal1< void, Result_signal_response
 

Detailed Description

Definition at line 39 of file startup_fsm.h.

Member Enumeration Documentation

◆ DialogID

Enumerator
PreReleaseDialog 
NewUserDialog 
NewSessionDialog 
AudioMIDISetup 
PluginDialog 
ApplicationPseudoDialog 

Definition at line 42 of file startup_fsm.h.

◆ MainState

Enumerator
NotWaiting 
WaitingForPreRelease 
WaitingForNewUser 
WaitingForSessionPath 
WaitingForEngineParams 
WaitingForPlugins 

Definition at line 58 of file startup_fsm.h.

◆ Result

Enumerator
LoadSession 
LoadedSession 
ExitProgram 
QuitProgram 

Definition at line 51 of file startup_fsm.h.

Constructor & Destructor Documentation

◆ StartupFSM()

StartupFSM::StartupFSM ( EngineControl )

◆ ~StartupFSM()

StartupFSM::~StartupFSM ( )

Member Function Documentation

◆ ask_about_loading_existing_session()

bool StartupFSM::ask_about_loading_existing_session ( const std::string &  session_path)
private

◆ brand_new_user()

bool StartupFSM::brand_new_user ( ) const
inline

Definition at line 91 of file startup_fsm.h.

◆ check_session_parameters()

int StartupFSM::check_session_parameters ( bool  must_be_new)
private

◆ complete()

bool StartupFSM::complete ( ) const
inline

Definition at line 94 of file startup_fsm.h.

◆ copy_demo_sessions()

void StartupFSM::copy_demo_sessions ( )
private

◆ dialog_hidden()

void StartupFSM::dialog_hidden ( Gtk::Window )
private

◆ dialog_response_handler()

void StartupFSM::dialog_response_handler ( int  response,
DialogID   
)
private

◆ end_dialog() [1/2]

template<typename T >
void StartupFSM::end_dialog ( T &  )
private

◆ end_dialog() [2/2]

template<typename T >
void StartupFSM::end_dialog ( T **  )
private

◆ engine_running()

void StartupFSM::engine_running ( )
private

◆ get_session_parameters_from_command_line()

bool StartupFSM::get_session_parameters_from_command_line ( bool  new_session_required)
private

◆ get_session_parameters_from_path()

bool StartupFSM::get_session_parameters_from_path ( std::string const &  path,
std::string const &  template_name,
bool  new_session_required 
)
private

◆ handle_path()

void StartupFSM::handle_path ( std::string const &  path)

◆ handle_waiting_for_session_path()

void StartupFSM::handle_waiting_for_session_path ( )
private

◆ queue_finish()

void StartupFSM::queue_finish ( )
private

◆ reset()

void StartupFSM::reset ( )

◆ set_complete()

void StartupFSM::set_complete ( )

◆ set_state()

void StartupFSM::set_state ( MainState  )
private

◆ show_audiomidi_dialog()

void StartupFSM::show_audiomidi_dialog ( )
private

◆ show_new_user_dialog()

void StartupFSM::show_new_user_dialog ( )
private

◆ show_plugin_scan_dialog()

void StartupFSM::show_plugin_scan_dialog ( )
private

◆ show_pre_release_dialog()

void StartupFSM::show_pre_release_dialog ( )
private

◆ show_session_dialog()

void StartupFSM::show_session_dialog ( bool  new_session_required)
private

◆ signal_response()

sigc::signal1<void,Result>& StartupFSM::signal_response ( )
inline

Definition at line 89 of file startup_fsm.h.

◆ start()

void StartupFSM::start ( )

◆ start_audio_midi_setup()

void StartupFSM::start_audio_midi_setup ( )
private

Member Data Documentation

◆ _signal_response

sigc::signal1<void,Result> StartupFSM::_signal_response
private

Definition at line 139 of file startup_fsm.h.

◆ _state

MainState StartupFSM::_state
private

Definition at line 101 of file startup_fsm.h.

◆ app_quit_connection

sigc::connection StartupFSM::app_quit_connection
private

Definition at line 136 of file startup_fsm.h.

◆ audiomidi_dialog

EngineControl& StartupFSM::audiomidi_dialog
private

Definition at line 129 of file startup_fsm.h.

◆ bus_profile

ARDOUR::BusProfile StartupFSM::bus_profile

Definition at line 83 of file startup_fsm.h.

◆ current_dialog_connection

sigc::connection StartupFSM::current_dialog_connection
private

Definition at line 135 of file startup_fsm.h.

◆ hide_quit_connection

sigc::connection StartupFSM::hide_quit_connection
private

Definition at line 137 of file startup_fsm.h.

◆ new_session_required

bool StartupFSM::new_session_required
private

Definition at line 99 of file startup_fsm.h.

◆ new_user

bool StartupFSM::new_user
private

Definition at line 98 of file startup_fsm.h.

◆ new_user_dialog

NewUserWizard* StartupFSM::new_user_dialog
private

Definition at line 130 of file startup_fsm.h.

◆ plugin_scan_dialog

PluginScanDialog* StartupFSM::plugin_scan_dialog
private

Definition at line 133 of file startup_fsm.h.

◆ pre_release_dialog

ArdourDialog* StartupFSM::pre_release_dialog
private

Definition at line 132 of file startup_fsm.h.

◆ session_dialog

SessionDialog* StartupFSM::session_dialog
private

Definition at line 131 of file startup_fsm.h.

◆ session_domain

Temporal::TimeDomain StartupFSM::session_domain

Definition at line 76 of file startup_fsm.h.

◆ session_engine_hints

XMLNode StartupFSM::session_engine_hints

Definition at line 78 of file startup_fsm.h.

◆ session_existing_sample_rate

int StartupFSM::session_existing_sample_rate

Definition at line 77 of file startup_fsm.h.

◆ session_is_new

bool StartupFSM::session_is_new

Definition at line 79 of file startup_fsm.h.

◆ session_loaded

bool StartupFSM::session_loaded

Definition at line 81 of file startup_fsm.h.

◆ session_name

std::string StartupFSM::session_name

Definition at line 74 of file startup_fsm.h.

◆ session_name_edited

bool StartupFSM::session_name_edited

Definition at line 80 of file startup_fsm.h.

◆ session_path

std::string StartupFSM::session_path

Definition at line 73 of file startup_fsm.h.

◆ session_template

std::string StartupFSM::session_template

Definition at line 75 of file startup_fsm.h.


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