Subscribe to pretty-port name changes (surfaces)
This commit is contained in:
parent
b2c4e71a45
commit
bbb6851468
@ -110,6 +110,7 @@ FaderPort::FaderPort (Session& s)
|
|||||||
|
|
||||||
/* Catch port connections and disconnections */
|
/* Catch port connections and disconnections */
|
||||||
ARDOUR::AudioEngine::instance()->PortConnectedOrDisconnected.connect (port_connection, MISSING_INVALIDATOR, boost::bind (&FaderPort::connection_handler, this, _1, _2, _3, _4, _5), this);
|
ARDOUR::AudioEngine::instance()->PortConnectedOrDisconnected.connect (port_connection, MISSING_INVALIDATOR, boost::bind (&FaderPort::connection_handler, this, _1, _2, _3, _4, _5), this);
|
||||||
|
ARDOUR::AudioEngine::instance()->PortPrettyNameChanged.connect (port_connection, MISSING_INVALIDATOR, boost::bind (&FaderPort::ConnectionChange, this), this); /* notify GUI */
|
||||||
|
|
||||||
buttons.insert (std::make_pair (Mute, Button (*this, _("Mute"), Mute, 21)));
|
buttons.insert (std::make_pair (Mute, Button (*this, _("Mute"), Mute, 21)));
|
||||||
buttons.insert (std::make_pair (Solo, Button (*this, _("Solo"), Solo, 22)));
|
buttons.insert (std::make_pair (Solo, Button (*this, _("Solo"), Solo, 22)));
|
||||||
|
@ -172,6 +172,7 @@ FaderPort8::FaderPort8 (Session& s)
|
|||||||
);
|
);
|
||||||
|
|
||||||
ARDOUR::AudioEngine::instance()->PortConnectedOrDisconnected.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::connection_handler, this, _2, _4), this);
|
ARDOUR::AudioEngine::instance()->PortConnectedOrDisconnected.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::connection_handler, this, _2, _4), this);
|
||||||
|
ARDOUR::AudioEngine::instance()->PortPrettyNameChanged.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::ConnectionChange, this), this); /* notify GUI */
|
||||||
ARDOUR::AudioEngine::instance()->Stopped.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::engine_reset, this), this);
|
ARDOUR::AudioEngine::instance()->Stopped.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::engine_reset, this), this);
|
||||||
ARDOUR::Port::PortDrop.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::engine_reset, this), this);
|
ARDOUR::Port::PortDrop.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::engine_reset, this), this);
|
||||||
|
|
||||||
|
@ -137,9 +137,10 @@ GenericMidiControlProtocol::GenericMidiControlProtocol (Session& s)
|
|||||||
PresentationInfo::Change.connect (*this, MISSING_INVALIDATOR, boost::bind (&GenericMidiControlProtocol::reset_controllables, this), this);
|
PresentationInfo::Change.connect (*this, MISSING_INVALIDATOR, boost::bind (&GenericMidiControlProtocol::reset_controllables, this), this);
|
||||||
|
|
||||||
/* Catch port connections and disconnections (cross-thread) */
|
/* Catch port connections and disconnections (cross-thread) */
|
||||||
ARDOUR::AudioEngine::instance()->PortConnectedOrDisconnected.connect (port_connection, MISSING_INVALIDATOR,
|
ARDOUR::AudioEngine::instance()->PortConnectedOrDisconnected.connect (port_connections, MISSING_INVALIDATOR,
|
||||||
boost::bind (&GenericMidiControlProtocol::connection_handler, this, _1, _2, _3, _4, _5),
|
boost::bind (&GenericMidiControlProtocol::connection_handler, this, _1, _2, _3, _4, _5),
|
||||||
this);
|
this);
|
||||||
|
ARDOUR::AudioEngine::instance()->PortConnectedOrDisconnected.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&GenericMidiControlProtocol::ConnectionChange, this), this); /* notify GUI */
|
||||||
|
|
||||||
reload_maps ();
|
reload_maps ();
|
||||||
}
|
}
|
||||||
|
@ -183,7 +183,7 @@ private:
|
|||||||
|
|
||||||
int connection_state;
|
int connection_state;
|
||||||
bool connection_handler (boost::weak_ptr<ARDOUR::Port>, std::string name1, boost::weak_ptr<ARDOUR::Port>, std::string name2, bool yn);
|
bool connection_handler (boost::weak_ptr<ARDOUR::Port>, std::string name1, boost::weak_ptr<ARDOUR::Port>, std::string name2, bool yn);
|
||||||
PBD::ScopedConnection port_connection;
|
PBD::ScopedConnectionList port_connections;
|
||||||
|
|
||||||
std::string _current_binding;
|
std::string _current_binding;
|
||||||
uint32_t _bank_size;
|
uint32_t _bank_size;
|
||||||
|
@ -103,7 +103,8 @@ LaunchControlXL::LaunchControlXL (ARDOUR::Session& s)
|
|||||||
ports_acquire ();
|
ports_acquire ();
|
||||||
|
|
||||||
/* Catch port connections and disconnections */
|
/* Catch port connections and disconnections */
|
||||||
ARDOUR::AudioEngine::instance()->PortConnectedOrDisconnected.connect (port_connection, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::connection_handler, this, _1, _2, _3, _4, _5), this);
|
ARDOUR::AudioEngine::instance()->PortConnectedOrDisconnected.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::connection_handler, this, _1, _2, _3, _4, _5), this);
|
||||||
|
ARDOUR::AudioEngine::instance()->PortPrettyNameChanged.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::ConnectionChange, this), this); /* notify GUI */
|
||||||
|
|
||||||
session->RouteAdded.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::stripables_added, this), lcxl);
|
session->RouteAdded.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::stripables_added, this), lcxl);
|
||||||
session->vca_manager().VCAAdded.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::stripables_added, this), lcxl);
|
session->vca_manager().VCAAdded.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::stripables_added, this), lcxl);
|
||||||
@ -115,7 +116,7 @@ LaunchControlXL::~LaunchControlXL ()
|
|||||||
|
|
||||||
/* do this before stopping the event loop, so that we don't get any notifications */
|
/* do this before stopping the event loop, so that we don't get any notifications */
|
||||||
port_reg_connection.disconnect ();
|
port_reg_connection.disconnect ();
|
||||||
port_connection.disconnect ();
|
port_connections.drop_connections ();
|
||||||
session_connections.drop_connections ();
|
session_connections.drop_connections ();
|
||||||
stripable_connections.drop_connections ();
|
stripable_connections.drop_connections ();
|
||||||
|
|
||||||
|
@ -640,7 +640,7 @@ private:
|
|||||||
bool connection_handler(boost::weak_ptr<ARDOUR::Port>, std::string name1,
|
bool connection_handler(boost::weak_ptr<ARDOUR::Port>, std::string name1,
|
||||||
boost::weak_ptr<ARDOUR::Port>, std::string name2,
|
boost::weak_ptr<ARDOUR::Port>, std::string name2,
|
||||||
bool yn);
|
bool yn);
|
||||||
PBD::ScopedConnection port_connection;
|
PBD::ScopedConnectionList port_connections;
|
||||||
void connected();
|
void connected();
|
||||||
|
|
||||||
/* GUI */
|
/* GUI */
|
||||||
|
@ -125,10 +125,13 @@ Push2::Push2 (ARDOUR::Session& s)
|
|||||||
ports_acquire ();
|
ports_acquire ();
|
||||||
|
|
||||||
/* catch arrival and departure of Push2 itself */
|
/* catch arrival and departure of Push2 itself */
|
||||||
ARDOUR::AudioEngine::instance()->PortRegisteredOrUnregistered.connect (port_reg_connection, MISSING_INVALIDATOR, boost::bind (&Push2::port_registration_handler, this), this);
|
ARDOUR::AudioEngine::instance()->PortRegisteredOrUnregistered.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&Push2::port_registration_handler, this), this);
|
||||||
|
|
||||||
/* Catch port connections and disconnections */
|
/* Catch port connections and disconnections */
|
||||||
ARDOUR::AudioEngine::instance()->PortConnectedOrDisconnected.connect (port_connection, MISSING_INVALIDATOR, boost::bind (&Push2::connection_handler, this, _1, _2, _3, _4, _5), this);
|
ARDOUR::AudioEngine::instance()->PortConnectedOrDisconnected.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&Push2::connection_handler, this, _1, _2, _3, _4, _5), this);
|
||||||
|
|
||||||
|
/* Catch name changes, notify GUI */
|
||||||
|
ARDOUR::AudioEngine::instance()->PortPrettyNameChanged.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&Push2::ConnectionChange, this), this);
|
||||||
|
|
||||||
/* Push 2 ports might already be there */
|
/* Push 2 ports might already be there */
|
||||||
port_registration_handler ();
|
port_registration_handler ();
|
||||||
@ -139,8 +142,7 @@ Push2::~Push2 ()
|
|||||||
DEBUG_TRACE (DEBUG::Push2, "push2 control surface object being destroyed\n");
|
DEBUG_TRACE (DEBUG::Push2, "push2 control surface object being destroyed\n");
|
||||||
|
|
||||||
/* do this before stopping the event loop, so that we don't get any notifications */
|
/* do this before stopping the event loop, so that we don't get any notifications */
|
||||||
port_reg_connection.disconnect ();
|
port_connections.drop_connections ();
|
||||||
port_connection.disconnect ();
|
|
||||||
|
|
||||||
stop_using_device ();
|
stop_using_device ();
|
||||||
device_release ();
|
device_release ();
|
||||||
|
@ -549,7 +549,6 @@ class Push2 : public ARDOUR::ControlProtocol
|
|||||||
|
|
||||||
boost::weak_ptr<ARDOUR::MidiTrack> current_pad_target;
|
boost::weak_ptr<ARDOUR::MidiTrack> current_pad_target;
|
||||||
|
|
||||||
PBD::ScopedConnection port_reg_connection;
|
|
||||||
void port_registration_handler ();
|
void port_registration_handler ();
|
||||||
|
|
||||||
enum ConnectionState {
|
enum ConnectionState {
|
||||||
@ -559,7 +558,7 @@ class Push2 : public ARDOUR::ControlProtocol
|
|||||||
|
|
||||||
int connection_state;
|
int connection_state;
|
||||||
bool connection_handler (boost::weak_ptr<ARDOUR::Port>, std::string name1, boost::weak_ptr<ARDOUR::Port>, std::string name2, bool yn);
|
bool connection_handler (boost::weak_ptr<ARDOUR::Port>, std::string name1, boost::weak_ptr<ARDOUR::Port>, std::string name2, bool yn);
|
||||||
PBD::ScopedConnection port_connection;
|
PBD::ScopedConnectionList port_connections;
|
||||||
void connected ();
|
void connected ();
|
||||||
|
|
||||||
/* GUI */
|
/* GUI */
|
||||||
|
Loading…
Reference in New Issue
Block a user