Make surfaces access Session signals through BasicUI accessors

This commit is contained in:
David Robillard 2021-06-16 00:58:07 -04:00
parent a48cddf235
commit ed27a9effb
15 changed files with 205 additions and 103 deletions

View file

@ -689,8 +689,8 @@ CC121::map_transport_state ()
void
CC121::connect_session_signals()
{
_session->RecordStateChanged.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&CC121::map_recenable_state, this), this);
_session->TransportStateChange.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&CC121::map_transport_state, this), this);
RecordStateChanged().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&CC121::map_recenable_state, this), this);
TransportStateChange().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&CC121::map_transport_state, this), this);
}
bool

View file

@ -870,3 +870,77 @@ BasicUI::locations ()
{
return _session->locations ();
}
/* Signals */
PBD::Signal0<void>&
BasicUI::BundleAddedOrRemoved ()
{
return _session->BundleAddedOrRemoved;
}
PBD::Signal0<void>&
BasicUI::DirtyChanged ()
{
return _session->DirtyChanged;
}
PBD::Signal2<void, std::string, std::string>&
BasicUI::Exported ()
{
return _session->Exported;
}
PBD::Signal1<void, bool>&
BasicUI::SoloActive ()
{
return _session->SoloActive;
}
PBD::Signal0<void>&
BasicUI::SoloChanged ()
{
return _session->SoloChanged;
}
PBD::Signal0<void>&
BasicUI::MuteChanged ()
{
return _session->MuteChanged;
}
PBD::Signal0<void>&
BasicUI::RecordStateChanged ()
{
return _session->RecordStateChanged;
}
PBD::Signal1<void, RouteList&>&
BasicUI::RouteAdded ()
{
return _session->RouteAdded;
}
PBD::Signal1<void, RouteGroup*>&
BasicUI::RouteGroupPropertyChanged ()
{
return _session->RouteGroupPropertyChanged;
}
PBD::Signal1<void, std::string>&
BasicUI::StateSaved ()
{
return _session->StateSaved;
}
PBD::Signal0<void>&
BasicUI::TransportLooped ()
{
return _session->TransportLooped;
}
PBD::Signal0<void>&
BasicUI::TransportStateChange ()
{
return _session->TransportStateChange;
}

View file

