#include "pbd/error.h"
#include "ardour/debug.h"
#include "ardour/session.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
#include "wiimote.h"
WiimoteControlProtocol::get_state ()
{
XMLNode& node (ControlProtocol::get_state());
- node.add_property (X_("feedback"), "0");
+ node.set_property (X_("feedback"), "0");
return node;
}
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
{
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");
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;
}
}
// B + Home = add marker at playhead
if (b & CWIID_BTN_HOME) {
- access_action ("Editor/add-location-from-playhead");
+ access_action ("Common/add-location-from-playhead");
}
// B + minus = move playhead to the start
// left = move playhead back a bit
if (b & CWIID_BTN_LEFT) {
- access_action ("Editor/nudge-playhead-backward");
+ access_action ("Common/nudge-playhead-backward");
}
// right = move playhead forward a bit
if (b & CWIID_BTN_RIGHT) {
- access_action ("Editor/nudge-playhead-forward");
+ access_action ("Common/nudge-playhead-forward");
}
// up = select previous track
{
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);
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);
+}