click reset error fixed, plus some older work on sends+panners i/o counts
authorPaul Davis <paul@linuxaudiosystems.com>
Tue, 11 Sep 2007 11:27:59 +0000 (11:27 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 11 Sep 2007 11:27:59 +0000 (11:27 +0000)
git-svn-id: svn://localhost/ardour2/trunk@2456 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/ardour/send.h
libs/ardour/route.cc
libs/ardour/send.cc
libs/ardour/session_click.cc

index 018df96be4afd51cffa196a4b81661abbef8ec1a..1ee8bbceca3890c33a1a1a30311f134876e27eef 100644 (file)
@@ -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;
 };
 
index 0453129f75ffe202d228dd63b81de791e0a03bf4..3cf8fdc985528bdc5baada9f060009be62d0a63c 100644 (file)
@@ -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;
index 929b1fc9a831b489ac95fd25a9597b2492ea5933..52184dece1e07551d47f70998155af77d8f890ec 100644 (file)
@@ -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;
 }
+
+
index fb51f22564a9b90e6ba8f1b46f9fd0e4d4ef6fcc..7161de6d78fa6d2f84c6b823702ce79ebad3be40 100644 (file)
@@ -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()) {