@ -39,16 +39,18 @@
namespace ARDOUR {
class Locations;
class RouteGroup;
class Session;
class SessionConfiguration;
class Stripable;
class LIBCONTROLCP_API BasicUI {
public:
class LIBCONTROLCP_API BasicUI
{
public:
BasicUI (Session&);
virtual ~BasicUI ();
void add_marker (const std::string& = std::string());
void add_marker (const std::string& = std::string ());
void remove_marker_at_playhead ();
void register_thread (std::string name);
@ -70,7 +72,7 @@ class LIBCONTROLCP_API BasicUI {
void set_transport_speed (double speed);
double get_transport_speed () const;
bool transport_rolling() const;
bool transport_rolling () const;
bool transport_stopped_or_stopping () const;
bool get_play_loop () const;
@ -79,10 +81,11 @@ class LIBCONTROLCP_API BasicUI {
void jump_by_beats (int beats, LocateTransportDisposition ltd = RollIfAppropriate);
samplepos_t transport_sample () const;
void locate (samplepos_t sample, LocateTransportDisposition ltd = RollIfAppropriate);
void locate (samplepos_t sample, bool);
bool locating ();
bool locked ();
void locate (samplepos_t sample,
LocateTransportDisposition ltd = RollIfAppropriate);
void locate (samplepos_t sample, bool);
bool locating ();
bool locked ();
samplepos_t engine_sample_time ();
@ -94,15 +97,15 @@ class LIBCONTROLCP_API BasicUI {
void toggle_punch_in ();
void toggle_punch_out ();
void mark_in();
void mark_out();
void mark_in ();
void mark_out ();
void toggle_click();
void midi_panic();
void toggle_click ();
void midi_panic ();
void toggle_monitor_mute();
void toggle_monitor_dim();
void toggle_monitor_mono();
void toggle_monitor_mute ();
void toggle_monitor_dim ();
void toggle_monitor_mono ();
std::vector<boost::weak_ptr<AutomationControl>> cancel_all_mute ();
@ -111,43 +114,46 @@ class LIBCONTROLCP_API BasicUI {
void quick_snapshot_stay ();
void quick_snapshot_switch ();
void toggle_roll(bool roll_out_of_bounded_mode=true); //this provides the same operation as the "spacebar", it's a lot smarter than "play".
void toggle_roll (bool roll_out_of_bounded_mode =
true); // this provides the same operation as the
// "spacebar", it's a lot smarter than "play".
void stop_forget();
void stop_forget ();
void set_punch_range();
void set_loop_range();
void set_session_range();
void set_punch_range ();
void set_loop_range ();
void set_session_range ();
void set_record_enable (bool yn);
bool get_record_enabled ();
RecordState record_status() const;
void set_record_enable (bool yn);
bool get_record_enabled ();
RecordState record_status () const;
bool have_rec_enabled_track () const;
//editor visibility stuff (why do we have to make explicit numbers here? because "gui actions" don't accept args
void fit_1_track();
void fit_2_tracks();
void fit_4_tracks();
void fit_8_tracks();
void fit_16_tracks();
void fit_32_tracks();
void fit_all_tracks();
void zoom_10_ms();
void zoom_100_ms();
void zoom_1_sec();
void zoom_10_sec();
void zoom_1_min();
void zoom_5_min();
void zoom_10_min();
void zoom_to_session();
void temporal_zoom_in();
void temporal_zoom_out();
// editor visibility stuff (why do we have to make explicit numbers here?
// because "gui actions" don't accept args
void fit_1_track ();
void fit_2_tracks ();
void fit_4_tracks ();
void fit_8_tracks ();
void fit_16_tracks ();
void fit_32_tracks ();
void fit_all_tracks ();
void zoom_10_ms ();
void zoom_100_ms ();
void zoom_1_sec ();
void zoom_10_sec ();
void zoom_1_min ();
void zoom_5_min ();
void zoom_10_min ();
void zoom_to_session ();
void temporal_zoom_in ();
void temporal_zoom_out ();
void scroll_up_1_track();
void scroll_dn_1_track();
void scroll_up_1_page();
void scroll_dn_1_page();
void scroll_up_1_track ();
void scroll_dn_1_track ();
void scroll_up_1_page ();
void scroll_dn_1_page ();
void rec_enable_toggle ();
void toggle_all_rec_enables ();
@ -160,14 +166,20 @@ class LIBCONTROLCP_API BasicUI {
samplecnt_t timecode_frames_per_hour ();
void timecode_time (samplepos_t where, Timecode::Time&);
void timecode_to_sample (Timecode::Time& timecode, samplepos_t & sample, bool use_offset, bool use_subframes) const;
void sample_to_timecode (samplepos_t sample, Timecode::Time& timecode, bool use_offset, bool use_subframes) const;
void timecode_to_sample (Timecode::Time& timecode,
samplepos_t& sample,
bool use_offset,
bool use_subframes) const;
void sample_to_timecode (samplepos_t sample,
Timecode::Time& timecode,
bool use_offset,
bool use_subframes) const;
bool stop_button_onoff() const;
bool play_button_onoff() const;
bool ffwd_button_onoff() const;
bool rewind_button_onoff() const;
bool loop_button_onoff() const;
bool stop_button_onoff () const;
bool play_button_onoff () const;
bool ffwd_button_onoff () const;
bool rewind_button_onoff () const;
bool loop_button_onoff () const;
/* Naming */
@ -188,6 +200,21 @@ class LIBCONTROLCP_API BasicUI {
const Locations* locations () const;
Locations* locations ();
/* Signals */
PBD::Signal0<void>& BundleAddedOrRemoved ();
PBD::Signal0<void>& DirtyChanged ();
PBD::Signal2<void, std::string, std::string>& Exported ();
PBD::Signal1<void, bool>& SoloActive ();
PBD::Signal0<void>& SoloChanged ();
PBD::Signal0<void>& MuteChanged ();
PBD::Signal0<void>& RecordStateChanged ();
PBD::Signal1<void, RouteList&>& RouteAdded ();
PBD::Signal1<void, RouteGroup*>& RouteGroupPropertyChanged ();
PBD::Signal1<void, std::string>& StateSaved ();
PBD::Signal0<void>& TransportLooped ();
PBD::Signal0<void>& TransportStateChange ();
protected:
Session* _session;
};

View file

@ -722,8 +722,8 @@ FaderPort::parameter_changed (string what)
void
FaderPort::connect_session_signals()
{
_session->RecordStateChanged.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort::map_recenable_state, this), this);
_session->TransportStateChange.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort::map_transport_state, this), this);
RecordStateChanged().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort::map_recenable_state, this), this);
TransportStateChange().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort::map_transport_state, this), this);
/* not session, but treat it similarly */
config ().ParameterChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort::parameter_changed, this, _1), this);
}

