summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-11-24 23:13:02 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-11-24 23:13:02 -0500
commit2ea4d5c7b56d097c17d1688d499b98a4a7c5fc2d (patch)
treea3d0180b659497b4ee0f4ad3c608da64478c5301 /libs
parent34d847e0600f9570a534c6ecea89b03a9478c49a (diff)
faderport: allow forcing LED state for use in ::all_lights_out()
Diffstat (limited to 'libs')
-rw-r--r--libs/surfaces/faderport/faderport.cc7
-rw-r--r--libs/surfaces/faderport/faderport.h2
2 files changed, 4 insertions, 5 deletions
diff --git a/libs/surfaces/faderport/faderport.cc b/libs/surfaces/faderport/faderport.cc
index 02b95a4743..2b447095fc 100644
--- a/libs/surfaces/faderport/faderport.cc
+++ b/libs/surfaces/faderport/faderport.cc
@@ -234,8 +234,7 @@ void
FaderPort::all_lights_out ()
{
for (ButtonMap::iterator b = buttons.begin(); b != buttons.end(); ++b) {
- b->second.set_led_state (_output_port, false);
- g_usleep (1000);
+ b->second.set_led_state (_output_port, false, true);
}
}
@@ -734,9 +733,9 @@ FaderPort::ButtonInfo::set_action (boost::function<void()> f, bool when_pressed,
}
void
-FaderPort::ButtonInfo::set_led_state (boost::shared_ptr<MIDI::Port> port, int onoff)
+FaderPort::ButtonInfo::set_led_state (boost::shared_ptr<MIDI::Port> port, int onoff, bool force)
{
- if (led_on == (bool) onoff) {
+ if (!force && (led_on == (bool) onoff)) {
/* nothing to do */
return;
}
diff --git a/libs/surfaces/faderport/faderport.h b/libs/surfaces/faderport/faderport.h
index a0b23b9627..94ac2dcfed 100644
--- a/libs/surfaces/faderport/faderport.h
+++ b/libs/surfaces/faderport/faderport.h
@@ -230,7 +230,7 @@ class FaderPort : public ARDOUR::ControlProtocol, public AbstractUI<FaderPortReq
void set_action (std::string const& action_name, bool on_press, FaderPort::ButtonState = ButtonState (0));
void set_action (boost::function<void()> function, bool on_press, FaderPort::ButtonState = ButtonState (0));
- void set_led_state (boost::shared_ptr<MIDI::Port>, int onoff);
+ void set_led_state (boost::shared_ptr<MIDI::Port>, int onoff, bool force = false);
void invoke (ButtonState bs, bool press);
bool uses_flash () const { return flash; }
void set_flash (bool yn) { flash = yn; }