From: Maksym Veremeyenko Date: Tue, 3 Jul 2012 14:04:46 +0000 (+0300) Subject: override port usage, helps to use another instance for lib operations of melted X-Git-Url: http://research.m1stereo.tv/gitweb?a=commitdiff_plain;h=d31575c9e3f5dac1dc7596b4cb2a8457ea2bef6b;p=melted_gui override port usage, helps to use another instance for lib operations of melted --- diff --git a/src/instance.h b/src/instance.h index dab8930..c3e14ae 100644 --- a/src/instance.h +++ b/src/instance.h @@ -140,6 +140,7 @@ typedef struct instance_desc player_t item[MAX_PLAYERS]; int count; char host[PATH_MAX]; + int port; pthread_mutex_t lock; } players; int f_exit; @@ -155,6 +156,7 @@ typedef struct instance_desc } playlist; struct { + int port; void* handle[2]; GdkPixbuf *icons[8]; diff --git a/src/library.c b/src/library.c index 84d5eef..5915ed5 100644 --- a/src/library.c +++ b/src/library.c @@ -236,7 +236,7 @@ static void on_library_row_collapsed void library_init(instance_t* app) { /* connect to library */ - app->library.handle[1] = mvcp_parser_init_remote(app->players.host, 5250); + app->library.handle[1] = mvcp_parser_init_remote(app->players.host, app->library.port); app->library.handle[0] = mvcp_init(app->library.handle[1]); if(mvcp_connect(app->library.handle[0]) != mvcp_ok) { diff --git a/src/opts.c b/src/opts.c index 109ba1f..55b0d77 100644 --- a/src/opts.c +++ b/src/opts.c @@ -35,6 +35,8 @@ static const struct option long_options [] = { { "host", required_argument, NULL, '0'}, { "unit", required_argument, NULL, '1'}, + { "lib-port", required_argument, NULL, '2'}, + { "main-port", required_argument, NULL, '3'}, { "help", no_argument, NULL, 'h'}, { 0, 0, 0, 0} }; @@ -47,7 +49,8 @@ int instance_opt(int argc, char** argv, instance_t* app) int c, index = 0; /* setup defaults */ - app->library.id_display_rate = 20; + app->players.port = 5250; + app->library.port = 5250; /* reset datas */ optind = 0; opterr = 0; optopt = 0; @@ -76,6 +79,16 @@ int instance_opt(int argc, char** argv, instance_t* app) app->players.count++; break; + /** --lib-port */ + case '2': + app->library.port = atol(optarg); + break; + + /** --main-port */ + case '3': + app->players.port = atol(optarg); + break; + default: fprintf(stderr, "ERROR: Incorrect argument!\n"); return 1; @@ -94,5 +107,7 @@ void instance_usage(void) "Usage:\n" "\t--host= Host name of melted server\n" "\t--unit= Player to use (e.g. unit number)\n" + "\t--main-port= Melted instance ip port binded (default 5250), playback operations\n" + "\t--lib-port= Melted instance ip port binded (default 5250), library operations\n" ); }; diff --git a/src/player.c b/src/player.c index b07723b..d7468b6 100644 --- a/src/player.c +++ b/src/player.c @@ -200,7 +200,7 @@ static void* player_thread_proc(void* data) void player_run(instance_t* app, int idx) { player_handle_t* handle = malloc(sizeof(player_handle_t)); - handle->parser = mvcp_parser_init_remote(app->players.host, 5250); + handle->parser = mvcp_parser_init_remote(app->players.host, app->players.port); handle->status = mvcp_init(handle->parser); handle->command = mvcp_init(handle->parser); app->players.item[idx].handle = handle;