@@ -94,7 +94,7 @@ namespace OSC | |||||
char *new_path; | char *new_path; | ||||
asprintf( &new_path, "%s%s", _endpoint->name() ? _endpoint->name() : "", path ); | asprintf( &new_path, "%s%s", _endpoint->name() ? _endpoint->name() : "", path ); | ||||
DMESSAGE( "Renaming signal %s to %s", this->path(), new_path ); | |||||
MESSAGE( "Renaming signal %s to %s", this->path(), new_path ); | |||||
/* if ( _direction == Signal::Input ) */ | /* if ( _direction == Signal::Input ) */ | ||||
/* { */ | /* { */ | ||||
@@ -138,12 +138,12 @@ namespace OSC | |||||
} | } | ||||
/* else if ( direction() == Input ) */ | /* else if ( direction() == Input ) */ | ||||
/* { */ | /* { */ | ||||
/* DMESSAGE( "Sending value feedback for signal %s...", path() ); */ | |||||
/* MESSAGE( "Sending value feedback for signal %s...", path() ); */ | |||||
/* for ( std::list<Signal*>::iterator i = _incoming.begin(); */ | /* for ( std::list<Signal*>::iterator i = _incoming.begin(); */ | ||||
/* i != _incoming.end(); */ | /* i != _incoming.end(); */ | ||||
/* ++i ) */ | /* ++i ) */ | ||||
/* { */ | /* { */ | ||||
/* DMESSAGE( "Sending value feedback to %s %s %f", lo_address_get_url( (*i)->_peer->addr), (*i)->path() , f); */ | |||||
/* MESSAGE( "Sending value feedback to %s %s %f", lo_address_get_url( (*i)->_peer->addr), (*i)->path() , f); */ | |||||
/* _endpoint->send( (*i)->_peer->addr, */ | /* _endpoint->send( (*i)->_peer->addr, */ | ||||
/* (*i)->path(), */ | /* (*i)->path(), */ | ||||
/* f ); */ | /* f ); */ | ||||
@@ -202,7 +202,7 @@ namespace OSC | |||||
int | int | ||||
Endpoint::init ( int proto, const char *port ) | Endpoint::init ( int proto, const char *port ) | ||||
{ | { | ||||
DMESSAGE( "Creating OSC server" ); | |||||
MESSAGE( "Creating OSC server" ); | |||||
_server = lo_server_new_with_proto( port, proto, error_handler ); | _server = lo_server_new_with_proto( port, proto, error_handler ); | ||||
@@ -315,7 +315,7 @@ namespace OSC | |||||
void | void | ||||
Endpoint::handle_hello ( const char *peer_name, const char *peer_url ) | Endpoint::handle_hello ( const char *peer_name, const char *peer_url ) | ||||
{ | { | ||||
DMESSAGE( "Got hello from %s", peer_name ); | |||||
MESSAGE( "Got hello from %s", peer_name ); | |||||
Peer *p = find_peer_by_name( peer_name ); | Peer *p = find_peer_by_name( peer_name ); | ||||
@@ -344,7 +344,7 @@ namespace OSC | |||||
/* scan it while we're at it */ | /* scan it while we're at it */ | ||||
p->_scanning = true; | p->_scanning = true; | ||||
DMESSAGE( "Scanning peer %s", peer_name ); | |||||
MESSAGE( "Scanning peer %s", peer_name ); | |||||
send( p->addr, "/signal/list" ); | send( p->addr, "/signal/list" ); | ||||
} | } | ||||
@@ -355,7 +355,7 @@ namespace OSC | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
DMESSAGE( "Not sending hello because we don't have a name yet!" ); | |||||
MESSAGE( "Not sending hello because we don't have a name yet!" ); | |||||
} | } | ||||
} | } | ||||
@@ -387,7 +387,7 @@ namespace OSC | |||||
if ( s->_direction == Signal::Input ) | if ( s->_direction == Signal::Input ) | ||||
{ | { | ||||
DMESSAGE( "Peer %s has disconnected from signal %s", our_name, their_name ); | |||||
MESSAGE( "Peer %s has disconnected from signal %s", our_name, their_name ); | |||||
ep->del_translation( their_name ); | ep->del_translation( their_name ); | ||||
@@ -422,7 +422,7 @@ namespace OSC | |||||
return 0; | return 0; | ||||
} | } | ||||
DMESSAGE( "Has requested signal connection %s |> %s", src_path, dst_s->path() ); | |||||
MESSAGE( "Has requested signal connection %s |> %s", src_path, dst_s->path() ); | |||||
ep->add_translation( src_path, dst_s->path() ); | ep->add_translation( src_path, dst_s->path() ); | ||||
@@ -455,7 +455,7 @@ namespace OSC | |||||
return 0; | return 0; | ||||
} | } | ||||
DMESSAGE( "Signal %s:%s was removed", o->_peer->name, o->path() ); | |||||
MESSAGE( "Signal %s:%s was removed", o->_peer->name, o->path() ); | |||||
if ( ep->_peer_signal_notification_callback ) | if ( ep->_peer_signal_notification_callback ) | ||||
@@ -501,7 +501,7 @@ namespace OSC | |||||
p->_signals.push_back( s ); | p->_signals.push_back( s ); | ||||
DMESSAGE( "Peer %s has created signal %s (%s %f %f %f)", p->name, | |||||
MESSAGE( "Peer %s has created signal %s (%s %f %f %f)", p->name, | |||||
name, direction, min, max, default_value ); | name, direction, min, max, default_value ); | ||||
if ( ep->_peer_signal_notification_callback ) | if ( ep->_peer_signal_notification_callback ) | ||||
@@ -513,7 +513,7 @@ namespace OSC | |||||
int | int | ||||
Endpoint::osc_sig_renamed ( const char *path, const char *types, lo_arg **argv, int argc, lo_message msg, void *user_data ) | Endpoint::osc_sig_renamed ( const char *path, const char *types, lo_arg **argv, int argc, lo_message msg, void *user_data ) | ||||
{ | { | ||||
DMESSAGE( "Got renamed message." ); | |||||
MESSAGE( "Got renamed message." ); | |||||
const char *old_name = &argv[0]->s; | const char *old_name = &argv[0]->s; | ||||
const char *new_name = &argv[1]->s; | const char *new_name = &argv[1]->s; | ||||
@@ -536,7 +536,7 @@ namespace OSC | |||||
return 0; | return 0; | ||||
} | } | ||||
DMESSAGE( "Signal %s was renamed to %s", o->_path, new_name ); | |||||
MESSAGE( "Signal %s was renamed to %s", o->_path, new_name ); | |||||
ep->rename_translation_source( o->_path, new_name ); | ep->rename_translation_source( o->_path, new_name ); | ||||
@@ -685,7 +685,7 @@ namespace OSC | |||||
{ | { | ||||
ep->add_translation( path, ep->_learning_path ); | ep->add_translation( path, ep->_learning_path ); | ||||
DMESSAGE( "Learned translation \"%s\" -> \"%s\"", path, ep->_learning_path ); | |||||
MESSAGE( "Learned translation \"%s\" -> \"%s\"", path, ep->_learning_path ); | |||||
free(ep->_learning_path); | free(ep->_learning_path); | ||||
ep->_learning_path = NULL; | ep->_learning_path = NULL; | ||||
@@ -700,11 +700,11 @@ namespace OSC | |||||
{ | { | ||||
const char *dpath = i->second.path.c_str(); | const char *dpath = i->second.path.c_str(); | ||||
// DMESSAGE( "Translating message \"%s\" to \"%s\"", path, dpath ); | |||||
// MESSAGE( "Translating message \"%s\" to \"%s\"", path, dpath ); | |||||
if ( !strcmp(types, "f" )) | if ( !strcmp(types, "f" )) | ||||
{ | { | ||||
// DMESSAGE( "recording value %f", argv[0]->f ); | |||||
// MESSAGE( "recording value %f", argv[0]->f ); | |||||
i->second.current_value = argv[0]->f; | i->second.current_value = argv[0]->f; | ||||
} | } | ||||
@@ -741,7 +741,7 @@ namespace OSC | |||||
{ | { | ||||
// OSC_DMSG(); | // OSC_DMSG(); | ||||
DMESSAGE( "Listing signals." ); | |||||
MESSAGE( "Listing signals." ); | |||||
const char *prefix = NULL; | const char *prefix = NULL; | ||||
@@ -906,7 +906,7 @@ namespace OSC | |||||
if ( argc == 1 ) | if ( argc == 1 ) | ||||
{ | { | ||||
p->_scanning = false; | p->_scanning = false; | ||||
DMESSAGE( "Done scanning %s", p->name ); | |||||
MESSAGE( "Done scanning %s", p->name ); | |||||
if ( ep->_peer_scan_complete_callback ) | if ( ep->_peer_scan_complete_callback ) | ||||
ep->_peer_scan_complete_callback(ep->_peer_scan_complete_userdata); | ep->_peer_scan_complete_callback(ep->_peer_scan_complete_userdata); | ||||
@@ -918,7 +918,7 @@ namespace OSC | |||||
if ( s ) | if ( s ) | ||||
return 0; | return 0; | ||||
DMESSAGE( "Peer %s has signal %s (%s)", p->name, &argv[1]->s, &argv[2]->s ); | |||||
MESSAGE( "Peer %s has signal %s (%s)", p->name, &argv[1]->s, &argv[2]->s ); | |||||
int dir = 0; | int dir = 0; | ||||
@@ -951,7 +951,7 @@ namespace OSC | |||||
Method * | Method * | ||||
Endpoint::add_method ( const char *path, const char *typespec, lo_method_handler handler, void *user_data, const char *argument_description ) | Endpoint::add_method ( const char *path, const char *typespec, lo_method_handler handler, void *user_data, const char *argument_description ) | ||||
{ | { | ||||
// DMESSAGE( "Added OSC method %s (%s)", path, typespec ); | |||||
// MESSAGE( "Added OSC method %s (%s)", path, typespec ); | |||||
lo_server_add_method( _server, path, typespec, handler, user_data ); | lo_server_add_method( _server, path, typespec, handler, user_data ); | ||||
@@ -1013,7 +1013,7 @@ namespace OSC | |||||
void | void | ||||
Endpoint::del_method ( const char *path, const char *typespec ) | Endpoint::del_method ( const char *path, const char *typespec ) | ||||
{ | { | ||||
// DMESSAGE( "Deleted OSC method %s (%s)", path, typespec ); | |||||
// MESSAGE( "Deleted OSC method %s (%s)", path, typespec ); | |||||
lo_server_del_method( _server, path, typespec ); | lo_server_del_method( _server, path, typespec ); | ||||
@@ -1036,7 +1036,7 @@ namespace OSC | |||||
void | void | ||||
Endpoint::del_method ( Method *meth ) | Endpoint::del_method ( Method *meth ) | ||||
{ | { | ||||
// DMESSAGE( "Deleted OSC method %s (%s)", path, typespec ); | |||||
// MESSAGE( "Deleted OSC method %s (%s)", path, typespec ); | |||||
lo_server_del_method( _server, meth->path(), meth->typespec() ); | lo_server_del_method( _server, meth->path(), meth->typespec() ); | ||||
@@ -1048,7 +1048,7 @@ namespace OSC | |||||
void | void | ||||
Endpoint::del_signal ( Signal *o ) | Endpoint::del_signal ( Signal *o ) | ||||
{ | { | ||||
// DMESSAGE( "Deleted OSC method %s (%s)", path, typespec ); | |||||
// MESSAGE( "Deleted OSC method %s (%s)", path, typespec ); | |||||
lo_server_del_method( _server, o->path(), NULL ); | lo_server_del_method( _server, o->path(), NULL ); | ||||
@@ -1095,7 +1095,7 @@ namespace OSC | |||||
{ | { | ||||
const char *spath = i->first.c_str(); | const char *spath = i->first.c_str(); | ||||
// DMESSAGE( "Sending feedback to \"%s\": %f", spath, v ); | |||||
// MESSAGE( "Sending feedback to \"%s\": %f", spath, v ); | |||||
/* send to all peers */ | /* send to all peers */ | ||||
for ( std::list<Peer*>::iterator p = _peers.begin(); | for ( std::list<Peer*>::iterator p = _peers.begin(); | ||||
@@ -1121,7 +1121,7 @@ namespace OSC | |||||
{ | { | ||||
Peer *p = new Peer; | Peer *p = new Peer; | ||||
DMESSAGE( "Adding peer %s @ %s...", name, url ); | |||||
MESSAGE( "Adding peer %s @ %s...", name, url ); | |||||
p->name = strdup( name ); | p->name = strdup( name ); | ||||
p->addr = lo_address_new_from_url( url ); | p->addr = lo_address_new_from_url( url ); | ||||
@@ -1138,7 +1138,7 @@ namespace OSC | |||||
p->_scanning = true; | p->_scanning = true; | ||||
DMESSAGE( "Scanning peer %s", name ); | |||||
MESSAGE( "Scanning peer %s", name ); | |||||
send( p->addr, "/signal/list" ); | send( p->addr, "/signal/list" ); | ||||
} | } | ||||
@@ -1156,7 +1156,7 @@ namespace OSC | |||||
{ | { | ||||
_thread.name( "OSC" ); | _thread.name( "OSC" ); | ||||
DMESSAGE( "OSC Thread running" ); | |||||
MESSAGE( "OSC Thread running" ); | |||||
run(); | run(); | ||||
} | } | ||||
@@ -1231,15 +1231,15 @@ namespace OSC | |||||
switch ( ov->type() ) | switch ( ov->type() ) | ||||
{ | { | ||||
case 'f': | case 'f': | ||||
// DMESSAGE( "Adding float %f", ((OSC_Float*)ov)->value() ); | |||||
// MESSAGE( "Adding float %f", ((OSC_Float*)ov)->value() ); | |||||
lo_message_add_float( m, ((OSC_Float*)ov)->value() ); | lo_message_add_float( m, ((OSC_Float*)ov)->value() ); | ||||
break; | break; | ||||
case 'i': | case 'i': | ||||
// DMESSAGE( "Adding int %i", ((OSC_Int*)ov)->value() ); | |||||
// MESSAGE( "Adding int %i", ((OSC_Int*)ov)->value() ); | |||||
lo_message_add_int32( m, ((OSC_Int*)ov)->value() ); | lo_message_add_int32( m, ((OSC_Int*)ov)->value() ); | ||||
break; | break; | ||||
case 's': | case 's': | ||||
// DMESSAGE( "Adding string %s", ((OSC_String*)ov)->value() ); | |||||
// MESSAGE( "Adding string %s", ((OSC_String*)ov)->value() ); | |||||
lo_message_add_string( m, ((OSC_String*)ov)->value() ); | lo_message_add_string( m, ((OSC_String*)ov)->value() ); | ||||
break; | break; | ||||
default: | default: | ||||
@@ -1248,7 +1248,7 @@ namespace OSC | |||||
} | } | ||||
} | } | ||||
// DMESSAGE( "Path: %s", path ); | |||||
// MESSAGE( "Path: %s", path ); | |||||
lo_bundle b = lo_bundle_new( LO_TT_IMMEDIATE ); | lo_bundle b = lo_bundle_new( LO_TT_IMMEDIATE ); | ||||
@@ -419,7 +419,7 @@ namespace OSC | |||||
/* helper macros for defining OSC handlers */ | /* helper macros for defining OSC handlers */ | ||||
/* #define OSC_NAME( name ) osc_ ## name */ | /* #define OSC_NAME( name ) osc_ ## name */ | ||||
#define OSC_DMSG() DMESSAGE( "Got OSC message: %s", path ); | |||||
#define OSC_DMSG() MESSAGE( "Got OSC message: %s", path ); | |||||
// #define OSC_HANDLER( name ) static int OSC_NAME( name ) ( const char *path, const char *types, lo_arg **argv, int argc, lo_message msg, void *user_data ) | // #define OSC_HANDLER( name ) static int OSC_NAME( name ) ( const char *path, const char *types, lo_arg **argv, int argc, lo_message msg, void *user_data ) | ||||
@@ -28,6 +28,8 @@ | |||||
extern char * program_invocation_short_name; | extern char * program_invocation_short_name; | ||||
bool quietMessages = false; | |||||
void | void | ||||
warnf ( warning_t level, | warnf ( warning_t level, | ||||
const char *module, | const char *module, | ||||
@@ -68,6 +68,8 @@ | |||||
*/ | */ | ||||
#ifndef _DEBUG_H | #ifndef _DEBUG_H | ||||
#define _DEBUG_H | #define _DEBUG_H | ||||
@@ -83,6 +85,8 @@ | |||||
#define __FUNCTION__ NULL | #define __FUNCTION__ NULL | ||||
#endif | #endif | ||||
extern bool quietMessages; | |||||
typedef enum { | typedef enum { | ||||
W_MESSAGE = 0, | W_MESSAGE = 0, | ||||
W_WARNING, | W_WARNING, | ||||
@@ -95,20 +99,13 @@ warnf ( warning_t level, | |||||
const char *file, | const char *file, | ||||
const char *function, int line, const char *fmt, ... ); | const char *function, int line, const char *fmt, ... ); | ||||
//We do not use NDEBUG anymore. Messages are a command line switch. | |||||
//Warnings, asserts and errors are always important. | |||||
#ifndef NDEBUG | |||||
#define DMESSAGE( fmt, args... ) warnf( W_MESSAGE, __MODULE__, __FILE__, __FUNCTION__, __LINE__, fmt, ## args ) | |||||
#define DWARNING( fmt, args... ) warnf( W_WARNING, __MODULE__, __FILE__, __FUNCTION__, __LINE__, fmt, ## args ) | |||||
#define ASSERT( pred, fmt, args... ) do { if ( ! (pred) ) { warnf( W_FATAL, __MODULE__, __FILE__, __FUNCTION__, __LINE__, fmt, ## args ); abort(); } } while ( 0 ) | |||||
#else | |||||
#define DMESSAGE( fmt, args... ) | |||||
#define DWARNING( fmt, args... ) | |||||
#define ASSERT( pred, fmt, args... ) (void)(pred) | |||||
#endif | |||||
/* these are always defined */ | |||||
#define MESSAGE( fmt, args... ) warnf( W_MESSAGE, __MODULE__, __FILE__, __FUNCTION__, __LINE__, fmt, ## args ) | |||||
// #define MESSAGE( fmt, args... ) warnf( W_MESSAGE, __MODULE__, __FILE__, __FUNCTION__, __LINE__, fmt, ## args ) | |||||
#define MESSAGE( fmt, args... ) do { if ( ! (quietMessages) ) { warnf( W_MESSAGE, __MODULE__, __FILE__, __FUNCTION__, __LINE__, fmt, ## args ); } } while ( 0 ) | |||||
#define WARNING( fmt, args... ) warnf( W_WARNING, __MODULE__, __FILE__, __FUNCTION__, __LINE__, fmt, ## args ) | #define WARNING( fmt, args... ) warnf( W_WARNING, __MODULE__, __FILE__, __FUNCTION__, __LINE__, fmt, ## args ) | ||||
#define FATAL( fmt, args... ) ( warnf( W_FATAL, __MODULE__, __FILE__, __FUNCTION__, __LINE__, fmt, ## args ), abort() ) | #define FATAL( fmt, args... ) ( warnf( W_FATAL, __MODULE__, __FILE__, __FUNCTION__, __LINE__, fmt, ## args ), abort() ) | ||||
#define ASSERT( pred, fmt, args... ) do { if ( ! (pred) ) { warnf( W_FATAL, __MODULE__, __FILE__, __FUNCTION__, __LINE__, fmt, ## args ); abort(); } } while ( 0 ) | |||||
#endif | #endif |
@@ -1071,7 +1071,7 @@ private: | |||||
/* need at least one argument... */ | /* need at least one argument... */ | ||||
return 0; | return 0; | ||||
DMESSAGE( "Relaying broadcast" ); | |||||
MESSAGE( "Relaying broadcast" ); | |||||
foreach_daemon( d ) | foreach_daemon( d ) | ||||
{ | { | ||||
@@ -1337,7 +1337,7 @@ main (int argc, char **argv ) | |||||
{ | { | ||||
case 'n': | case 'n': | ||||
{ | { | ||||
DMESSAGE( "Adding %s to daemon list", optarg ); | |||||
MESSAGE( "Adding %s to daemon list", optarg ); | |||||
Daemon *d = new Daemon; | Daemon *d = new Daemon; | ||||
d->url = optarg; | d->url = optarg; | ||||
@@ -1412,7 +1412,7 @@ main (int argc, char **argv ) | |||||
for ( ; optind < argc; i++, optind++ ) | for ( ; optind < argc; i++, optind++ ) | ||||
{ | { | ||||
DMESSAGE( "Passing argument: %s", argv[optind] ); | |||||
MESSAGE( "Passing argument: %s", argv[optind] ); | |||||
args[i] = argv[optind]; | args[i] = argv[optind]; | ||||
} | } | ||||
@@ -202,7 +202,7 @@ public: | |||||
void save ( void ) | void save ( void ) | ||||
{ | { | ||||
DMESSAGE( "Sending process save signal" ); | |||||
MESSAGE( "Sending process save signal" ); | |||||
if ( _pid ) | if ( _pid ) | ||||
::kill( _pid, _save_signal ); | ::kill( _pid, _save_signal ); | ||||
} | } | ||||
@@ -261,7 +261,7 @@ public: | |||||
while ( 2 == fscanf( fp, "%m[^\n]\n\t%m[^\n]\n", &name, &value ) ) | while ( 2 == fscanf( fp, "%m[^\n]\n\t%m[^\n]\n", &name, &value ) ) | ||||
{ | { | ||||
DMESSAGE( "%s=%s", name, value ); | |||||
MESSAGE( "%s=%s", name, value ); | |||||
if ( !strcmp( name, "executable" ) ) | if ( !strcmp( name, "executable" ) ) | ||||
_executable = value; | _executable = value; | ||||
@@ -301,7 +301,7 @@ public: | |||||
void update ( lo_address to ) | void update ( lo_address to ) | ||||
{ | { | ||||
DMESSAGE( "Sending update" ); | |||||
MESSAGE( "Sending update" ); | |||||
lo_send_from( to, losrv, LO_TT_IMMEDIATE, "/nsm/proxy/save_signal", "i", _save_signal ); | lo_send_from( to, losrv, LO_TT_IMMEDIATE, "/nsm/proxy/save_signal", "i", _save_signal ); | ||||
lo_send_from( to, losrv, LO_TT_IMMEDIATE, "/nsm/proxy/label", "s", _label ? _label : "" ); | lo_send_from( to, losrv, LO_TT_IMMEDIATE, "/nsm/proxy/label", "s", _label ? _label : "" ); | ||||
@@ -603,12 +603,12 @@ signal_handler ( int x ) | |||||
void | void | ||||
set_traps ( void ) | set_traps ( void ) | ||||
{ | { | ||||
signal( SIGHUP, signal_handler ); | |||||
signal( SIGINT, signal_handler ); | |||||
// signal( SIGQUIT, signal_handler ); | |||||
// signal( SIGSEGV, signal_handler ); | |||||
// signal( SIGPIPE, signal_handler ); | |||||
signal( SIGTERM, signal_handler ); | |||||
signal( SIGHUP, signal_handler ); | |||||
signal( SIGINT, signal_handler ); | |||||
// signal( SIGQUIT, signal_handler ); | |||||
// signal( SIGSEGV, signal_handler ); | |||||
// signal( SIGPIPE, signal_handler ); | |||||
signal( SIGTERM, signal_handler ); | |||||
} | } | ||||
@@ -645,7 +645,7 @@ die ( void ) | |||||
{ | { | ||||
if ( gui_pid ) | if ( gui_pid ) | ||||
{ | { | ||||
DMESSAGE( "Killing GUI" ); | |||||
MESSAGE( "Killing GUI" ); | |||||
kill( gui_pid, SIGTERM ); | kill( gui_pid, SIGTERM ); | ||||
} | } | ||||
@@ -282,7 +282,6 @@ static std::list< Client* > client; | |||||
/* helper macros for defining OSC handlers */ | /* helper macros for defining OSC handlers */ | ||||
#define OSC_NAME( name ) osc_ ## name | #define OSC_NAME( name ) osc_ ## name | ||||
// #define OSCDMSG() DMESSAGE( "Got OSC message: %s", path ); | |||||
#define OSC_HANDLER( name ) static int OSC_NAME( name ) ( const char *path, const char *types, lo_arg **argv, int argc, lo_message msg, void *user_data ) | #define OSC_HANDLER( name ) static int OSC_NAME( name ) ( const char *path, const char *types, lo_arg **argv, int argc, lo_message msg, void *user_data ) | ||||
static char *session_path = NULL; | static char *session_path = NULL; | ||||
@@ -1467,7 +1466,7 @@ load_session_file ( const char * path ) | |||||
{ //This is not the case when --load-session was used. GUI announce will come later. | { //This is not the case when --load-session was used. GUI announce will come later. | ||||
//Send two parameters to signal that the session was loaded: simple session-name, relative session path below session root | //Send two parameters to signal that the session was loaded: simple session-name, relative session path below session root | ||||
DMESSAGE( "Informing GUI about running session name: %s with relative path %s", session_name, session_path + strlen( session_root ) ); | |||||
MESSAGE( "Informing GUI about running session name: %s with relative path %s", session_name, session_path + strlen( session_root ) ); | |||||
osc_server->send( gui_addr, "/nsm/gui/session/name", session_name, session_path + strlen( session_root )); | osc_server->send( gui_addr, "/nsm/gui/session/name", session_name, session_path + strlen( session_root )); | ||||
} | } | ||||
@@ -1663,7 +1662,7 @@ OSC_HANDLER( new ) | |||||
osc_server->send( gui_addr, "/nsm/gui/session/session", &argv[0]->s ); | osc_server->send( gui_addr, "/nsm/gui/session/session", &argv[0]->s ); | ||||
//Send two parameters to signal that the session was loaded: simple session-name, relative session path below session root | //Send two parameters to signal that the session was loaded: simple session-name, relative session path below session root | ||||
DMESSAGE( "Informing GUI about running session name: %s with relative path %s", session_name, session_path + strlen( session_root ) ); | |||||
MESSAGE( "Informing GUI about running session name: %s with relative path %s", session_name, session_path + strlen( session_root ) ); | |||||
osc_server->send( gui_addr, "/nsm/gui/session/name", session_name, session_path + strlen( session_root )); | osc_server->send( gui_addr, "/nsm/gui/session/name", session_name, session_path + strlen( session_root )); | ||||
} | } | ||||
@@ -2306,7 +2305,7 @@ announce_gui( const char *url, bool is_reply ) | |||||
//No session_path without session_name. We only need to test for session_name. | //No session_path without session_name. We only need to test for session_name. | ||||
if ( !session_name || session_name[0] == '\0' ) | if ( !session_name || session_name[0] == '\0' ) | ||||
{ | { | ||||
DMESSAGE( "Informing GUI that no session is running by sending two empty strings" ); | |||||
MESSAGE( "Informing GUI that no session is running by sending two empty strings" ); | |||||
osc_server->send( gui_addr, "/nsm/gui/session/name", "", "" ); //Empty string = no current session | osc_server->send( gui_addr, "/nsm/gui/session/name", "", "" ); //Empty string = no current session | ||||
} | } | ||||
else | else | ||||
@@ -2331,11 +2330,11 @@ announce_gui( const char *url, bool is_reply ) | |||||
osc_server->send( gui_addr, "/nsm/gui/client/new", c->client_id, c->name ); // upgrade to pretty-name | osc_server->send( gui_addr, "/nsm/gui/client/new", c->client_id, c->name ); // upgrade to pretty-name | ||||
} | } | ||||
DMESSAGE( "Informing GUI about running session name: %s with relative path %s", session_name, session_path + strlen( session_root ) ); | |||||
MESSAGE( "Informing GUI about running session name: %s with relative path %s", session_name, session_path + strlen( session_root ) ); | |||||
osc_server->send( gui_addr, "/nsm/gui/session/name", session_name, session_path + strlen( session_root )); | osc_server->send( gui_addr, "/nsm/gui/session/name", session_name, session_path + strlen( session_root )); | ||||
} | } | ||||
DMESSAGE( "Registration with GUI complete\n" ); | |||||
MESSAGE( "Registration with GUI complete\n" ); | |||||
} | } | ||||
@@ -2410,6 +2409,7 @@ int main(int argc, char *argv[]) | |||||
{ "help", no_argument, 0, 'h' }, | { "help", no_argument, 0, 'h' }, | ||||
{ "version", no_argument, 0, 'v' }, | { "version", no_argument, 0, 'v' }, | ||||
{ "load-session", required_argument, 0, 'l'}, | { "load-session", required_argument, 0, 'l'}, | ||||
{ "quiet", no_argument, 0, 'q'}, //supresses all normal MESSAGE except WARNING and FATAL | |||||
{ 0, 0, 0, 0 } | { 0, 0, 0, 0 } | ||||
}; | }; | ||||
@@ -2436,21 +2436,24 @@ int main(int argc, char *argv[]) | |||||
break; | break; | ||||
} | } | ||||
case 'p': | case 'p': | ||||
DMESSAGE( "Using OSC port %s", optarg ); | |||||
MESSAGE( "Using OSC port %s", optarg ); | |||||
osc_port = optarg; | osc_port = optarg; | ||||
break; | break; | ||||
case 'g': | case 'g': | ||||
DMESSAGE( "Going to connect to GUI at: %s", optarg ); | |||||
MESSAGE( "Going to connect to GUI at: %s", optarg ); | |||||
gui_url = optarg; | gui_url = optarg; | ||||
break; | break; | ||||
case 'l': | case 'l': | ||||
DMESSAGE( "Loading existing session file %s", optarg); | |||||
MESSAGE( "Loading existing session file %s", optarg); | |||||
load_session = optarg; | load_session = optarg; | ||||
break; | break; | ||||
case 'v': | case 'v': | ||||
printf( "%s " VERSION_STRING "\n", argv[0] ); | printf( "%s " VERSION_STRING "\n", argv[0] ); | ||||
exit(0); | exit(0); | ||||
break; | break; | ||||
case 'q': | |||||
quietMessages = true; //from debug.h | |||||
break; | |||||
case 'h': | case 'h': | ||||
//Print usage message according to POSIX.1-2017 | //Print usage message according to POSIX.1-2017 | ||||
const char *usage = | const char *usage = | ||||
@@ -2468,6 +2471,7 @@ int main(int argc, char *argv[]) | |||||
" --load-session name Load existing session [Example: \"My Song\"].\n" | " --load-session name Load existing session [Example: \"My Song\"].\n" | ||||
" --gui-url url Connect to running legacy-gui [Example: osc.udp://mycomputer.localdomain:38356/].\n" | " --gui-url url Connect to running legacy-gui [Example: osc.udp://mycomputer.localdomain:38356/].\n" | ||||
" --detach Detach from console.\n" | " --detach Detach from console.\n" | ||||
" --quiet Suppress messages except warnings and errors.\n" | |||||
"\n\n" | "\n\n" | ||||
"nsmd can be run headless with existing sessions. To create new ones it is recommended to use a GUI\n" | "nsmd can be run headless with existing sessions. To create new ones it is recommended to use a GUI\n" | ||||
"such as nsm-legacy-gui (included) or Agordejo (separate package)\n" | "such as nsm-legacy-gui (included) or Agordejo (separate package)\n" | ||||