int osc_open ( const char *path, const char *types, lo_arg **argv, int argc, lo_message msg, void *user_data ) { const char *new_path = &argv[0]->s; const char *display_name = &argv[1]->s; const char *client_id = &argv[2]->s; if ( nsm_client_id ) free(nsm_client_id); nsm_client_id = strdup( client_id ); if ( nsm_display_name ) free( nsm_display_name ); nsm_display_name = strdup( display_name ); char *new_filename; mkdir( new_path, 0777 ); chdir( new_path ); asprintf( &new_filename, "%s/%s", new_path, CONFIG_FILE_NAME ); struct stat st; if ( 0 == stat( new_filename, &st ) ) { if ( open( new_path ) ) { } else { lo_send_from( nsm_addr, losrv, LO_TT_IMMEDIATE, "/error", "sis", path, -1, "Could not open file" ); return 0; } lo_send_from( nsm_addr, losrv, LO_TT_IMMEDIATE, "/nsm/client/gui_is_hidden", "" ); } else { show_gui(); } if ( project_file ) free( project_file ); project_file = strdup( new_path ); // new_filename; lo_send_from( nsm_addr, losrv, LO_TT_IMMEDIATE, "/reply", "ss", path, "OK" ); if ( gui_addr ) nsm_proxy->update( gui_addr ); return 0; }
int osc_show_gui ( const char *path, const char *types, lo_arg **argv, int argc, lo_message msg, void *user_data ) { show_gui(); /* FIXME: detect errors */ lo_send_from( nsm_addr, losrv, LO_TT_IMMEDIATE, "/reply", "ss", path, "OK" ); return 0; }
void formula_debugger::check_breakpoints() { for( std::deque< breakpoint_ptr >::iterator b = breakpoints_.begin(); b!= breakpoints_.end(); ++b) { if ((*b)->is_break_now()){ current_breakpoint_ = (*b); show_gui(); current_breakpoint_ = breakpoint_ptr(); if ((*b)->is_one_time_only()) { breakpoints_.erase(b); } break; } } }
int main(int argc, char** argv) { return parse_options(argc, argv) || list_commands(get_config_file()) || show_gui(&argc, &argv); }