summaryrefslogtreecommitdiff
path: root/gtk2_ardour/audio_time_axis.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-01-27 01:31:03 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-01-27 01:31:03 +0000
commit15b5fce90480490455237da917167b0bcb5ce946 (patch)
tree5c1c5929a83c05db1a901e775fefe4f6cf8dc1b7 /gtk2_ardour/audio_time_axis.cc
parent1385643131a2b2231bbbc0c584c76883fcfb580a (diff)
merge 3.0-panexp (pan experiments) branch, revisions 8534-8585 into 3.0, thus ending 3.0-panexp. THIS COMMIT WILL BREAK ALL EXISTING 3.0 SESSIONS IN SOME WAY (possibly not fatally).
git-svn-id: svn://localhost/ardour2/branches/3.0@8586 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/audio_time_axis.cc')
-rw-r--r--gtk2_ardour/audio_time_axis.cc17
1 files changed, 10 insertions, 7 deletions
diff --git a/gtk2_ardour/audio_time_axis.cc b/gtk2_ardour/audio_time_axis.cc
index d791290562..fcdc4bbdfa 100644
--- a/gtk2_ardour/audio_time_axis.cc
+++ b/gtk2_ardour/audio_time_axis.cc
@@ -40,6 +40,7 @@
#include "ardour/audioplaylist.h"
#include "ardour/event_type_map.h"
#include "ardour/location.h"
+#include "ardour/pannable.h"
#include "ardour/panner.h"
#include "ardour/playlist.h"
#include "ardour/processor.h"
@@ -191,7 +192,9 @@ AudioTimeAxisView::create_automation_child (const Evoral::Parameter& param, bool
create_gain_automation_child (param, show);
- } else if (param.type() == PanAutomation) {
+ } else if (param.type() == PanWidthAutomation ||
+ param.type() == PanElevationAutomation ||
+ param.type() == PanAzimuthAutomation) {
ensure_xml_node ();
ensure_pan_views (show);
@@ -217,13 +220,11 @@ AudioTimeAxisView::ensure_pan_views (bool show)
return;
}
- const set<Evoral::Parameter>& params = _route->panner()->what_can_be_automated();
+ set<Evoral::Parameter> params = _route->panner()->what_can_be_automated();
set<Evoral::Parameter>::iterator p;
for (p = params.begin(); p != params.end(); ++p) {
- boost::shared_ptr<ARDOUR::AutomationControl> pan_control
- = boost::dynamic_pointer_cast<ARDOUR::AutomationControl>(
- _route->panner()->control(*p));
+ boost::shared_ptr<ARDOUR::AutomationControl> pan_control = _route->pannable()->automation_control(*p);
if (pan_control->parameter().type() == NullAutomation) {
error << "Pan control has NULL automation type!" << endmsg;
@@ -238,7 +239,9 @@ AudioTimeAxisView::ensure_pan_views (bool show)
boost::shared_ptr<AutomationTimeAxisView> t (
new AutomationTimeAxisView (_session,
- _route, _route->panner(), pan_control,
+ _route,
+ _route->pannable(),
+ pan_control,
_editor,
*this,
false,
@@ -442,7 +445,7 @@ AudioTimeAxisView::build_automation_action_menu ()
pan_automation_item = dynamic_cast<CheckMenuItem*> (&automation_items.back ());
pan_automation_item->set_active (pan_tracks.front()->marked_for_display ());
- set<Evoral::Parameter> const & params = _route->panner()->what_can_be_automated ();
+ set<Evoral::Parameter> const & params = _route->pannable()->what_can_be_automated ();
for (set<Evoral::Parameter>::iterator p = params.begin(); p != params.end(); ++p) {
_main_automation_menu_map[*p] = pan_automation_item;
}