void SonicPiUDPOSCServer::start(){ std::cout << "[GUI] - starting UDP OSC Server on port 4558..." << std::endl; int PORT_NUM = 4558; oscpkt::UdpSocket sock; sock.bindTo(PORT_NUM); if (!sock.isOk()) { std::cout << "[GUI] - unable to listen to UDP OSC messages on port 4558" << std::endl; parent->invokeStartupError(tr("Is Sonic Pi already running? Can't open UDP port 4558.")); return; } std::cout << "[GUI] - UDP OSC Server ready and listening" << std::endl << std::flush; osc_incoming_port_open = true; while (sock.isOk() && continueListening()) { if (sock.receiveNextPacket(30 /* timeout, in ms */)) { handler->oscMessage(sock.buffer); std::vector<char>().swap(sock.buffer); std::cout << std::flush; } } }
bool SonicPiOSCServer::waitForServer(){ return !handler->server_started && continueListening(); }