faderport: generalized blink on/off code
This commit is contained in:
parent
0a54d28454
commit
900f59dcde
@ -533,6 +533,20 @@ FaderPort::set_active (bool yn)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
FaderPort::stop_blinking (ButtonID id)
|
||||||
|
{
|
||||||
|
blinkers.remove (id);
|
||||||
|
get_button (id).set_led_state (_output_port, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
FaderPort::start_blinking (ButtonID id)
|
||||||
|
{
|
||||||
|
blinkers.push_back (id);
|
||||||
|
get_button (id).set_led_state (_output_port, true);
|
||||||
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
FaderPort::blink ()
|
FaderPort::blink ()
|
||||||
{
|
{
|
||||||
@ -567,16 +581,13 @@ FaderPort::notify_record_state_changed ()
|
|||||||
{
|
{
|
||||||
switch (session->record_status()) {
|
switch (session->record_status()) {
|
||||||
case Session::Disabled:
|
case Session::Disabled:
|
||||||
get_button (RecEnable).set_led_state (_output_port, false);
|
stop_blinking (RecEnable);
|
||||||
blinkers.remove (RecEnable);
|
|
||||||
break;
|
break;
|
||||||
case Session::Enabled:
|
case Session::Enabled:
|
||||||
get_button (RecEnable).set_led_state (_output_port, true);
|
start_blinking (RecEnable);
|
||||||
blinkers.push_back (RecEnable);
|
|
||||||
break;
|
break;
|
||||||
case Session::Recording:
|
case Session::Recording:
|
||||||
get_button (RecEnable).set_led_state (_output_port, true);
|
stop_blinking (RecEnable);
|
||||||
blinkers.remove (RecEnable);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -601,10 +612,9 @@ FaderPort::parameter_changed (string what)
|
|||||||
get_button (Punch).set_led_state (_output_port, true);
|
get_button (Punch).set_led_state (_output_port, true);
|
||||||
blinkers.remove (Punch);
|
blinkers.remove (Punch);
|
||||||
} else if (in || out) {
|
} else if (in || out) {
|
||||||
blinkers.push_back (Punch);
|
start_blinking (Punch);
|
||||||
} else {
|
} else {
|
||||||
blinkers.remove (Punch);
|
stop_blinking (Punch);
|
||||||
get_button (Punch).set_led_state (_output_port, false);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1086,14 +1096,13 @@ FaderPort::map_cut ()
|
|||||||
|
|
||||||
if (mp) {
|
if (mp) {
|
||||||
bool yn = mp->cut_all ();
|
bool yn = mp->cut_all ();
|
||||||
get_button (Mute).set_led_state (_output_port, yn);
|
|
||||||
if (yn) {
|
if (yn) {
|
||||||
blinkers.push_back (Mute);
|
start_blinking (Mute);
|
||||||
} else {
|
} else {
|
||||||
blinkers.remove (Mute);
|
stop_blinking (Mute);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
blinkers.remove (Mute);
|
stop_blinking (Mute);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1180,11 +1189,9 @@ void
|
|||||||
FaderPort::map_route_state ()
|
FaderPort::map_route_state ()
|
||||||
{
|
{
|
||||||
if (!_current_route) {
|
if (!_current_route) {
|
||||||
get_button (Mute).set_led_state (_output_port, false);
|
stop_blinking (Mute);
|
||||||
get_button (Solo).set_led_state (_output_port, false);
|
stop_blinking (Solo);
|
||||||
get_button (Rec).set_led_state (_output_port, false);
|
get_button (Rec).set_led_state (_output_port, false);
|
||||||
blinkers.remove (Mute);
|
|
||||||
blinkers.remove (Solo);
|
|
||||||
} else {
|
} else {
|
||||||
/* arguments to these map_*() methods are all ignored */
|
/* arguments to these map_*() methods are all ignored */
|
||||||
map_mute (0);
|
map_mute (0);
|
||||||
|
@ -279,6 +279,8 @@ class FaderPort : public ARDOUR::ControlProtocol, public AbstractUI<FaderPortReq
|
|||||||
Blinkers blinkers;
|
Blinkers blinkers;
|
||||||
bool blink_state;
|
bool blink_state;
|
||||||
bool blink ();
|
bool blink ();
|
||||||
|
void start_blinking (ButtonID);
|
||||||
|
void stop_blinking (ButtonID);
|
||||||
|
|
||||||
void set_current_route (boost::shared_ptr<ARDOUR::Route>);
|
void set_current_route (boost::shared_ptr<ARDOUR::Route>);
|
||||||
void drop_current_route ();
|
void drop_current_route ();
|
||||||
|
Loading…
Reference in New Issue
Block a user