View file

@ -38,19 +38,20 @@ using namespace ArdourSurface::FP_NAMESPACE::FP8Types;
void
FaderPort8::connect_session_signals ()
{
_session->RouteAdded.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_stripable_added_or_removed, this), this);
PresentationInfo::Change.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_pi_property_changed, this, _1), this);
RouteAdded().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_stripable_added_or_removed, this), this);
PresentationInfo::Change.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_pi_property_changed, this, _1), this);
Config->ParameterChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_parameter_changed, this, _1), this);
config ().ParameterChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_parameter_changed, this, _1), this);
_session->TransportStateChange.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_transport_state_changed, this), this);
_session->TransportLooped.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_loop_state_changed, this), this);
_session->RecordStateChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_record_state_changed, this), this);
TransportStateChange ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_transport_state_changed, this), this);
TransportLooped ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_loop_state_changed, this), this);
RecordStateChanged ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_record_state_changed, this), this);
DirtyChanged ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_session_dirty_changed, this), this);
SoloChanged ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_solo_changed, this), this);
MuteChanged ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_mute_changed, this), this);
_session->DirtyChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_session_dirty_changed, this), this);
_session->SoloChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_solo_changed, this), this);
_session->MuteChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_mute_changed, this), this);
_session->history().Changed.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_history_changed, this), this);
}

View file

@ -108,7 +108,7 @@ GenericMidiControlProtocol::GenericMidiControlProtocol (Session& s)
make_port_name_non_relative (outp->name())
);
_session->BundleAddedOrRemoved ();
BundleAddedOrRemoved ();
do_feedback = false;
_feedback_interval = 10000; // microseconds

View file

@ -105,7 +105,7 @@ LaunchControlXL::LaunchControlXL (ARDOUR::Session& s)
/* 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);
_session->RouteAdded.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::stripables_added, this), lcxl);
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);
}
@ -214,7 +214,7 @@ LaunchControlXL::ports_acquire ()
_input_port = boost::dynamic_pointer_cast<AsyncMIDIPort>(_async_in).get();
_output_port = boost::dynamic_pointer_cast<AsyncMIDIPort>(_async_out).get();
_session->BundleAddedOrRemoved ();
BundleAddedOrRemoved ();
connect_to_parser ();
@ -694,16 +694,16 @@ void
LaunchControlXL::connect_session_signals()
{
// receive transport state changed
_session->TransportStateChange.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::notify_transport_state_changed, this), this);
_session->TransportLooped.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::notify_loop_state_changed, this), this);
TransportStateChange ().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::notify_transport_state_changed, this), this);
TransportLooped ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::notify_loop_state_changed, this), this);
// receive punch-in and punch-out
Config->ParameterChanged.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::notify_parameter_changed, this, _1), this);
config ().ParameterChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::notify_parameter_changed, this, _1), this);
// receive rude solo changed
//_session->SoloActive.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::notify_solo_active_changed, this, _1), this);
//SoloActive ().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::notify_solo_active_changed, this, _1), this);
// receive record state toggled
//_session->RecordStateChanged.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::notify_record_state_changed, this), this);
//RecordStateChanged ().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&LaunchControlXL::notify_record_state_changed, this), this);
}

View file

@ -740,20 +740,20 @@ void
MackieControlProtocol::connect_session_signals()
{
// receive routes added
_session->RouteAdded.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_routes_added, this, _1), this);
RouteAdded().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_routes_added, this, _1), this);
// receive VCAs added
_session->vca_manager().VCAAdded.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_vca_added, this, _1), this);
// receive record state toggled
_session->RecordStateChanged.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_record_state_changed, this), this);
RecordStateChanged ().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_record_state_changed, this), this);
// receive transport state changed
_session->TransportStateChange.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_transport_state_changed, this), this);
_session->TransportLooped.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_loop_state_changed, this), this);
TransportStateChange ().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_transport_state_changed, this), this);
TransportLooped ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_loop_state_changed, this), this);
// receive punch-in and punch-out
Config->ParameterChanged.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_parameter_changed, this, _1), this);
config ().ParameterChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_parameter_changed, this, _1), this);
// receive rude solo changed
_session->SoloActive.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_solo_active_changed, this, _1), this);
SoloActive().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_solo_active_changed, this, _1), this);
_session->MonitorBusAddedOrRemoved.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_monitor_added_or_removed, this), this);
@ -989,7 +989,7 @@ MackieControlProtocol::create_surfaces ()
}
}
_session->BundleAddedOrRemoved ();
BundleAddedOrRemoved ();
assert (_master_surface);

View file

@ -40,12 +40,12 @@ Maschine2::connect_signals ()
// TODO: use some convenience macros here
/* Signals */
_session->TransportStateChange.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&Maschine2::notify_transport_state_changed, this), this);
_session->TransportLooped.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&Maschine2::notify_loop_state_changed, this), this);
_session->RecordStateChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&Maschine2::notify_record_state_changed, this), this);
TransportStateChange ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&Maschine2::notify_transport_state_changed, this), this);
TransportLooped ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&Maschine2::notify_loop_state_changed, this), this);
RecordStateChanged ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&Maschine2::notify_record_state_changed, this), this);
Config->ParameterChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&Maschine2::notify_parameter_changed, this, _1), this);
config ().ParameterChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&Maschine2::notify_parameter_changed, this, _1), this);
_session->DirtyChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&Maschine2::notify_session_dirty_changed, this), this);
DirtyChanged ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&Maschine2::notify_session_dirty_changed, this), this);
_session->history().Changed.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&Maschine2::notify_history_changed, this), this);
/* Actions */

