From c923ad25381aa21636abfab1290d88f08b76b845 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Mon, 27 Aug 2012 21:12:11 +0200 Subject: Thread changes... --- plugingui/plugingui.cc | 42 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) (limited to 'plugingui/plugingui.cc') diff --git a/plugingui/plugingui.cc b/plugingui/plugingui.cc index 71e71b4..a579e4f 100644 --- a/plugingui/plugingui.cc +++ b/plugingui/plugingui.cc @@ -112,14 +112,33 @@ PluginGUI::PluginGUI(DrumGizmo *drumgizmo) window = NULL; eventhandler = NULL; +#ifdef USE_THREAD + run(); +#else init(); +#endif/*USE_THREAD*/ +} + +void PluginGUI::thread_main() +{ + init(); + + while(true) { + eventhandler->processEvents(window); +#ifdef WIN32 + SleepEx(50, FALSE); +#else + usleep(50); +#endif/*WIN32*/ + // printf("."); fflush(stdout); + } } void PluginGUI::init() { gctx = new GUI::GlobalContext(); eventhandler = new GUI::EventHandler(gctx); - printf("%p\n", eventhandler); + // printf("%p\n", eventhandler); window = new GUI::Window(gctx); window->resize(640, 200); @@ -194,6 +213,8 @@ void PluginGUI::init() lbl3->setText("v"VERSION); lbl3->move(120, 180); lbl3->resize(70, 20); + + window->show(); } PluginGUI::~PluginGUI() @@ -212,7 +233,7 @@ void PluginGUI::show() // printf("PluginGUI::show()\n"); if(!shown && window) { shown = true; - window->show(); + //window->show(); } } @@ -224,8 +245,11 @@ void PluginGUI::hide() void PluginGUI::processEvents() { - // printf("PluginGUI::processEvents()\n"); +#ifdef USE_THREAD +#else + printf("PluginGUI::processEvents()\n"); eventhandler->processEvents(window); +#endif/*USE_THREAD*/ } void PluginGUI::setWindowClosedCallback(void (*handler)(void *), void *ptr) @@ -256,16 +280,18 @@ int main() bool running = true; PluginGUI gui(NULL); - gui.setWindowClosedCallback(stop, &running); + //gui.setWindowClosedCallback(stop, &running); - gui.show(); + // gui.show(); while(running) { - gui.processEvents(); + // gui.processEvents(); #ifdef WIN32 - SleepEx(100, FALSE); + SleepEx(1000, FALSE); + printf("loop\n"); #else - usleep(10000); + // usleep(10000); + sleep(1); #endif } -- cgit v1.2.3