- pid );
-
- lo_address_free( to );
- }
-
- void
- Client::progress ( float p )
- {
- if ( nsm_is_active )
- {
- lo_send_from( nsm_addr, _server, LO_TT_IMMEDIATE, "/nsm/client/progress", "f", p );
- }
- }
-
- void
- Client::is_dirty ( void )
- {
- if ( nsm_is_active )
- {
- lo_send_from( nsm_addr, _server, LO_TT_IMMEDIATE, "/nsm/client/is_dirty", "" );
- }
- }
-
- void
- Client::is_clean ( void )
- {
- if ( nsm_is_active )
- {
- lo_send_from( nsm_addr, _server, LO_TT_IMMEDIATE, "/nsm/client/is_clean", "" );
- }
- }
-
- void
- Client::message ( int priority, const char *msg )
- {
- if ( nsm_is_active )
- {
- lo_send_from( nsm_addr, _server, LO_TT_IMMEDIATE, "/nsm/client/message", "is", priority, msg );
- }
- }
-
-
- void
- Client::broadcast ( lo_message msg )
- {
- if ( nsm_is_active )
- {
- lo_send_message_from( nsm_addr, _server, "/nsm/server/broadcast", msg );
- }
- }
-
- void
- Client::check ( int timeout )
- {
- if ( lo_server_wait( _server, timeout ) )
- while ( lo_server_recv_noblock( _server, 0 ) ) {}
- }
-
- void
- Client::start ( )
- {
- lo_server_thread_start( _st );
- }
-
- void
- Client::stop ( )
- {
- lo_server_thread_stop( _st );
- }
-
- int
- Client::init ( const char *nsm_url )
- {
- this->nsm_url = nsm_url;
-
- lo_address addr = lo_address_new_from_url( nsm_url );
- int proto = lo_address_get_protocol( addr );
- lo_address_free( addr );
-
- _server = lo_server_new_with_proto( NULL, proto, NULL );
-
- if ( ! _server )
- return -1;
-
- lo_server_add_method( _server, "/error", "sis", &Client::osc_error, this );
- lo_server_add_method( _server, "/reply", "ssss", &Client::osc_announce_reply, this );
- lo_server_add_method( _server, "/nsm/client/open", "sss", &Client::osc_open, this );
- lo_server_add_method( _server, "/nsm/client/save", "", &Client::osc_save, this );
- lo_server_add_method( _server, "/nsm/client/session_is_loaded", "", &Client::osc_session_is_loaded, this );
- lo_server_add_method( _server, NULL, NULL, &Client::osc_broadcast, this );
-
- return 0;
- }
-
- int
- Client::init_thread ( const char *nsm_url )
- {
- this->nsm_url = nsm_url;
-
- lo_address addr = lo_address_new_from_url( nsm_url );
- int proto = lo_address_get_protocol( addr );
- lo_address_free( addr );
-
- _st = lo_server_thread_new_with_proto( NULL, proto, NULL );
- _server = lo_server_thread_get_server( _st );
-
- if ( ! _server || ! _st )
- return -1;
-
- lo_server_thread_add_method( _st, "/error", "sis", &Client::osc_error, this );
- lo_server_thread_add_method( _st, "/reply", "ssss", &Client::osc_announce_reply, this );
- lo_server_thread_add_method( _st, "/nsm/client/open", "sss", &Client::osc_open, this );
- lo_server_thread_add_method( _st, "/nsm/client/save", "", &Client::osc_save, this );
- lo_server_thread_add_method( _st, "/nsm/client/session_is_loaded", "", &Client::osc_session_is_loaded, this );
- lo_server_thread_add_method( _st, NULL, NULL, &Client::osc_broadcast, this );
-
- return 0;
- }
+ pid);
+
+ lo_address_free (to);
+ }
+
+ void
+ Client::progress (float p)
+ {
+ if (nsm_is_active)
+ {
+ lo_send_from (nsm_addr, _server, LO_TT_IMMEDIATE, "/nsm/client/progress", "f", p);
+ }
+ }
+
+ void
+ Client::is_dirty (void)
+ {
+ if (nsm_is_active)
+ {
+ lo_send_from (nsm_addr, _server, LO_TT_IMMEDIATE, "/nsm/client/is_dirty", "");
+ }
+ }
+
+ void
+ Client::is_clean (void)
+ {
+ if (nsm_is_active)
+ {
+ lo_send_from (nsm_addr, _server, LO_TT_IMMEDIATE, "/nsm/client/is_clean", "");
+ }
+ }
+
+ void
+ Client::message (int priority, const char *msg)
+ {
+ if (nsm_is_active)
+ {
+ lo_send_from (nsm_addr, _server, LO_TT_IMMEDIATE, "/nsm/client/message", "is", priority, msg);
+ }
+ }
+
+
+ void
+ Client::broadcast (lo_message msg)
+ {
+ if (nsm_is_active)
+ {
+ lo_send_message_from (nsm_addr, _server, "/nsm/server/broadcast", msg);
+ }
+ }
+
+ void
+ Client::check (int timeout)
+ {
+ if (lo_server_wait (_server, timeout)) {
+ while (lo_server_recv_noblock (_server, 0));
+ }
+ }
+
+ void
+ Client::start ()
+ {
+ lo_server_thread_start (_st);
+ }
+
+ void
+ Client::stop ()
+ {
+ lo_server_thread_stop (_st);
+ }
+
+ int
+ Client::init (const char *nsm_url)
+ {
+ this->nsm_url = nsm_url;
+
+ lo_address addr = lo_address_new_from_url (nsm_url);
+ int proto = lo_address_get_protocol (addr);
+ lo_address_free (addr);
+
+ _server = lo_server_new_with_proto (NULL, proto, NULL);
+
+ if (!_server) {
+ return -1;
+ }
+
+ lo_server_add_method (_server, "/error", "sis", &Client::osc_error, this);
+ lo_server_add_method (_server, "/reply", "ssss", &Client::osc_announce_reply, this);
+ lo_server_add_method (_server, "/nsm/client/open", "sss", &Client::osc_open, this);
+ lo_server_add_method (_server, "/nsm/client/save", "", &Client::osc_save, this);
+ lo_server_add_method (_server, "/nsm/client/session_is_loaded", "", &Client::osc_session_is_loaded, this);
+ lo_server_add_method (_server, NULL, NULL, &Client::osc_broadcast, this);
+
+ return 0;
+ }
+
+ int
+ Client::init_thread (const char *nsm_url)
+ {
+ this->nsm_url = nsm_url;
+
+ lo_address addr = lo_address_new_from_url (nsm_url);
+ int proto = lo_address_get_protocol (addr);
+ lo_address_free (addr);
+
+ _st = lo_server_thread_new_with_proto (NULL, proto, NULL);
+ _server = lo_server_thread_get_server (_st);
+
+ if (! _server || ! _st) {
+ return -1;
+ }
+
+ lo_server_thread_add_method (_st, "/error", "sis", &Client::osc_error, this);
+ lo_server_thread_add_method (_st, "/reply", "ssss", &Client::osc_announce_reply, this);
+ lo_server_thread_add_method (_st, "/nsm/client/open", "sss", &Client::osc_open, this);
+ lo_server_thread_add_method (_st, "/nsm/client/save", "", &Client::osc_save, this);
+ lo_server_thread_add_method (_st, "/nsm/client/session_is_loaded", "", &Client::osc_session_is_loaded, this);
+ lo_server_thread_add_method (_st, NULL, NULL, &Client::osc_broadcast, this);
+
+ return 0;
+ }