projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove dangling plugin thru-connections
[ardour.git]
/
libs
/
ardour
/
automatable.cc
diff --git
a/libs/ardour/automatable.cc
b/libs/ardour/automatable.cc
index 69e8c70741f47ad9f5090ea5f5e38a0e7f655b6d..3c5d610ce88eaf7f1b4ffccfca4d8846741c18fd 100644
(file)
--- a/
libs/ardour/automatable.cc
+++ b/
libs/ardour/automatable.cc
@@
-28,6
+28,7
@@
#include "ardour/amp.h"
#include "ardour/automatable.h"
#include "ardour/event_type_map.h"
#include "ardour/amp.h"
#include "ardour/automatable.h"
#include "ardour/event_type_map.h"
+#include "ardour/gain_control.h"
#include "ardour/midi_track.h"
#include "ardour/pan_controllable.h"
#include "ardour/pannable.h"
#include "ardour/midi_track.h"
#include "ardour/pan_controllable.h"
#include "ardour/pannable.h"
@@
-365,7
+366,7
@@
Automatable::transport_located (framepos_t now)
boost::shared_ptr<AutomationList> l
= boost::dynamic_pointer_cast<AutomationList>(c->list());
boost::shared_ptr<AutomationList> l
= boost::dynamic_pointer_cast<AutomationList>(c->list());
- if (l
&& l->automation_state () == Write
) {
+ if (l) {
l->start_write_pass (now);
}
}
l->start_write_pass (now);
}
}
@@
-398,9
+399,7
@@
Automatable::transport_stopped (framepos_t now)
l->stop_touch (true, now);
l->stop_touch (true, now);
- if (list_did_write) {
- c->commit_transaction ();
- }
+ c->commit_transaction (list_did_write);
l->write_pass_finished (now, Config->get_automation_thinning_factor ());
l->write_pass_finished (now, Config->get_automation_thinning_factor ());
@@
-451,19
+450,9
@@
Automatable::control_factory(const Evoral::Parameter& param)
warning << "PluginPropertyAutomation for non-Plugin" << endl;
}
} else if (param.type() == GainAutomation) {
warning << "PluginPropertyAutomation for non-Plugin" << endl;
}
} else if (param.type() == GainAutomation) {
- Amp* amp = dynamic_cast<Amp*>(this);
- if (amp) {
- control = new Amp::GainControl(X_("gaincontrol"), _a_session, amp, param);
- } else {
- warning << "GainAutomation for non-Amp" << endl;
- }
+ control = new GainControl(_a_session, param);
} else if (param.type() == TrimAutomation) {
} else if (param.type() == TrimAutomation) {
- Amp* amp = dynamic_cast<Amp*>(this);
- if (amp) {
- control = new Amp::GainControl(X_("trimcontrol"), _a_session, amp, param);
- } else {
- warning << "TrimAutomation for non-Amp" << endl;
- }
+ control = new GainControl(_a_session, param);
} else if (param.type() == PanAzimuthAutomation || param.type() == PanWidthAutomation || param.type() == PanElevationAutomation) {
Pannable* pannable = dynamic_cast<Pannable*>(this);
if (pannable) {
} else if (param.type() == PanAzimuthAutomation || param.type() == PanWidthAutomation || param.type() == PanElevationAutomation) {
Pannable* pannable = dynamic_cast<Pannable*>(this);
if (pannable) {