diff options
author | Len Ovens <len@ovenwerks.net> | 2017-01-11 19:57:19 -0800 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2017-01-11 19:57:19 -0800 |
commit | c9715af5d9b505eb0e66fa514bcede4cc5bfd323 (patch) | |
tree | 89044647a68cf42940ed635c14e46e63650a5645 | |
parent | 90202f76757a171b1d53f44a44a45e26fed03de4 (diff) |
OSC: We want to see aux buses even if the gui has them hidden
-rw-r--r-- | libs/surfaces/osc/osc.cc | 13 | ||||
-rw-r--r-- | libs/surfaces/osc/osc.h | 2 |
2 files changed, 8 insertions, 7 deletions
diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc index d7e86d86b0..2a4b1b7d99 100644 --- a/libs/surfaces/osc/osc.cc +++ b/libs/surfaces/osc/osc.cc @@ -1386,7 +1386,8 @@ OSC::get_surface (lo_address addr) s.sel_obs = 0; s.expand = 0; s.expand_enable = false; - s.strips = get_sorted_stripables(s.strip_types); + s.cue = false; + s.strips = get_sorted_stripables(s.strip_types, s.cue); s.nstrips = s.strips.size(); _surface.push_back (s); @@ -1514,7 +1515,7 @@ OSC::_set_bank (uint32_t bank_start, lo_address addr) usleep ((uint32_t) 10); } - s->strips = get_sorted_stripables(s->strip_types); + s->strips = get_sorted_stripables(s->strip_types, s->cue); s->nstrips = s->strips.size(); uint32_t b_size; @@ -3667,7 +3668,7 @@ OSC::set_state (const XMLNode& node, int version) s.sel_obs = 0; s.expand = 0; s.expand_enable = false; - s.strips = get_sorted_stripables(s.strip_types); + s.strips = get_sorted_stripables(s.strip_types, s.cue); s.nstrips = s.strips.size(); _surface.push_back (s); } @@ -3699,7 +3700,7 @@ struct StripableByPresentationOrder }; OSC::Sorted -OSC::get_sorted_stripables(std::bitset<32> types) +OSC::get_sorted_stripables(std::bitset<32> types, bool cue) { Sorted sorted; @@ -3712,7 +3713,7 @@ OSC::get_sorted_stripables(std::bitset<32> types) for (StripableList::iterator it = stripables.begin(); it != stripables.end(); ++it) { boost::shared_ptr<Stripable> s = *it; - if ((!types[9]) && (s->presentation_info().flags() & PresentationInfo::Hidden)) { + if ((!cue) && (!types[9]) && (s->presentation_info().flags() & PresentationInfo::Hidden)) { // do nothing... skip it } else { @@ -3831,7 +3832,7 @@ OSC::_cue_set (uint32_t aux, lo_address addr) s->gainmode = 1; s->cue = true; s->aux = aux; - s->strips = get_sorted_stripables(s->strip_types); + s->strips = get_sorted_stripables(s->strip_types, s->cue); s->nstrips = s->strips.size(); // get rid of any old CueObsevers for this address diff --git a/libs/surfaces/osc/osc.h b/libs/surfaces/osc/osc.h index dbd603d247..134593b1e5 100644 --- a/libs/surfaces/osc/osc.h +++ b/libs/surfaces/osc/osc.h @@ -96,7 +96,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest> }; typedef std::vector<boost::shared_ptr<ARDOUR::Stripable> > Sorted; - Sorted get_sorted_stripables(std::bitset<32> types); + Sorted get_sorted_stripables(std::bitset<32> types, bool cue); // keep a surface's global setup by remote server url struct OSCSurface { |