View file

@ -124,7 +124,7 @@ OSC::OSC (Session& s, uint32_t port)
{
_instance = this;
_session->Exported.connect (*this, MISSING_INVALIDATOR, boost::bind (&OSC::session_exported, this, _1, _2), this);
Exported().connect (*this, MISSING_INVALIDATOR, boost::bind (&OSC::session_exported, this, _1, _2), this);
}
OSC::~OSC()
@ -268,7 +268,7 @@ OSC::start ()
// catch track reordering
// receive routes added
_session->RouteAdded.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&OSC::notify_routes_added, this, _1), this);
RouteAdded().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&OSC::notify_routes_added, this, _1), this);
// receive VCAs added
_session->vca_manager().VCAAdded.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&OSC::notify_vca_added, this, _1), this);
// order changed

View file

@ -110,17 +110,17 @@ OSCGlobalObserver::OSCGlobalObserver (OSC& o, Session& s, ArdourSurface::OSC::OS
}
//Transport feedback
session->TransportStateChange.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&OSCGlobalObserver::send_transport_state_changed, this), OSC::instance());
_osc.TransportStateChange().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&OSCGlobalObserver::send_transport_state_changed, this), OSC::instance());
send_transport_state_changed ();
session->TransportLooped.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&OSCGlobalObserver::send_transport_state_changed, this), OSC::instance());
session->RecordStateChanged.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&OSCGlobalObserver::send_record_state_changed, this), OSC::instance());
_osc.TransportLooped().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&OSCGlobalObserver::send_transport_state_changed, this), OSC::instance());
_osc.RecordStateChanged().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&OSCGlobalObserver::send_record_state_changed, this), OSC::instance());
send_record_state_changed ();
marks_changed ();
// session feedback
session->StateSaved.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&OSCGlobalObserver::session_name, this, X_("/session_name"), _1), OSC::instance());
_osc.StateSaved().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&OSCGlobalObserver::session_name, this, X_("/session_name"), _1), OSC::instance());
session_name (X_("/session_name"), session->snap_name());
session->SoloActive.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&OSCGlobalObserver::solo_active, this, _1), OSC::instance());
_osc.SoloActive().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&OSCGlobalObserver::solo_active, this, _1), OSC::instance());
solo_active (session->soloing() || session->listening());
boost::shared_ptr<Controllable> click_controllable = boost::dynamic_pointer_cast<Controllable>(session->click_gain()->gain_control());

View file

