From 79c23f5a6668ad3cce6e38d9cdea680829a8d1c5 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 29 Jan 2011 17:49:27 +0000 Subject: fix auditioner by virtualizing Route::input_streams(), since the auditioner never has any inputs git-svn-id: svn://localhost/ardour2/branches/3.0@8610 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/auditioner.h | 2 ++ libs/ardour/ardour/route.h | 2 +- libs/ardour/auditioner.cc | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/libs/ardour/ardour/auditioner.h b/libs/ardour/ardour/auditioner.h index 25a7b91158..a0047e225f 100644 --- a/libs/ardour/ardour/auditioner.h +++ b/libs/ardour/ardour/auditioner.h @@ -55,6 +55,8 @@ class Auditioner : public AudioTrack bool auditioning() const { return g_atomic_int_get (&_auditioning); } bool needs_monitor() const { return via_monitor; } + virtual ChanCount input_streams () const; + private: boost::shared_ptr the_region; framepos_t current_frame; diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h index f90ec77b7e..3c0e393e5e 100644 --- a/libs/ardour/ardour/route.h +++ b/libs/ardour/ardour/route.h @@ -454,7 +454,7 @@ class Route : public SessionObject, public Automatable, public RouteGroupMember, DataType _default_type; FedBy _fed_by; - ChanCount input_streams () const; + virtual ChanCount input_streams () const; protected: virtual XMLNode& state(bool); diff --git a/libs/ardour/auditioner.cc b/libs/ardour/auditioner.cc index 209d26dc30..a5db9a21dd 100644 --- a/libs/ardour/auditioner.cc +++ b/libs/ardour/auditioner.cc @@ -275,3 +275,17 @@ Auditioner::output_changed (IOChange change, void* /*src*/) } } } + +ChanCount +Auditioner::input_streams () const +{ + /* auditioner never has any inputs - its channel configuration + depends solely on the region we are auditioning. + */ + + if (audio_diskstream()) { + return audio_diskstream()->n_channels(); + } + + return ChanCount (); +} -- cgit v1.2.3