diff options
author | Robin Gareus <robin@gareus.org> | 2018-11-27 13:18:39 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2018-11-27 13:18:39 +0100 |
commit | 57d7b5de65b399fc7d1d61a3a9212c0fa7f1e95c (patch) | |
tree | 2463fb1a9215537b7be319dcca385150533304d9 /gtk2_ardour | |
parent | 5531a440c990391241292a864f9c71d3b7625c45 (diff) |
GUI limitation: Require engine to add/remove tracks/busses
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 14 | ||||
-rw-r--r-- | gtk2_ardour/editor_drag.cc | 5 | ||||
-rw-r--r-- | gtk2_ardour/editor_ops.cc | 7 | ||||
-rw-r--r-- | gtk2_ardour/route_ui.cc | 6 |
4 files changed, 32 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 0523f9a8d1..7fcb7c74b5 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -4353,6 +4353,20 @@ ARDOUR_UI::add_route_dialog_response (int r) return; } + if (!AudioEngine::instance()->running ()) { + switch (r) { + case AddRouteDialog::Add: + case AddRouteDialog::AddAndClose: + break; + default: + return; + } + add_route_dialog->ArdourDialog::on_response (r); + MessageDialog msg (_("Not connected to audio engine - Adding Tracks/Busses is not possible")); + msg.run (); + return; + } + int count; switch (r) { diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 654cca2a16..5310eeed33 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -1428,6 +1428,11 @@ RegionMoveDrag::finished (GdkEvent* ev, bool movement_occurred) RouteTimeAxisView* RegionMoveDrag::create_destination_time_axis (boost::shared_ptr<Region> region, TimeAxisView* original) { + if (!AudioEngine::instance()->running ()) { + error << _("Not connected to audio engine - Could not create new track after region placed in the drop zone") << endmsg; + return NULL; + } + /* Add a new track of the correct type, and return the RouteTimeAxisView that is created to display the new track. */ diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 50ead21c33..3675a02fc5 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -45,6 +45,7 @@ #include "widgets/prompter.h" #include "ardour/audio_track.h" +#include "ardour/audioengine.h" #include "ardour/audioregion.h" #include "ardour/boost_debug.h" #include "ardour/dB.h" @@ -7420,6 +7421,12 @@ Editor::_remove_tracks () return; } + if (!AudioEngine::instance()->running ()) { + MessageDialog msg (_("Not connected to audio engine - Removing Tracks/Busses is not possible")); + msg.run (); + return; + } + vector<string> choices; string prompt; int ntracks = 0; diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index b9ece1ed07..752a951850 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -2323,6 +2323,12 @@ RouteUI::manage_pins () void RouteUI::fan_out (bool to_busses, bool group) { + if (!AudioEngine::instance()->running ()) { + MessageDialog msg (_("Not connected to audio engine - Fanning out to Tracks/Busses is not possible")); + msg.run (); + return; + } + DisplaySuspender ds; boost::shared_ptr<ARDOUR::Route> route = _route; boost::shared_ptr<PluginInsert> pi = boost::dynamic_pointer_cast<PluginInsert> (route->the_instrument ()); |