diff options
author | Carl Hetherington <carl@carlh.net> | 2008-12-16 23:21:01 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2008-12-16 23:21:01 +0000 |
commit | 2ebb1af2997b8e8f162635b11e8acc5c5d0fe563 (patch) | |
tree | a88ebc1e46dbe43cc760626eddd57d0feac81216 /gtk2_ardour/route_time_axis.cc | |
parent | 43b14aa6098e266f07e1d7dfe4a8a65edda36b0a (diff) |
Implement #2425: option for automation to follow region moves.
git-svn-id: svn://localhost/ardour2/branches/3.0@4326 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/route_time_axis.cc')
-rw-r--r-- | gtk2_ardour/route_time_axis.cc | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index 8e462c984e..431017aff9 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -286,8 +286,8 @@ RouteTimeAxisView::post_construct () update_diskstream_display (); subplugin_menu.items().clear (); - _route->foreach_processor (this, &RouteTimeAxisView::add_processor_to_subplugin_menu); - _route->foreach_processor (this, &RouteTimeAxisView::add_existing_processor_automation_curves); + _route->foreach_processor (mem_fun (*this, &RouteTimeAxisView::add_processor_to_subplugin_menu)); + _route->foreach_processor (mem_fun (*this, &RouteTimeAxisView::add_existing_processor_automation_curves)); reset_processor_automation_curves (); } @@ -1920,8 +1920,13 @@ RouteTimeAxisView::processor_automation_track_hidden (RouteTimeAxisView::Process } void -RouteTimeAxisView::add_existing_processor_automation_curves (boost::shared_ptr<Processor> processor) +RouteTimeAxisView::add_existing_processor_automation_curves (boost::weak_ptr<Processor> p) { + boost::shared_ptr<Processor> processor (p.lock ()); + if (!processor) { + return; + } + set<Evoral::Parameter> s; boost::shared_ptr<AutomationLine> al; @@ -1977,8 +1982,13 @@ RouteTimeAxisView::add_automation_child(Evoral::Parameter param, boost::shared_p void -RouteTimeAxisView::add_processor_to_subplugin_menu (boost::shared_ptr<Processor> processor) +RouteTimeAxisView::add_processor_to_subplugin_menu (boost::weak_ptr<Processor> p) { + boost::shared_ptr<Processor> processor (p.lock ()); + if (!processor) { + return; + } + using namespace Menu_Helpers; ProcessorAutomationInfo *rai; list<ProcessorAutomationInfo*>::iterator x; @@ -2108,8 +2118,8 @@ RouteTimeAxisView::processors_changed () subplugin_menu.items().clear (); - _route->foreach_processor (this, &RouteTimeAxisView::add_processor_to_subplugin_menu); - _route->foreach_processor (this, &RouteTimeAxisView::add_existing_processor_automation_curves); + _route->foreach_processor (mem_fun (*this, &RouteTimeAxisView::add_processor_to_subplugin_menu)); + _route->foreach_processor (mem_fun (*this, &RouteTimeAxisView::add_existing_processor_automation_curves)); for (list<ProcessorAutomationInfo*>::iterator i = processor_automation.begin(); i != processor_automation.end(); ) { |