push2: prep for triggerbox property changes
This commit is contained in:
parent
f6cfa3c3e1
commit
a06ed85269
|
@ -357,6 +357,35 @@ CueLayout::viewport_changed ()
|
||||||
|
|
||||||
boost::shared_ptr<Route> r = _route[n];
|
boost::shared_ptr<Route> r = _route[n];
|
||||||
|
|
||||||
|
boost::shared_ptr<Push2::Button> lower_button;
|
||||||
|
|
||||||
|
switch (n) {
|
||||||
|
case 0:
|
||||||
|
lower_button = _p2.button_by_id (Push2::Lower1);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
lower_button = _p2.button_by_id (Push2::Lower2);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
lower_button = _p2.button_by_id (Push2::Lower3);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
lower_button = _p2.button_by_id (Push2::Lower4);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
lower_button = _p2.button_by_id (Push2::Lower5);
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
lower_button = _p2.button_by_id (Push2::Lower6);
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
lower_button = _p2.button_by_id (Push2::Lower7);
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
lower_button = _p2.button_by_id (Push2::Lower8);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (r) {
|
if (r) {
|
||||||
_route[n]->DropReferences.connect (_route_connections, invalidator (*this), boost::bind (&CueLayout::viewport_changed, this), &_p2);
|
_route[n]->DropReferences.connect (_route_connections, invalidator (*this), boost::bind (&CueLayout::viewport_changed, this), &_p2);
|
||||||
_route[n]->presentation_info().PropertyChanged.connect (_route_connections, invalidator (*this), boost::bind (&CueLayout::route_property_change, this, _1, n), &_p2);
|
_route[n]->presentation_info().PropertyChanged.connect (_route_connections, invalidator (*this), boost::bind (&CueLayout::route_property_change, this, _1, n), &_p2);
|
||||||
|
@ -398,57 +427,18 @@ CueLayout::viewport_changed ()
|
||||||
default:
|
default:
|
||||||
_controllables[n] = boost::shared_ptr<AutomationControl> ();
|
_controllables[n] = boost::shared_ptr<AutomationControl> ();
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
_lower_text[n]->set (std::string());
|
|
||||||
_controllables[n] = boost::shared_ptr<AutomationControl> ();
|
|
||||||
}
|
|
||||||
|
|
||||||
boost::shared_ptr<Push2::Button> b;
|
uint8_t color = _p2.get_color_index (r->presentation_info().color());
|
||||||
|
|
||||||
switch (n) {
|
lower_button->set_color (color);
|
||||||
case 0:
|
lower_button->set_state (Push2::LED::OneShot24th);
|
||||||
b = _p2.button_by_id (Push2::Lower1);
|
_p2.write (lower_button->state_msg());
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
b = _p2.button_by_id (Push2::Lower2);
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
b = _p2.button_by_id (Push2::Lower3);
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
b = _p2.button_by_id (Push2::Lower4);
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
b = _p2.button_by_id (Push2::Lower5);
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
b = _p2.button_by_id (Push2::Lower6);
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
b = _p2.button_by_id (Push2::Lower7);
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
b = _p2.button_by_id (Push2::Lower8);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t color;
|
|
||||||
|
|
||||||
if (r) {
|
|
||||||
color = _p2.get_color_index (r->presentation_info().color());
|
|
||||||
} else {
|
|
||||||
color = Push2::LED::Black;
|
|
||||||
}
|
|
||||||
|
|
||||||
b->set_color (color);
|
|
||||||
|
|
||||||
b->set_state (Push2::LED::OneShot24th);
|
|
||||||
_p2.write (b->state_msg());
|
|
||||||
|
|
||||||
if (r) {
|
|
||||||
boost::shared_ptr<TriggerBox> tb = r->triggerbox ();
|
boost::shared_ptr<TriggerBox> tb = r->triggerbox ();
|
||||||
|
|
||||||
/* total map size is only 64 so iterating over the whole thing is fine */
|
if (tb) {
|
||||||
|
tb->PropertyChanged.connect (_route_connections, invalidator (*this), boost::bind (&CueLayout::triggerbox_property_change, this, _1, n), &_p2);
|
||||||
|
}
|
||||||
|
|
||||||
for (int y = 0; y < 8; ++y) {
|
for (int y = 0; y < 8; ++y) {
|
||||||
boost::shared_ptr<Push2::Pad> pad = _p2.pad_by_xy (n, y);
|
boost::shared_ptr<Push2::Pad> pad = _p2.pad_by_xy (n, y);
|
||||||
|
@ -472,6 +462,10 @@ CueLayout::viewport_changed ()
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
_lower_text[n]->set (std::string());
|
||||||
|
lower_button->set_color (Push2::LED::Black);
|
||||||
|
_controllables[n] = boost::shared_ptr<AutomationControl> ();
|
||||||
|
|
||||||
/* turn this column off */
|
/* turn this column off */
|
||||||
|
|
||||||
for (int y = 0; y < 8; ++y) {
|
for (int y = 0; y < 8; ++y) {
|
||||||
|
@ -592,3 +586,9 @@ CueLayout::route_property_change (PropertyChange const& what_changed, uint32_t w
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
CueLayout::triggerbox_property_change (PropertyChange const& what_changed, uint32_t which)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
|
@ -98,6 +98,7 @@ class CueLayout : public Push2Layout
|
||||||
|
|
||||||
void routes_added ();
|
void routes_added ();
|
||||||
void route_property_change (PBD::PropertyChange const& what_changed, uint32_t which);
|
void route_property_change (PBD::PropertyChange const& what_changed, uint32_t which);
|
||||||
|
void triggerbox_property_change (PBD::PropertyChange const& what_changed, uint32_t which);
|
||||||
|
|
||||||
ArdourCanvas::Arc* _progress[8];
|
ArdourCanvas::Arc* _progress[8];
|
||||||
boost::shared_ptr<ARDOUR::AutomationControl> _controllables[8];
|
boost::shared_ptr<ARDOUR::AutomationControl> _controllables[8];
|
||||||
|
|
Loading…
Reference in New Issue
Block a user