FaderPort8::~FaderPort8 ()
{
cerr << "~FP8\n";
- stop_midi_handling ();
+ disconnected ();
close ();
if (_input_port) {
FaderPort8::disconnected ()
{
stop_midi_handling ();
- for (uint8_t id = 0; id < 8; ++id) {
- _ctrls.strip(id).unset_controllables ();
+ if (_device_active) {
+ for (uint8_t id = 0; id < 8; ++id) {
+ _ctrls.strip(id).unset_controllables ();
+ }
+ _ctrls.all_lights_off ();
}
}
}
/* initally turn all lights off */
- for (CtrlButtonMap::const_iterator i = _ctrlmap.begin (); i != _ctrlmap.end (); ++i) {
- i->second->set_active (false);
- }
+ all_lights_off ();
/* default modes */
button (BtnMaster).set_active (true);
FP8ButtonInterface::force_change = false;
}
+void
+FP8Controls::all_lights_off () const
+{
+ for (CtrlButtonMap::const_iterator i = _ctrlmap.begin (); i != _ctrlmap.end (); ++i) {
+ i->second->set_active (false);
+ }
+}
FP8ButtonInterface&
FP8Controls::button (ButtonId id)
bool midi_event (uint8_t id, uint8_t val);
bool midi_touch (uint8_t id, uint8_t val);
bool midi_fader (uint8_t id, unsigned short val);
+
void initialize ();
+ void all_lights_off () const;
void set_fader_mode (FP8Types::FaderMode);
protected: