domain swaps for MIDI CC and other controls

This commit is contained in:
Paul Davis 2023-08-16 09:06:10 -06:00
parent e53a70722a
commit 06e9bf6ca4
6 changed files with 53 additions and 11 deletions

View file

@ -104,6 +104,29 @@ ControlSet::clear_controls ()
}
}
void
ControlSet::start_domain_bounce (Temporal::DomainBounceInfo& cmd)
{
for (auto & c : _controls) {
std::shared_ptr<Evoral::ControlList> cl = c.second->list();
if (cl && cl->time_domain() != cmd.to) {
cl->start_domain_bounce (cmd);
}
}
}
void
ControlSet::finish_domain_bounce (Temporal::DomainBounceInfo& cmd)
{
for (auto & c : _controls) {
std::shared_ptr<Evoral::ControlList> cl = c.second->list();
if (cl && cl->time_domain() != cmd.to) {
cl->finish_domain_bounce (cmd);
}
}
}
} // namespace Evoral
/* No good place for this so just put it here */
@ -113,3 +136,4 @@ std::operator<< (std::ostream & str, Evoral::Parameter const & p)
{
return str << p.type() << '-' << p.id() << '-' << (int) p.channel();
}