summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-05-09 14:48:36 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-06-29 14:18:11 -0400
commit33d1d8a6c1b96b1d592f422b9f612702a2311ba5 (patch)
tree6763cd83b374b7d364dbc2b66bdce319f8525a57 /libs
parent18415ba6cdfafee0ee52597a0e79b40a63b3f119 (diff)
change names for scene I/O port connection methods
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/session.cc56
1 files changed, 32 insertions, 24 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 39ddbce1ad..2647e5cd38 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -2610,35 +2610,43 @@ Session::reconnect_existing_routes (bool withLock, bool reconnect_master, bool r
void
Session::reconnect_midi_scene_ports(bool inputs)
{
- if (inputs) {
- scene_in()->disconnect_all ();
+ if (inputs ) {
- std::vector<EngineStateController::MidiPortState> midi_port_states;
- EngineStateController::instance()->get_physical_midi_input_states (midi_port_states);
-
- std::vector<EngineStateController::MidiPortState>::iterator state_iter = midi_port_states.begin();
-
- for (; state_iter != midi_port_states.end(); ++state_iter) {
- if (state_iter->active && state_iter->available && state_iter->connected) {
- scene_in()->connect (state_iter->name);
- }
- }
-
- } else {
- scene_out()->disconnect_all ();
+ boost::shared_ptr<MidiPort> scene_in_ptr = scene_in();
+ if (scene_in_ptr) {
+ scene_in_ptr->disconnect_all ();
+
+ std::vector<EngineStateController::MidiPortState> midi_port_states;
+ EngineStateController::instance()->get_physical_midi_input_states (midi_port_states);
+
+ std::vector<EngineStateController::MidiPortState>::iterator state_iter = midi_port_states.begin();
+
+ for (; state_iter != midi_port_states.end(); ++state_iter) {
+ if (state_iter->active && state_iter->available && state_iter->scene_connected) {
+ scene_in_ptr->connect (state_iter->name);
+ }
+ }
+ }
- std::vector<EngineStateController::MidiPortState> midi_port_states;
- EngineStateController::instance()->get_physical_midi_output_states (midi_port_states);
+ } else {
- std::vector<EngineStateController::MidiPortState>::iterator state_iter = midi_port_states.begin();
+ boost::shared_ptr<MidiPort> scene_out_ptr = scene_out();
- for (; state_iter != midi_port_states.end(); ++state_iter) {
- if (state_iter->active && state_iter->available && state_iter->connected) {
- scene_out()->connect (state_iter->name);
- }
- }
+ if (scene_out_ptr ) {
+ scene_out_ptr->disconnect_all ();
- }
+ std::vector<EngineStateController::MidiPortState> midi_port_states;
+ EngineStateController::instance()->get_physical_midi_output_states (midi_port_states);
+
+ std::vector<EngineStateController::MidiPortState>::iterator state_iter = midi_port_states.begin();
+
+ for (; state_iter != midi_port_states.end(); ++state_iter) {
+ if (state_iter->active && state_iter->available && state_iter->scene_connected) {
+ scene_out_ptr->connect (state_iter->name);
+ }
+ }
+ }
+ }
}
#endif