summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-09-11 11:27:59 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-09-11 11:27:59 +0000
commit80ee9e6e13718a307dfa7331ce9bfde3146bfec0 (patch)
tree84d014f7e1cd0903473ec67f51535dde683a644d
parent11a4c2804ef11399c1983872c1dd100cf6bd59ce (diff)
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
-rw-r--r--libs/ardour/ardour/send.h5
-rw-r--r--libs/ardour/route.cc7
-rw-r--r--libs/ardour/send.cc10
-rw-r--r--libs/ardour/session_click.cc2
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<ProcessorCount>& 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<ProcessorCount>& 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<ProcessorCount>& 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()) {