X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fosc.cc;h=c43f254f6f1d81ca1ec109c22b27341b60a1f573;hb=9cca1464a8b031cfb26e541b6ca2d242e3df7c81;hp=9ab2bd3c3bb4284734194ab27c4a6b8e220bb347;hpb=70ab1cce428d3e6b2261955ea8c1ca87cdd4ea37;p=ardour.git diff --git a/libs/ardour/osc.cc b/libs/ardour/osc.cc index 9ab2bd3c3b..c43f254f6f 100644 --- a/libs/ardour/osc.cc +++ b/libs/ardour/osc.cc @@ -309,7 +309,6 @@ OSC::osc_receiver() if ((ret = poll (pfd, nfds, timeout)) < 0) { if (errno == EINTR) { /* gdb at work, perhaps */ - cerr << "EINTR hit " << endl; goto again; } @@ -366,7 +365,7 @@ void OSC::set_session (Session& s) { session = &s; - session->going_away.connect (mem_fun (*this, &OSC::session_going_away)); + session->GoingAway.connect (mem_fun (*this, &OSC::session_going_away)); } void @@ -377,3 +376,62 @@ OSC::session_going_away () /* path callbacks */ +int +OSC::current_value (const char *path, const char *types, lo_arg **argv, int argc, void *data, void* user_data) +{ +#if 0 + const char* returl; + + if (argc < 3 || types == 0 || strlen (types) < 3 || types[0] != 's' || types[1] != 's' || types[2] != s) { + return 1; + } + + const char *returl = argv[1]->s; + lo_address addr = find_or_cache_addr (returl); + + const char *retpath = argv[2]->s; + + + if (strcmp (argv[0]->s, "transport_frame")) { + + if (session) { + lo_send (addr, retpath, "i", session->transport_frame()); + } + + } else if (strcmp (argv[0]->s, "transport_speed")) { + + if (session) { + lo_send (addr, retpath, "i", session->transport_frame()); + } + + } else if (strcmp (argv[0]->s, "transport_locked")) { + + if (session) { + lo_send (addr, retpath, "i", session->transport_frame()); + } + + } else if (strcmp (argv[0]->s, "punch_in") { + + if (session) { + lo_send (addr, retpath, "i", session->transport_frame()); + } + + } else if (strcmp (argv[0]->s, "punch_out") { + + if (session) { + lo_send (addr, retpath, "i", session->transport_frame()); + } + + } else if (strcmp (argv[0]->s, "rec_enable") { + + if (session) { + lo_send (addr, retpath, "i", session->transport_frame()); + } + + } else { + + /* error */ + } +#endif + return 0; +}