@ -151,7 +151,7 @@ OSCSelectObserver::refresh_strip (boost::shared_ptr<ARDOUR::Stripable> new_strip
rt->comment_changed.connect (strip_connections, MISSING_INVALIDATOR, boost::bind (&OSCSelectObserver::comment_changed, this), OSC::instance());
comment_changed ();
session->RouteGroupPropertyChanged.connect (strip_connections, MISSING_INVALIDATOR, boost::bind (&OSCSelectObserver::group_sharing, this, _1), OSC::instance());
_osc.RouteGroupPropertyChanged().connect (strip_connections, MISSING_INVALIDATOR, boost::bind (&OSCSelectObserver::group_sharing, this, _1), OSC::instance());
group_sharing (rt->route_group ());
boost::shared_ptr<PannerShell> pan_sh = rt->panner_shell();

View file

@ -270,7 +270,7 @@ Push2::ports_acquire ()
);
}
_session->BundleAddedOrRemoved ();
BundleAddedOrRemoved ();
connect_to_parser ();
@ -861,20 +861,20 @@ void
Push2::connect_session_signals()
{
// receive routes added
//_session->RouteAdded.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_routes_added, this, _1), this);
//RouteAdded().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&MackieControlProtocol::notify_routes_added, this, _1), this);
// receive VCAs added
//_session->vca_manager().VCAAdded.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&Push2::notify_vca_added, this, _1), this);
// receive record state toggled
_session->RecordStateChanged.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&Push2::notify_record_state_changed, this), this);
RecordStateChanged ().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&Push2::notify_record_state_changed, this), this);
// receive transport state changed
_session->TransportStateChange.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&Push2::notify_transport_state_changed, this), this);
_session->TransportLooped.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&Push2::notify_loop_state_changed, this), this);
TransportStateChange ().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&Push2::notify_transport_state_changed, this), this);
TransportLooped ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&Push2::notify_loop_state_changed, this), this);
// receive punch-in and punch-out
Config->ParameterChanged.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&Push2::notify_parameter_changed, this, _1), this);
config ().ParameterChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&Push2::notify_parameter_changed, this, _1), this);
// receive rude solo changed
_session->SoloActive.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&Push2::notify_solo_active_changed, this, _1), this);
SoloActive ().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&Push2::notify_solo_active_changed, this, _1), this);
}
void

View file

@ -634,20 +634,20 @@ void
US2400Protocol::connect_session_signals()
{
// receive routes added
_session->RouteAdded.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&US2400Protocol::notify_routes_added, this, _1), this);
RouteAdded ().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&US2400Protocol::notify_routes_added, this, _1), this);
// receive VCAs added
_session->vca_manager().VCAAdded.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&US2400Protocol::notify_vca_added, this, _1), this);
// receive record state toggled
_session->RecordStateChanged.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&US2400Protocol::notify_record_state_changed, this), this);
RecordStateChanged ().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&US2400Protocol::notify_record_state_changed, this), this);
// receive transport state changed
_session->TransportStateChange.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&US2400Protocol::notify_transport_state_changed, this), this);
_session->TransportLooped.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&US2400Protocol::notify_loop_state_changed, this), this);
TransportStateChange ().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&US2400Protocol::notify_transport_state_changed, this), this);
TransportLooped ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&US2400Protocol::notify_loop_state_changed, this), this);
// receive punch-in and punch-out
Config->ParameterChanged.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&US2400Protocol::notify_parameter_changed, this, _1), this);
config ().ParameterChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&US2400Protocol::notify_parameter_changed, this, _1), this);
// receive rude solo changed
_session->SoloActive.connect(session_connections, MISSING_INVALIDATOR, boost::bind (&US2400Protocol::notify_solo_active_changed, this, _1), this);
SoloActive ().connect(session_connections, MISSING_INVALIDATOR, boost::bind (&US2400Protocol::notify_solo_active_changed, this, _1), this);
// make sure remote id changed signals reach here
// see also notify_stripable_added
@ -822,7 +822,7 @@ US2400Protocol::create_surfaces ()
(*s)->port().reconnect ();
}
_session->BundleAddedOrRemoved ();
BundleAddedOrRemoved ();
assert (_master_surface);

View file

@ -118,8 +118,8 @@ WiimoteControlProtocol::start ()
DEBUG_TRACE (DEBUG::WiimoteControl, "WiimoteControlProtocol::start init\n");
// update LEDs whenever the transport or recording state changes
_session->TransportStateChange.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&WiimoteControlProtocol::update_led_state, this), this);
_session->RecordStateChanged.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&WiimoteControlProtocol::update_led_state, this), this);
TransportStateChange ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&WiimoteControlProtocol::update_led_state, this), this);
RecordStateChanged ().connect (session_connections, MISSING_INVALIDATOR, boost::bind (&WiimoteControlProtocol::update_led_state, this), this);
// start the Wiimote control UI; it will run in its own thread context
BaseUI::run ();