remove semantic-free Panner::Changed signal; make mackie code pay attention to actual pan controls; make GUI watch PannerShell::Changed for news that the currently chosen panner has changed or changed configuration

git-svn-id: svn://localhost/ardour2/branches/3.0@8924 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis
2011-02-22 18:44:22 +00:00
parent 14277ff831
commit 75abb09f32
9 changed files with 33 additions and 30 deletions

View File

@@ -140,8 +140,7 @@ class Panner : public PBD::Stateful, public PBD::ScopedConnectionList
framepos_t start, framepos_t end, pframes_t nframes,
pan_t** buffers);
PBD::Signal0<void> Changed; /* for positional info */
PBD::Signal0<void> StateChanged; /* for mute */
PBD::Signal0<void> StateChanged;
int set_state (const XMLNode&, int version);
virtual XMLNode& state (bool full_state) = 0;

View File

@@ -85,13 +85,7 @@ PannerShell::configure_io (ChanCount in, ChanCount out)
the config hasn't changed, we're done.
*/
cerr << "PShell: reconfigure for in = " << in << " out = " << out;
if (_panner) {
cerr << " current panner = " << _panner->in() << " and " << _panner->out();
}
cerr << endl;
if (_panner && _panner->in().n_audio() == nins && _panner->out().n_audio() == nouts) {
if (_panner && (_panner->in().n_audio() == nins) && (_panner->out().n_audio() == nouts)) {
return;
}
@@ -121,7 +115,6 @@ PannerShell::configure_io (ChanCount in, ChanCount out)
speakers.reset (s);
}
cerr << "Creating a new panner\n";
Panner* p = pi->descriptor.factory (_pannable, speakers);
boost_debug_shared_ptr_mark_interesting (p, "Panner");
_panner.reset (p);

View File

@@ -20,7 +20,7 @@
#include "ardour/route.h"
#include "ardour/track.h"
#include "ardour/midi_ui.h"
#include "ardour/panner.h"
#include "ardour/pannable.h"
#include "ardour/session_object.h" // for Properties::name
#include "mackie_control_protocol.h"
@@ -50,8 +50,9 @@ void RouteSignal::connect()
_route->PropertyChanged.connect (connections, MISSING_INVALIDATOR, ui_bind (&MackieControlProtocol::notify_property_changed, &_mcp, _1, this), midi_ui_context());
if (_route->panner()) {
_route->panner()->Changed.connect(connections, MISSING_INVALIDATOR, ui_bind (&MackieControlProtocol::notify_panner_changed, &_mcp, this, false), midi_ui_context());
if (_route->pannable()) {
_route->pannable()->pan_azimuth_control->Changed.connect(connections, MISSING_INVALIDATOR, ui_bind (&MackieControlProtocol::notify_panner_changed, &_mcp, this, false), midi_ui_context());
_route->pannable()->pan_width_control->Changed.connect(connections, MISSING_INVALIDATOR, ui_bind (&MackieControlProtocol::notify_panner_changed, &_mcp, this, false), midi_ui_context());
}
boost::shared_ptr<Track> trk = boost::dynamic_pointer_cast<ARDOUR::Track>(_route);