remove unnecessary method
[ardour.git] / libs / surfaces / wiimote / wiimote.cc
index 963bf90df7e686e2759ffbebb2cf4ac594c784d8..df16bc05a5739aebb94d060ec2d9b08be8dbf9df 100644 (file)
@@ -24,7 +24,7 @@
 #include "pbd/error.h"
 #include "ardour/debug.h"
 #include "ardour/session.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 #include "wiimote.h"
 
@@ -164,7 +164,7 @@ WiimoteControlProtocol::thread_init ()
        pthread_set_name (X_("wiimote"));
 
        // allow to make requests to the GUI and RT thread(s)
-       PBD::notify_gui_about_thread_creation (X_("gui"), pthread_self (), X_("wiimote"), 2048);
+       PBD::notify_event_loops_about_thread_creation (pthread_self (), X_("wiimote"), 2048);
        BasicUI::register_thread ("wiimote");
 
        // connect a Wiimote
@@ -208,11 +208,10 @@ WiimoteControlProtocol::connect_idle ()
 {
        DEBUG_TRACE (DEBUG::WiimoteControl, "WiimoteControlProtocol::connect_idle init\n");
 
-       bool retry = true;
+       bool retry = false;
 
        if (connect_wiimote ()) {
                stop_wiimote_discovery ();
-               retry = false;
        }
 
        DEBUG_TRACE (DEBUG::WiimoteControl, "WiimoteControlProtocol::connect_idle done\n");
@@ -228,30 +227,29 @@ WiimoteControlProtocol::connect_wiimote ()
                return true;
        }
 
-       bool success = true;
+       bool success = false;
 
        // 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
-       if (!wiimote) {
+       for (int i = 0; i < 5; ++i) {
                cerr << "Wiimote: Not discovered yet, press 1+2 to connect" << endl;
 
                bdaddr_t bdaddr = {{ 0, 0, 0, 0, 0, 0 }};
                wiimote = cwiid_open (&bdaddr, 0);
                callback_thread_registered = false;
-               if (!wiimote) {
-                       success = false;
-               } else {
+               if (wiimote) {
                        // a Wiimote was discovered
                        cerr << "Wiimote: Connected successfully" << endl;
 
                        // attach the WiimoteControlProtocol object to the Wiimote handle
                        if (cwiid_set_data (wiimote, this)) {
                                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;
                }
        }
 
@@ -449,7 +447,7 @@ wiimote_control_protocol_mesg_callback (cwiid_wiimote_t *wiimote, int mesg_count
 {
        DEBUG_TRACE (DEBUG::WiimoteControl, "WiimoteControlProtocol::mesg_callback init\n");
 
-       WiimoteControlProtocol *protocol = (WiimoteControlProtocol *)cwiid_get_data (wiimote);
+       WiimoteControlProtocol *protocol = reinterpret_cast<WiimoteControlProtocol*> (const_cast<void*>(cwiid_get_data (wiimote)));
 
        if (protocol) {
                protocol->wiimote_callback (mesg_count, mesg);
@@ -457,3 +455,15 @@ wiimote_control_protocol_mesg_callback (cwiid_wiimote_t *wiimote, int mesg_count
 
        DEBUG_TRACE (DEBUG::WiimoteControl, "WiimoteControlProtocol::mesg_callback done\n");
 }
+
+
+void*
+WiimoteControlProtocol::request_factory (uint32_t num_requests)
+{
+       /* AbstractUI<T>::request_buffer_factory() is a template method only
+          instantiated in this source module. To provide something visible for
+          use in the interface/descriptor, we have this static method that is
+          template-free.
+       */
+       return request_buffer_factory (num_requests);
+}