always check_dependents() after a relayer() (useful for LaterHigher model), don't...
[ardour.git] / libs / ardour / osc.cc
index 9ab2bd3c3bb4284734194ab27c4a6b8e220bb347..c43f254f6f1d81ca1ec109c22b27341b60a1f573 100644 (file)
@@ -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;
+}