summaryrefslogtreecommitdiff
path: root/gtk2_ardour/engine_dialog.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-11-08 15:54:16 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-11-08 15:54:16 +0000
commit44e88a2d54e04d29e462246d1988280e03ce7304 (patch)
tree5a4c5d3a50c81bf943c820332513937637613d03 /gtk2_ardour/engine_dialog.cc
parenta532845e7fce0d218384203be1884d933843aebf (diff)
notably modify the design and logic of the startup dialog, so that we can handle the requirements in the 3.0-SG branch reasonably. the two major changes concern the idea that we may need to run the audio setup tab at all times, and that the startup dialog could potentially be "ready" without actually needing to be displayed on-screen. this allows us to ALWAYS use a startup dialog, even if we don't actually need any information from the user. as usual with this kind of change, expect a few logic/workflow glitches
git-svn-id: svn://localhost/ardour2/branches/3.0@13397 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/engine_dialog.cc')
-rw-r--r--gtk2_ardour/engine_dialog.cc20
1 files changed, 19 insertions, 1 deletions
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc
index 615e79e184..f0121f5f42 100644
--- a/gtk2_ardour/engine_dialog.cc
+++ b/gtk2_ardour/engine_dialog.cc
@@ -44,6 +44,8 @@
#include <gtkmm/stock.h>
#include <gtkmm2ext/utils.h>
+#include "ardour/rc_configuration.h"
+
#include "pbd/convert.h"
#include "pbd/error.h"
#include "pbd/pathscanner.h"
@@ -364,6 +366,14 @@ EngineControl::EngineControl ()
set_border_width (12);
pack_start (notebook);
+
+ /* Pick up any existing audio setup configuration, if appropriate */
+
+ XMLNode* audio_setup = ARDOUR::Config->extra_xml ("AudioSetup");
+
+ if (audio_setup) {
+ set_state (*audio_setup);
+ }
}
EngineControl::~EngineControl ()
@@ -580,12 +590,20 @@ EngineControl::build_command_line (vector<string>& cmd)
}
bool
+EngineControl::need_setup ()
+{
+ return !engine_running();
+}
+
+bool
EngineControl::engine_running ()
{
EnvironmentalProtectionAgency* global_epa = EnvironmentalProtectionAgency::get_global_epa ();
boost::scoped_ptr<EnvironmentalProtectionAgency> current_epa;
- /* revert all environment settings back to whatever they were when ardour started
+ /* revert all environment settings back to whatever they were when
+ * ardour started, because ardour's startup script may have reset
+ * something in ways that interfere with finding/starting JACK.
*/
if (global_epa) {