Call activate() on plugins when setting state so that they are initialised correctly.

git-svn-id: svn://localhost/ardour2/branches/3.0@7562 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2010-08-07 23:31:33 +00:00
parent e8dc5539a0
commit 9a539fd347
2 changed files with 16 additions and 10 deletions

View file

@ -232,11 +232,11 @@ PluginInsert::set_block_size (nframes_t nframes)
void
PluginInsert::activate ()
{
Processor::activate ();
for (Plugins::iterator i = _plugins.begin(); i != _plugins.end(); ++i) {
(*i)->activate ();
}
Processor::activate ();
}
void

View file

@ -150,10 +150,13 @@ Processor::set_state_2X (const XMLNode & node, int /*version*/)
}
if ((prop = (*i)->property ("active")) != 0) {
if (_active != string_is_affirmative (prop->value())) {
_active = !_active;
_pending_active = _active;
ActiveChanged (); /* EMIT_SIGNAL */
bool const a = string_is_affirmative (prop->value ());
if (_active != a) {
if (a) {
activate ();
} else {
deactivate ();
}
}
}
}
@ -232,10 +235,13 @@ Processor::set_state (const XMLNode& node, int version)
}
}
if (_active != string_is_affirmative (prop->value())) {
_active = !_active;
_pending_active = _active;
ActiveChanged (); /* EMIT_SIGNAL */
bool const a = string_is_affirmative (prop->value ());
if (_active != a) {
if (a) {
activate ();
} else {
deactivate ();
}
}
return 0;