mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 15:54:57 +01:00
Limit Wiimote surface discovery to 5 connection attempts
If you don't connect a Wiimote then the connection attempts were endless.
This commit is contained in:
parent
73d934bf43
commit
dafcaec023
1 changed files with 9 additions and 11 deletions
|
|
@ -208,11 +208,10 @@ WiimoteControlProtocol::connect_idle ()
|
||||||
{
|
{
|
||||||
DEBUG_TRACE (DEBUG::WiimoteControl, "WiimoteControlProtocol::connect_idle init\n");
|
DEBUG_TRACE (DEBUG::WiimoteControl, "WiimoteControlProtocol::connect_idle init\n");
|
||||||
|
|
||||||
bool retry = true;
|
bool retry = false;
|
||||||
|
|
||||||
if (connect_wiimote ()) {
|
if (connect_wiimote ()) {
|
||||||
stop_wiimote_discovery ();
|
stop_wiimote_discovery ();
|
||||||
retry = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DEBUG_TRACE (DEBUG::WiimoteControl, "WiimoteControlProtocol::connect_idle done\n");
|
DEBUG_TRACE (DEBUG::WiimoteControl, "WiimoteControlProtocol::connect_idle done\n");
|
||||||
|
|
@ -228,30 +227,29 @@ WiimoteControlProtocol::connect_wiimote ()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool success = true;
|
bool success = false;
|
||||||
|
|
||||||
// if we don't have a Wiimote yet, try to discover it; if that
|
// if we don't have a Wiimote yet, try to discover it; if that
|
||||||
// fails, wait for a short period of time and try again
|
// fails, wait for a short period of time and try again
|
||||||
if (!wiimote) {
|
for (int i = 0; i < 5; ++i) {
|
||||||
cerr << "Wiimote: Not discovered yet, press 1+2 to connect" << endl;
|
cerr << "Wiimote: Not discovered yet, press 1+2 to connect" << endl;
|
||||||
|
|
||||||
bdaddr_t bdaddr = {{ 0, 0, 0, 0, 0, 0 }};
|
bdaddr_t bdaddr = {{ 0, 0, 0, 0, 0, 0 }};
|
||||||
wiimote = cwiid_open (&bdaddr, 0);
|
wiimote = cwiid_open (&bdaddr, 0);
|
||||||
callback_thread_registered = false;
|
callback_thread_registered = false;
|
||||||
if (!wiimote) {
|
if (wiimote) {
|
||||||
success = false;
|
|
||||||
} else {
|
|
||||||
// a Wiimote was discovered
|
// a Wiimote was discovered
|
||||||
cerr << "Wiimote: Connected successfully" << endl;
|
cerr << "Wiimote: Connected successfully" << endl;
|
||||||
|
|
||||||
// attach the WiimoteControlProtocol object to the Wiimote handle
|
// attach the WiimoteControlProtocol object to the Wiimote handle
|
||||||
if (cwiid_set_data (wiimote, this)) {
|
if (cwiid_set_data (wiimote, this)) {
|
||||||
cerr << "Wiimote: Failed to attach control protocol" << endl;
|
cerr << "Wiimote: Failed to attach control protocol" << endl;
|
||||||
success = false;
|
} else {
|
||||||
|
success = true;
|
||||||
|
// clear the last button state to start processing events cleanly
|
||||||
|
button_state = 0;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// clear the last button state to start processing events cleanly
|
|
||||||
button_state = 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue