From 80ee9e6e13718a307dfa7331ce9bfde3146bfec0 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 11 Sep 2007 11:27:59 +0000 Subject: click reset error fixed, plus some older work on sends+panners i/o counts git-svn-id: svn://localhost/ardour2/trunk@2456 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/send.h | 5 ++--- libs/ardour/route.cc | 7 +++++++ libs/ardour/send.cc | 10 ++++++++-- libs/ardour/session_click.cc | 2 +- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/libs/ardour/ardour/send.h b/libs/ardour/ardour/send.h index 018df96be4..1ee8bbceca 100644 --- a/libs/ardour/ardour/send.h +++ b/libs/ardour/ardour/send.h @@ -56,8 +56,8 @@ class Send : public IOProcessor XMLNode& get_state(void); int set_state(const XMLNode& node); - uint32_t pans_required() const { return _expected_inputs.n_audio(); } - + uint32_t pans_required() const { return _configured_input.n_audio(); } + virtual bool can_support_input_configuration (ChanCount in) const; virtual ChanCount output_for_input_configuration (ChanCount in) const; virtual bool configure_io (ChanCount in, ChanCount out); @@ -66,7 +66,6 @@ class Send : public IOProcessor private: bool _metering; - ChanCount _expected_inputs; uint32_t bitslot; }; diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 0453129f75..3cf8fdc985 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -1221,6 +1221,8 @@ Route::apply_some_plugin_counts (list& iclist) for (i = iclist.begin(); i != iclist.end(); ++i) { + cerr << "now applying for " << (*i).processor->name() << " in = " << (*i).in.n_audio() << " out = " << (*i).out.n_audio() << endl; + if ((*i).processor->configure_io ((*i).in, (*i).out)) { return -1; } @@ -1249,6 +1251,9 @@ Route::check_some_plugin_counts (list& iclist, ChanCount require for (i = iclist.begin(); i != iclist.end(); ++i) { + + cerr << "Checking whether " << (*i).processor->name() << " can support " << required_inputs.n_audio() << " inputs\n"; + if ((*i).processor->can_support_input_configuration (required_inputs) < 0) { if (err) { err->index = index; @@ -1260,6 +1265,8 @@ Route::check_some_plugin_counts (list& iclist, ChanCount require (*i).in = required_inputs; (*i).out = (*i).processor->output_for_input_configuration (required_inputs); + cerr << "config looks like " << (*i).processor->name() << " in = " << (*i).in.n_audio() << " out = " << (*i).out.n_audio() << endl; + required_inputs = (*i).out; ++index; diff --git a/libs/ardour/send.cc b/libs/ardour/send.cc index 929b1fc9a8..52184dece1 100644 --- a/libs/ardour/send.cc +++ b/libs/ardour/send.cc @@ -212,11 +212,17 @@ Send::configure_io (ChanCount in, ChanCount out) ChanCount Send::output_streams() const { - return _io->n_outputs (); + // this method reflects the idea that from the perspective of the Route's ProcessorList, + // a send is just a passthrough. that doesn't match what the Send actually does with its + // data, but since what it does is invisible to the Route, it appears to be a passthrough. + + return _configured_input; } ChanCount Send::input_streams() const { - return _io->n_outputs (); // (sic) + return _configured_input; } + + diff --git a/libs/ardour/session_click.cc b/libs/ardour/session_click.cc index fb51f22564..7161de6d78 100644 --- a/libs/ardour/session_click.cc +++ b/libs/ardour/session_click.cc @@ -144,7 +144,7 @@ Session::setup_click_sounds (int which) click_data = 0; } - string path = Config->get_click_emphasis_sound(); + string path = Config->get_click_sound(); if (path.empty()) { -- cgit v1.2.3