engine->Halted.connect_same_thread (forever_connections, boost::bind (&ARDOUR_UI::engine_halted, this, _1, false));
+ ARDOUR::Port::set_connecting_blocked (ARDOUR_COMMAND_LINE::no_connect_ports);
+
post_engine ();
return 0;
bool ARDOUR_COMMAND_LINE::new_session = false;
char* ARDOUR_COMMAND_LINE::curvetest_file = 0;
bool ARDOUR_COMMAND_LINE::try_hw_optimization = true;
+bool ARDOUR_COMMAND_LINE::no_connect_ports = false;
string ARDOUR_COMMAND_LINE::keybindings_path = ""; /* empty means use builtin default */
Glib::ustring ARDOUR_COMMAND_LINE::menus_file = "ardour.menus";
bool ARDOUR_COMMAND_LINE::finder_invoked_ardour = false;
int
ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[])
{
- const char *optstring = "bc:C:dD:hk:E:m:N:nOp:ST:U:vV";
+ const char *optstring = "bc:C:dD:hk:E:m:N:nOp:PST:U:vV";
const char *execname = strrchr (argv[0], '/');
if (getenv ("ARDOUR_SAE")) {
{ "save", 1, 0, 'E' },
{ "uuid", 1, 0, 'U' },
{ "template", 1, 0, 'T' },
+ { "no-connect-ports", 0, 0, 'P' },
{ 0, 0, 0, 0 }
};
try_hw_optimization = false;
break;
+ case 'P':
+ no_connect_ports = true;
+ break;
+
case 'V':
#ifdef VST_SUPPORT
use_vst = false;
extern bool new_session;
extern char* curvetest_file;
extern bool try_hw_optimization;
+extern bool no_connect_ports;
extern bool use_gtk_theme;
extern std::string keybindings_path;
extern Glib::ustring menus_file;
static void set_buffer_size (nframes_t sz) {
_buffer_size = sz;
}
+ static void set_connecting_blocked( bool yn ) {
+ _connecting_blocked = yn;
+ }
+ static bool connecting_blocked() {
+ return _connecting_blocked;
+ }
+
/** @return Port short name */
std::string name () const {
static nframes_t _port_offset;
static nframes_t _buffer_size;
+ static bool _connecting_blocked;
static AudioEngine* _engine; ///< the AudioEngine
AudioEngine* Port::_engine = 0;
nframes_t Port::_port_offset = 0;
nframes_t Port::_buffer_size = 0;
+bool Port::_connecting_blocked = false;
/** @param n Port short name */
Port::Port (std::string const & n, DataType t, Flags f)
int r = 0;
+ if (_connecting_blocked)
+ return r;
+
if (sends_output ()) {
r = jack_connect (_engine->jack (), this_shrt.c_str (), other_shrt.c_str ());
} else {
#include "ardour/midi_track.h"
#include "ardour/named_selection.h"
#include "ardour/processor.h"
+#include "ardour/port.h"
#include "ardour/region_factory.h"
#include "ardour/route_group.h"
#include "ardour/send.h"
_state_of_the_state = Clean;
+ Port::set_connecting_blocked (false);
+
DirtyChanged (); /* EMIT SIGNAL */
if (state_was_pending) {