diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-12-23 18:32:51 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-12-23 18:32:51 +0000 |
commit | 2fca66be816ceeddb9b0278230eefa7372659290 (patch) | |
tree | 59cc98f4c777426a214bfce3fa32ad4f4daf1648 | |
parent | 258733c4f17fc2e51d242759c8d3f089ab57a76b (diff) |
prevent export from occuring when disconnected from JACK (GUI andbackend)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2811 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r-- | gtk2_ardour/ardour_ui.h | 7 | ||||
-rw-r--r-- | gtk2_ardour/editor_export_audio.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/export_dialog.cc | 15 | ||||
-rw-r--r-- | libs/ardour/session_export.cc | 4 |
4 files changed, 22 insertions, 8 deletions
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index d3c815b88e..51a7a68b14 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -149,7 +149,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI PublicEditor& the_editor(){return *editor;} Mixer_UI* the_mixer() { return mixer; } - + + ARDOUR::AudioEngine& the_engine() const { return *engine; } + void toggle_key_editor (); void toggle_location_window (); void toggle_theme_manager (); @@ -267,8 +269,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI ARDOUR::AudioEngine *engine; ARDOUR::Session *session; - bool check_audioengine(); - Gtk::Tooltips _tooltips; void goto_editor_window (); @@ -739,6 +739,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI void no_memory_warning (); void check_memory_locking (); + bool check_audioengine(); void audioengine_setup (); void display_message (const char *prefix, gint prefix_len, diff --git a/gtk2_ardour/editor_export_audio.cc b/gtk2_ardour/editor_export_audio.cc index 629abc8b56..8a749d45bc 100644 --- a/gtk2_ardour/editor_export_audio.cc +++ b/gtk2_ardour/editor_export_audio.cc @@ -96,9 +96,7 @@ Editor::export_region () ExportDialog* dialog = new ExportRegionDialog (*this, clicked_regionview->region()); dialog->connect_to_session (session); - dialog->set_range ( - clicked_regionview->region()->first_frame(), - clicked_regionview->region()->last_frame()); + dialog->set_range (clicked_regionview->region()->first_frame(), clicked_regionview->region()->last_frame()); dialog->start_export(); } diff --git a/gtk2_ardour/export_dialog.cc b/gtk2_ardour/export_dialog.cc index 20a44c8856..8c22e1b561 100644 --- a/gtk2_ardour/export_dialog.cc +++ b/gtk2_ardour/export_dialog.cc @@ -24,7 +24,6 @@ #include <fstream> #include <samplerate.h> - #include <pbd/convert.h> #include <pbd/xml++.h> @@ -936,7 +935,19 @@ void ExportDialog::do_export () { string filepath = file_entry.get_text(); - + + if (!ARDOUR_UI::instance()->the_engine().connected()) { + MessageDialog msg (*this, + _("Not connected to audioengine"), + true, + MESSAGE_ERROR, + BUTTONS_OK); + msg.set_secondary_text (_("Ardour cannot export audio when disconnected")); + msg.present (); + msg.run (); + return; + } + if(!is_filepath_valid(filepath)){ return; } diff --git a/libs/ardour/session_export.cc b/libs/ardour/session_export.cc index 87bf5a5b03..e7a3b3b40f 100644 --- a/libs/ardour/session_export.cc +++ b/libs/ardour/session_export.cc @@ -427,6 +427,10 @@ AudioExportSpecification::process (nframes_t nframes) int Session::start_audio_export (AudioExportSpecification& spec) { + if (!_engine.connected()) { + return -1; + } + if (spec.prepare (current_block_size, frame_rate())) { return -1; } |