[Summary] Adding dialog to inform that Audio Engine is restarting.

This commit is contained in:
VKamyshniy 2015-03-01 13:26:57 +02:00
parent a5a8bf32e7
commit caf727ed13
3 changed files with 53 additions and 0 deletions

View file

@ -212,6 +212,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
, add_video_dialog (X_("add-video"), _("Add Tracks/Busses"), boost::bind (&ARDOUR_UI::create_add_video_dialog, this))
, bundle_manager (X_("bundle-manager"), _("Bundle Manager"), boost::bind (&ARDOUR_UI::create_bundle_manager, this))
, big_clock_window (X_("big-clock"), _("Big Clock"), boost::bind (&ARDOUR_UI::create_big_clock_window, this))
, _audio_engine_reset_info_dialog ("audio_engine_reset_info_dialog.xml")
// , audio_port_matrix (X_("audio-connection-manager"), _("Audio Connections"), boost::bind (&ARDOUR_UI::create_global_port_matrix, this, ARDOUR::DataType::AUDIO))
// , midi_port_matrix (X_("midi-connection-manager"), _("MIDI Connections"), boost::bind (&ARDOUR_UI::create_global_port_matrix, this, ARDOUR::DataType::MIDI))
, _feedback_exists (false)
@ -436,6 +437,8 @@ void
ARDOUR_UI::attach_to_engine ()
{
AudioEngine::instance()->Running.connect (forever_connections, MISSING_INVALIDATOR, boost::bind (&ARDOUR_UI::engine_running, this), gui_context());
AudioEngine::instance()->DeviceResetStarted.connect (forever_connections, MISSING_INVALIDATOR, boost::bind (&ARDOUR_UI::device_reset_started, this), gui_context());
AudioEngine::instance()->DeviceResetFinished.connect (forever_connections, MISSING_INVALIDATOR, boost::bind (&ARDOUR_UI::device_reset_finished, this), gui_context());
ARDOUR::Port::set_connecting_blocked (ARDOUR_COMMAND_LINE::no_connect_ports);
}
@ -461,6 +464,19 @@ ARDOUR_UI::engine_running ()
populate_sample_rate_dropdown ();
}
void
ARDOUR_UI::device_reset_started ()
{
_audio_engine_reset_info_dialog.set_keep_above (true);
_audio_engine_reset_info_dialog.show ();
}
void
ARDOUR_UI::device_reset_finished ()
{
_audio_engine_reset_info_dialog.hide ();
}
void
ARDOUR_UI::engine_halted (const char* reason, bool free_reason)
{

View file

@ -444,6 +444,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void engine_halted (const char* reason, bool free_reason);
void engine_stopped ();
void engine_running ();
void device_reset_started ();
void device_reset_finished ();
void use_config ();
@ -477,6 +479,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
Gtk::HBox _editor_transport_box;
Gtk::HBox transport_hbox;
Gtk::Fixed transport_base;
WavesDialog _audio_engine_reset_info_dialog;
struct TransportControllable : public PBD::Controllable {
enum ToggleType {

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<Dialog title="Tracks Live" resizeable="False" CACHEIT="false">
<style name="generic_control"
winfont ="Arial Bold 12"
macfont ="Helvetica Bold 12"
fgnormal="#BFBFBF"
bgnormal="#6C6C6C"
fgactive="#BFBFBF"
bgactive="#454545"
fghover="#CCCCCC"
bghover="#898989"/>
<style name="generic_button"
winfont ="Arial Bold 12"
macfont ="Helvetica Bold 12"
fgnormal="#6D6E72"
bgnormal="#CACAC5"
fgactive="#EDECE8"
bgactive="#6D6E72"
visible="false"
noshowall="true"
width="80"
height="22"/>
<EventBox bgnormal="#EDECE8" height="50" width="450">
<Label id="message_label"
style="generic_control"
text="Restarting Audio Engine. . ."
fgnormal="#6D6E72"
horzalignment="center"
justify="center"/>
</EventBox>
</Dialog>