mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-10 15:36:24 +01:00
add -d/--disable-plugins option to allow easy restart with troublesome plugins
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2828 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
d41f7a0a70
commit
c5e2ffa8a7
4 changed files with 25 additions and 4 deletions
|
|
@ -21,6 +21,8 @@
|
|||
#include <iostream>
|
||||
#include <cstdlib>
|
||||
|
||||
#include <ardour/session.h>
|
||||
|
||||
#include "opts.h"
|
||||
|
||||
#include "i18n.h"
|
||||
|
|
@ -48,8 +50,9 @@ print_help (const char *execname)
|
|||
<< _(" -v, --version Show version information\n")
|
||||
<< _(" -h, --help Print this message\n")
|
||||
<< _(" -b, --bindings Print all possible keyboard binding names\n")
|
||||
<< _(" -n, --show-splash Show splash screen\n")
|
||||
<< _(" -c, --name name Use a specific jack client name, default is ardour\n")
|
||||
<< _(" -d, --disable-plugins Disable all plugins in an existing session\n")
|
||||
<< _(" -n, --show-splash Show splash screen\n")
|
||||
<< _(" -m, --menus file Use \"file\" for Ardour menus\n")
|
||||
<< _(" -N, --new session-name Create a new session from the command line\n")
|
||||
<< _(" -O, --no-hw-optimizations Disable h/w specific optimizations\n")
|
||||
|
|
@ -68,7 +71,7 @@ print_help (const char *execname)
|
|||
int
|
||||
ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[])
|
||||
{
|
||||
const char *optstring = "U:hSbvVnOc:C:m:N:k:p:";
|
||||
const char *optstring = "U:hSbvVnOdc:C:m:N:k:p:";
|
||||
const char *execname = strrchr (argv[0], '/');
|
||||
|
||||
if (getenv ("ARDOUR_SAE")) {
|
||||
|
|
@ -124,6 +127,10 @@ ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[])
|
|||
case 'b':
|
||||
show_key_actions = true;
|
||||
break;
|
||||
|
||||
case 'd':
|
||||
ARDOUR::Session::set_disable_all_loaded_plugins (true);
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
menus_file = optarg;
|
||||
|
|
|
|||
|
|
@ -695,6 +695,13 @@ class Session : public PBD::StatefulDestructible
|
|||
uint32_t n_plugin_inserts() const { return _plugin_inserts.size(); }
|
||||
uint32_t n_sends() const { return _sends.size(); }
|
||||
|
||||
static void set_disable_all_loaded_plugins (bool yn) {
|
||||
_disable_all_loaded_plugins = yn;
|
||||
}
|
||||
static bool get_disable_all_loaded_plugins() {
|
||||
return _disable_all_loaded_plugins;
|
||||
}
|
||||
|
||||
uint32_t next_send_id();
|
||||
uint32_t next_insert_id();
|
||||
void mark_send_id (uint32_t);
|
||||
|
|
@ -1711,6 +1718,8 @@ class Session : public PBD::StatefulDestructible
|
|||
|
||||
void set_history_depth (uint32_t depth);
|
||||
void sync_order_keys ();
|
||||
|
||||
static bool _disable_all_loaded_plugins;
|
||||
};
|
||||
|
||||
} // namespace ARDOUR
|
||||
|
|
|
|||
|
|
@ -274,8 +274,11 @@ Redirect::set_state (const XMLNode& node)
|
|||
}
|
||||
|
||||
if (_active != (prop->value() == "yes")) {
|
||||
_active = !_active;
|
||||
active_changed (this, this); /* EMIT_SIGNAL */
|
||||
if (!(_session.state_of_the_state() & Session::Loading) ||
|
||||
!Session::get_disable_all_loaded_plugins()) {
|
||||
_active = !_active;
|
||||
active_changed (this, this); /* EMIT_SIGNAL */
|
||||
}
|
||||
}
|
||||
|
||||
if ((prop = node.property ("placement")) == 0) {
|
||||
|
|
|
|||
|
|
@ -95,6 +95,8 @@ const char* Session::dead_sound_dir_name = X_("dead_sounds");
|
|||
const char* Session::interchange_dir_name = X_("interchange");
|
||||
const char* Session::export_dir_name = X_("export");
|
||||
|
||||
bool Session::_disable_all_loaded_plugins = false;
|
||||
|
||||
Session::compute_peak_t Session::compute_peak = 0;
|
||||
Session::find_peaks_t Session::find_peaks = 0;
|
||||
Session::apply_gain_to_buffer_t Session::apply_gain_to_buffer = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue