diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-11-24 23:13:02 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-11-24 23:13:02 -0500 |
commit | 2ea4d5c7b56d097c17d1688d499b98a4a7c5fc2d (patch) | |
tree | a3d0180b659497b4ee0f4ad3c608da64478c5301 /libs | |
parent | 34d847e0600f9570a534c6ecea89b03a9478c49a (diff) |
faderport: allow forcing LED state for use in ::all_lights_out()
Diffstat (limited to 'libs')
-rw-r--r-- | libs/surfaces/faderport/faderport.cc | 7 | ||||
-rw-r--r-- | libs/surfaces/faderport/faderport.h | 2 |
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; } |