void lo_bundle_pp(lo_bundle b) { int i; if (!b) return; printf("bundle(%f):\n", (double)b->ts.sec + b->ts.frac / 4294967296.0); for (i = 0; i < b->len; i++) { lo_message_pp(b->msgs[i]); } printf("\n"); }
void SLClip::send2SL(const char* pathend, lo_message msg) { auto mainlog = spdlog::get( "main" ); mainlog->info( "SLClip::send2SL"); lo_message_pp( msg ); lo_address target = ((SLBus*)parent_)->getSLTarget(); mainlog->info( "* address : {}", target); std::string path = "/sl/" + std::to_string( sl_id_ ) + pathend; mainlog->info( "* path : {}", path); if ( lo_send_message( target, path.c_str(), msg ) == -1 ) { mainlog->error( "OSC error {}: {}", lo_address_errno(target), lo_address_errstr(target) ); } mainlog->info( "/SLClip::send2SL"); }
void OscTransmitter::sendByteArray(const char * path, const unsigned char * data, int length) { if(length == 0) return; lo_blob b = lo_blob_new(length, data); lo_message msg = lo_message_new(); lo_message_add_blob(msg, b); if(debugMessages_) { cout << path << " "; lo_message_pp(msg); } // Send message to everyone who's currently listening for(vector<lo_address>::iterator it = addresses_.begin(); it != addresses_.end(); it++) { lo_send_message(*it, path, msg); } lo_blob_free(b); }
void init(lo::Server &s) { int j = 234; std::cout << "liblo version: " << lo::version() << std::endl; lo_timetag now = lo::now(); std::cout << "now: " << now.sec << "," << now.frac << std::endl; lo_timetag imm = lo::immediate(); std::cout << "immediate: " << imm.sec << "," << imm.frac << std::endl; std::cout << "URL: " << s.url() << std::endl; class test3 { public: test3(int j, std::string s) : _s(s), _j(j) {}; int operator () (lo_arg **argv, int argc, lo_message msg) { std::cout << _s << ": " << _j << ", " << argv[0]->i << std::endl; return 0; } private: std::string _s; int _j; }; s.add_method("test0", "i", test3(j,"test0")); s.del_method("test0", "i"); s.add_method("test1", "i", test1, 0); s.add_method("test2", "i", test2); s.add_method("test3", "i", test3(j, "test3")); s.add_method("test4", "i", [j](lo_arg **argv, int argc) { printf("test4: %d, %d\n", j, argv[0]->i); return 0; }); j *= 2; s.add_method("test5", "i", [j](lo_arg **argv, int argc, lo_message msg) { printf("test5: %d, %d -- ", j, argv[0]->i); lo_message_pp(msg); return 0; }); j *= 2; s.add_method("test6", "i", [j](lo_message msg) { printf("test6: %d -- ", j); lo_message_pp(msg); return 0; }); j *= 2; s.add_method("test7", "i", [j](){printf("test7: %d\n", j); return 0;}); j *= 2; s.add_method("test8", "i", [j](){printf("test8a: %d\n", j);}); j *= 2; s.add_method("test8", "i", [j](){printf("test8b: %d\n", j);}); j*=2; s.add_method("test9", "i", [j](const char *path, const char *types, lo_arg **argv, int argc) {printf("test9.1: %d, %s, %s, %d\n", j, path, types, argv[0]->i); return 1;}); j*=2; s.add_method("test10", "i", [j](const char *types, lo_arg **argv, int argc) {printf("test10.1: %d, %s, %d\n", j, types, argv[0]->i); return 1;}); j*=2; s.add_method("test11", "is", [j](const char *types, lo_arg **argv, int argc, lo_message msg) {printf("test11.1: %d, %s, %d, %s -- ", j, types, argv[0]->i, &argv[1]->s); lo_message_pp(msg); return 1;}); j*=2; s.add_method("test9", "i", [j](const char *path, const char *types, lo_arg **argv, int argc) {printf("test9.2: %d, %s, %s, %d\n", j, path, types, argv[0]->i);}); j*=2; s.add_method("test10", "i", [j](const char *types, lo_arg **argv, int argc) {printf("test10.2: %d, %s, %d\n", j, types, argv[0]->i);}); j*=2; s.add_method("test11", "is", [j](const char *types, lo_arg **argv, int argc, lo_message msg) {printf("test11.2: %d, %s, %d, %s -- ", j, types, argv[0]->i, &argv[1]->s); lo_message_pp(msg);}); j*=2; s.add_method("test12", "i", [j](const lo::Message m) {printf("test12 source: %s\n", m.source().url().c_str());}); s.add_method(0, 0, [](const char *path, lo_message m){printf("generic: %s ", path); lo_message_pp(m);}); j*=2; s.add_bundle_handlers( [j](lo_timetag time){ printf("Bundle start handler! (j=%d)\n", j); }, [j](){ printf("Bundle end handler! (j=%d)\n", j); } ); }