@@ -17,6 +17,10 @@ | |||
/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ | |||
/*******************************************************************************/ | |||
#pragma GCC diagnostic ignored "-Wchar-subscripts" | |||
#include "Boxtypes.H" | |||
#include <FL/fl_draw.H> | |||
#include <string.h> | |||
@@ -82,8 +82,9 @@ extern NSM_Client *nsm; | |||
#define OSC_REPLY_OK() ((OSC::Endpoint*)user_data)->send( lo_message_get_source( msg ), path, 0, "OK" ) | |||
#define OSC_REPLY( value ) ((OSC::Endpoint*)user_data)->send( lo_message_get_source( msg ), path, value ) | |||
#define OSC_REPLY_ERR(errcode, value) ((OSC::Endpoint*)user_data)->send( lo_message_get_source( msg ), path,errcode, value ) | |||
#define OSC_ENDPOINT() ((OSC::Endpoint*)user_data) | |||
OSC_HANDLER( add_strip ) | |||
static int osc_add_strip ( const char *path, const char *, lo_arg **, int , lo_message msg, void *user_data ) | |||
{ | |||
OSC_DMSG(); | |||
@@ -200,7 +201,7 @@ void Mixer::cb_menu(Fl_Widget* o) { | |||
// read_line( user_config_dir, "default_path", &path ); | |||
const char *name = fl_dir_chooser( "Open Project", path, NULL ); | |||
const char *name = fl_dir_chooser( "Open Project", path ); | |||
free( path ); | |||
@@ -402,7 +403,7 @@ Mixer::init_osc ( const char *osc_port ) | |||
printf( "OSC=%s\n", osc_endpoint->url() ); | |||
osc_endpoint->add_method( "/non/mixer/add_strip", "", OSC_NAME( add_strip ), osc_endpoint, "" ); | |||
osc_endpoint->add_method( "/non/mixer/add_strip", "", osc_add_strip, osc_endpoint, "" ); | |||
// osc_endpoint->start(); | |||
@@ -712,7 +713,7 @@ Mixer::command_load ( const char *path, const char *display_name ) | |||
{ | |||
mixer->hide(); | |||
if ( int err = Project::open( path ) ) | |||
if ( Project::open( path ) ) | |||
{ | |||
// fl_alert( "Error opening project specified on commandline: %s", Project::errstr( err ) ); | |||
return false; | |||
@@ -254,7 +254,7 @@ Module::Port::generate_osc_path () | |||
} | |||
void | |||
Module::Port::handle_signal_connection_state_changed ( OSC::Signal *s ) | |||
Module::Port::handle_signal_connection_state_changed ( OSC::Signal * ) | |||
{ | |||
module()->redraw(); | |||
} | |||
@@ -41,7 +41,7 @@ int | |||
NSM_Client::command_broadcast ( const char *path, lo_message msg ) | |||
{ | |||
int argc = lo_message_get_argc( msg ); | |||
lo_arg **argv = lo_message_get_argv( msg ); | |||
// lo_arg **argv = lo_message_get_argv( msg ); | |||
if ( argc == 1 && !strcmp( path, "/non/finger" ) ) | |||
{ | |||
@@ -81,7 +81,7 @@ ensure_dirs ( void ) | |||
#include <signal.h> | |||
static void cb_main ( Fl_Double_Window *o, void *) | |||
static void cb_main ( Fl_Double_Window *, void *) | |||
{ | |||
if ( Fl::event() == FL_SHORTCUT && Fl::event_key() == FL_Escape ) | |||
return; | |||
@@ -164,8 +164,10 @@ main ( int argc, char **argv ) | |||
{ | |||
main_window->xclass( APP_NAME ); | |||
Fl_Widget *o = mixer = new Mixer( 0, 0, main_window->w(), main_window->h(), NULL ); | |||
Fl_Group::current()->resizable(o); | |||
{ | |||
Fl_Widget *o = mixer = new Mixer( 0, 0, main_window->w(), main_window->h(), NULL ); | |||
Fl_Group::current()->resizable(o); | |||
} | |||
} | |||
o->end(); | |||
@@ -24,6 +24,8 @@ | |||
#include <unistd.h> | |||
#include <stdlib.h> | |||
#pragma GCC diagnostic ignored "-Wunused-parameter" | |||
namespace NSM | |||
{ | |||
@@ -88,12 +88,12 @@ namespace NSM | |||
virtual int command_open ( const char *name, const char *display_name, const char *client_id, char **out_msg ) = 0; | |||
virtual int command_save ( char **out_msg ) = 0; | |||
virtual void command_active ( bool active ) { } | |||
virtual void command_active ( bool ) { } | |||
virtual void command_session_is_loaded ( void ) { } | |||
/* invoked when an unrecognized message is received. Should return 0 if you handled it, -1 otherwise. */ | |||
virtual int command_broadcast ( const char *path, lo_message msg ) { return -1; } | |||
virtual int command_broadcast ( const char *, lo_message ) { return -1; } | |||
private: | |||
@@ -28,6 +28,8 @@ | |||
#include "Thread.H" | |||
#pragma GCC diagnostic ignored "-Wunused-parameter" | |||
namespace OSC | |||
{ | |||
@@ -364,12 +364,12 @@ namespace OSC | |||
}; | |||
/* 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_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 ) | |||
#define OSC_REPLY_OK() ((OSC::Endpoint*)user_data)->send( lo_message_get_source( msg ), path, "ok" ) | |||
#define OSC_REPLY( value ) ((OSC::Endpoint*)user_data)->send( lo_message_get_source( msg ), path, value ) | |||
#define OSC_REPLY_ERR() ((OSC::Endpoint*)user_data)->send( lo_message_get_source( msg ), path, "err" ) | |||
#define OSC_ENDPOINT() ((OSC::Endpoint*)user_data) | |||
/* #define OSC_REPLY_OK() ((OSC::Endpoint*)user_data)->send( lo_message_get_source( msg ), path, "ok" ) */ | |||
/* #define OSC_REPLY( value ) ((OSC::Endpoint*)user_data)->send( lo_message_get_source( msg ), path, value ) */ | |||
/* #define OSC_REPLY_ERR() ((OSC::Endpoint*)user_data)->send( lo_message_get_source( msg ), path, "err" ) */ | |||
/* #define OSC_ENDPOINT() ((OSC::Endpoint*)user_data) */ |
@@ -304,7 +304,7 @@ mkpath ( const char *path, bool create_final_directory ) | |||
char *i = p + 1; | |||
while ( i = index( i, '/' ) ) | |||
while ( ( i = index( i, '/' ) ) ) | |||
{ | |||
*i = 0; | |||
@@ -1206,8 +1206,6 @@ OSC_HANDLER( duplicate ) | |||
// save_session_file(); | |||
const char *src = session_path; | |||
char *spath; | |||
asprintf( &spath, "%s/%s", session_root, &argv[0]->s ); | |||
@@ -1615,7 +1613,7 @@ OSC_HANDLER( error ) | |||
{ | |||
Client *c = get_client_by_address( lo_message_get_source( msg ) ); | |||
const char *rpath = &argv[0]->s; | |||
// const char *rpath = &argv[0]->s; | |||
int err_code = argv[1]->i; | |||
@@ -1637,7 +1635,7 @@ OSC_HANDLER( reply ) | |||
{ | |||
Client *c = get_client_by_address( lo_message_get_source( msg ) ); | |||
const char *rpath = &argv[0]->s; | |||
// const char *rpath = &argv[0]->s; | |||
const char *message = &argv[1]->s; | |||
if ( c ) | |||
@@ -26,23 +26,17 @@ | |||
#include <time.h> | |||
#include <unistd.h> | |||
/* helper macros for defining OSC handlers */ | |||
#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 ) | |||
static bool got_response = false; | |||
/************************/ | |||
/* OSC Message Handlers */ | |||
/************************/ | |||
OSC_HANDLER( reply ) | |||
static int osc_reply ( const char *path, const char *types, lo_arg **argv, int argc, lo_message, void * ) | |||
{ | |||
// OSCDMSG(); | |||
printf( "Reply: " ); | |||
printf( "%s : ", path ); | |||
for ( int i = 0; i < argc; ++i ) | |||
{ | |||
@@ -73,11 +67,9 @@ int main(int argc, char *argv[]) | |||
{ | |||
OSC::Endpoint s; | |||
s.init( NULL ); | |||
s.add_method( NULL, NULL, OSC_NAME( reply ), 0, ""); | |||
s.init( LO_UDP ); | |||
int r; | |||
s.add_method( NULL, NULL, osc_reply, 0, ""); | |||
std::list<OSC::OSC_Value> args; | |||
@@ -254,7 +254,7 @@ public: | |||
}; | |||
void | |||
browser_callback ( Fl_Widget *w, void *v ) | |||
browser_callback ( Fl_Widget *w, void * ) | |||
{ | |||
w->window()->hide(); | |||
} | |||
@@ -731,8 +731,12 @@ public: | |||
private: | |||
static int osc_broadcast_handler ( const char *path, const char *types, lo_arg **argv, int argc, lo_message msg, void *user_data ) | |||
static int osc_broadcast_handler ( const char *path, const char *, lo_arg **, int argc, lo_message msg, void * ) | |||
{ | |||
if ( ! argc ) | |||
/* need at least one argument... */ | |||
return 0; | |||
DMESSAGE( "Relaying broadcast" ); | |||
foreach_daemon( d ) | |||
@@ -760,7 +764,8 @@ private: | |||
Fl::lock(); | |||
if ( !strcmp( path, "/nsm/gui/session/session" ) ) | |||
if ( !strcmp( path, "/nsm/gui/session/session" ) && | |||
! strcmp( types, "s" ) ) | |||
{ | |||
controller->add_session_to_list( &argv[0]->s ); | |||
controller->sort_sessions(); | |||
@@ -790,18 +795,20 @@ private: | |||
osc->send( d->addr, "/nsm/server/list" ); | |||
} | |||
else if ( !strcmp( path, "/nsm/gui/session/name" )) | |||
else if ( !strcmp( path, "/nsm/gui/session/name" ) && | |||
!strcmp( types, "s" )) | |||
{ | |||
controller->session_name( &argv[0]->s ); | |||
} | |||
else if (!strcmp( path, "/error" )) | |||
else if (!strcmp( path, "/error" ) && | |||
!strcmp( types, "sis" ) ) | |||
{ | |||
int err = argv[1]->i; | |||
if ( err != 0 ) | |||
fl_alert( "Command %s failed with:\n\n%s", &argv[0]->s, &argv[2]->s ); | |||
} | |||
else if (!strcmp( path, "/reply" )) | |||
else if (!strcmp( path, "/reply" ) && argc && 's' == *types ) | |||
{ | |||
if ( !strcmp( &argv[0]->s, "/nsm/server/list" ) ) | |||
{ | |||
@@ -812,13 +819,14 @@ private: | |||
{ | |||
last_ping_response = time( NULL ); | |||
} | |||
else | |||
else if ( ! strcmp( types, "ss" ) ) | |||
MESSAGE( "%s says %s", &argv[0]->s, &argv[1]->s); | |||
} | |||
if ( !strncmp( path, "/nsm/gui/client/", strlen( "/nsm/gui/client/" ) ) ) | |||
{ | |||
if ( !strcmp( path, "/nsm/gui/client/new" )) | |||
if ( !strcmp( path, "/nsm/gui/client/new" ) && | |||
!strcmp( types, "ss" ) ) | |||
{ | |||
controller->client_new( &argv[0]->s, &argv[1]->s ); | |||
} | |||
@@ -828,19 +836,23 @@ private: | |||
if ( c ) | |||
{ | |||
if ( !strcmp( path, "/nsm/gui/client/status" )) | |||
if ( !strcmp( path, "/nsm/gui/client/status" ) && | |||
!strcmp( types, "ss" )) | |||
{ | |||
controller->client_pending_command( c, &argv[1]->s ); | |||
} | |||
else if ( !strcmp( path, "/nsm/gui/client/progress" )) | |||
else if ( !strcmp( path, "/nsm/gui/client/progress" ) && | |||
!strcmp( types, "sf" )) | |||
{ | |||
c->progress( argv[1]->f ); | |||
} | |||
else if ( !strcmp( path, "/nsm/gui/client/dirty" )) | |||
else if ( !strcmp( path, "/nsm/gui/client/dirty" ) && | |||
!strcmp( types, "si" )) | |||
{ | |||
c->dirty( argv[1]->i ); | |||
} | |||
else if ( !strcmp( path, "/nsm/gui/client/switch" ) ) | |||
else if ( !strcmp( path, "/nsm/gui/client/switch" ) && | |||
!strcmp( types, "ss" )) | |||
{ | |||
c->client_id( &argv[1]->s ); | |||
} | |||
@@ -861,7 +873,7 @@ private: | |||
static NSM_Controller *controller; | |||
void | |||
ping ( void *v ) | |||
ping ( void * ) | |||
{ | |||
controller->ping(); | |||
Fl::repeat_timeout( 1.0, ping, NULL ); | |||
@@ -907,7 +919,6 @@ main (int argc, char **argv ) | |||
int option_index = 0; | |||
int c = 0; | |||
const char *osc_port = NULL; | |||
while ( ( c = getopt_long_only( argc, argv, "", long_options, &option_index ) ) != -1 ) | |||
{ | |||
switch ( c ) | |||
@@ -970,8 +981,8 @@ main (int argc, char **argv ) | |||
char **args = (char **)malloc( 4 + argc - option_index ); | |||
int i = 0; | |||
args[i++] = "nsmd"; | |||
args[i++] = "--gui-url"; | |||
args[i++] = (char*)"nsmd"; | |||
args[i++] = (char*)"--gui-url"; | |||
args[i++] = url; | |||
@@ -150,7 +150,7 @@ deurlify ( char *url ) | |||
*w = *r; | |||
} | |||
*w = NULL; | |||
*w = 0; | |||
} | |||
void | |||
@@ -101,7 +101,7 @@ int | |||
NSM_Client::command_broadcast ( const char *path, lo_message msg ) | |||
{ | |||
int argc = lo_message_get_argc( msg ); | |||
lo_arg **argv = lo_message_get_argv( msg ); | |||
// lo_arg **argv = lo_message_get_argv( msg ); | |||
if ( argc == 1 && !strcmp( path, "/non/finger" ) ) | |||
{ | |||
@@ -322,7 +322,7 @@ main_window->redraw();} | |||
read_line( user_config_dir, "default_path", &path ); | |||
const char *name = fl_dir_chooser( "Open Project", path, NULL ); | |||
const char *name = fl_dir_chooser( "Open Project", path ); | |||
free( path ); | |||
@@ -863,7 +863,7 @@ project_name->redraw();} {} | |||
((TLE*)v)->update_status();} {} | |||
} | |||
Function {capture_format_cb( Fl_Widget *w, void *v )} {private return_type {static void} | |||
Function {capture_format_cb( Fl_Widget *, void *v )} {private return_type {static void} | |||
} { | |||
code {((TLE*)v)->capture_format_cb();} {} | |||
} | |||
@@ -1607,7 +1607,7 @@ Timeline::init_osc ( const char *osc_port ) | |||
} | |||
int | |||
Timeline::osc_non_hello ( const char *path, const char *types, lo_arg **argv, int argc, lo_message msg, void *user_data ) | |||
Timeline::osc_non_hello ( const char *path, const char *, lo_arg **argv, int argc, lo_message, void * ) | |||
{ | |||
OSC_DMSG(); | |||
@@ -201,13 +201,13 @@ main ( int argc, char **argv ) | |||
tle->run(); | |||
timeline->init_osc( NULL ); | |||
timeline->init_osc( osc_port ); | |||
char *nsm_url = getenv( "NSM_URL" ); | |||
if ( nsm_url ) | |||
{ | |||
if ( ! nsm->init( nsm_url ) ); | |||
if ( ! nsm->init( nsm_url ) ) | |||
{ | |||
nsm->announce( APP_NAME, ":progress:switch:", argv[0] ); | |||