Пример #1
0
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");
}
Пример #2
0
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");
}
Пример #3
0
Файл: Osc.cpp Проект: EQ4/MRP
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);
}
Пример #4
0
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); } );
}