示例#1
0
文件: ui.c 项目: estibi/audioplayer
int
curses_ui()
{
	int err;

	err = ui_init();
	if (err == -1) {
		return (-1);
	}

	file_list.dir_name = malloc(MAXPATHLEN + 1);
	if (!file_list.dir_name) {
		mvwprintw(main_win, 0, 1, "ERROR: Can't initialize dir_name.");
		wrefresh(main_win);
		return (-1);
	}
	err = first_run_file_list(main_win);
	if (err == -1) {
		mvwprintw(main_win, 0, 1, "ERROR: Can't initialize file list.");
		wrefresh(main_win);
		return (-1);
	}

	sock_fd = get_client_socket();

	err = pthread_create(&receiver_thread, rcv_attr, ui_socket_receiver, rcv_arg);
	if (err != 0) {
		mvwprintw(main_win, 0, 1, "ERROR: receiver thread");
		wrefresh(main_win);
		return (-1);
	}

	show_files(main_win);
	curses_loop();

	// wait for receiver_thread if alive
	if (pthread_kill(receiver_thread, 0) == 0) {
		printw("UI: waiting for receiver_thread..");
		refresh();
		pthread_join(receiver_thread, NULL);
	}

	free_dir_list();
	free(file_list.dir_name);

	ui_cleanup();
	return (0);
}
示例#2
0
int main(int argc, char **argv) {
  bool noCurses = false;
  char *slash = strrchr(argv[0], '/');

  debug = true;

  if(!strcmp(slash ? slash + 1 : argv[0], "reader"))
    noCurses = true;
  
  load_dump(&dump, argv[1], argv[2], argv[3], argv[4]);
  article_file_str = argv[1];

  if(!noCurses) {
    handler = search_handler;
    curses_loop();
  } else {
    debug("calling reader_loop");
    reader_loop(); 
  }

  return 0;
}
示例#3
0
int main(int argc, char **argv) {
    GapIO *io;
    int xpos = 0;
    int opt;
    int lp_mode = 0;
    int mode = DISPLAY_QUAL | DISPLAY_CUTOFFS;
    extern char *optarg;
    contig_t *c;
    int cnum = 0;
    int read_only = 1;

    while ((opt = getopt(argc, argv, "hl:dcCx:e")) != -1) {
        switch (opt) {
        case '?':
        case 'h':
            usage();
            return 0;

        case 'd':
            mode |= DISPLAY_DIFFS;
            break;

        case 'c':
            mode |= DISPLAY_CUTOFFS;
            break;

        case 'C':
            mode &= ~DISPLAY_CUTOFFS;
            break;

        case 'l':
            lp_mode = atoi(optarg);
            break;

        case 'x':
            cnum = atoi(optarg)-1;
            break;

        case 'e':
            read_only = 0;
            break;

        default:
            if (opt == ':')
                fprintf(stderr, "Missing parameter\n");
            else
                fprintf(stderr, "Unknown option '%c'\n", opt);
            usage();
            return 1;
        }
    }

    if (optind == argc) {
        usage();
        return 1;
    }

    if (NULL == (io = gio_open(argv[optind], read_only, 0))) {
        fprintf(stderr, "Unable to open db: %s\n", argv[1]);
        return 1;
    }
    optind++;

    if (optind != argc) {
        xpos = atoi(argv[optind]);
    }

    io->contig_num = cnum;
    gio_read_contig(io, cnum, &c);
    cache_incr(io, c);

#ifdef TEST_MODE
    //test_mode(io, &c, xpos);
    test_mode2(io, &c, xpos);
    //benchmark(io, &c);
    //test_mode3(io, arr(GCardinal, io->contig_order, cnum), xpos);
#endif

    if (lp_mode) {
        print_output(io, &c, xpos, lp_mode, mode);
        gio_close(io);
    } else {
        init_curses();
        curses_loop(io, &c, xpos, mode);
        endwin();

        if (io->cache && io->debug_level > 0) {
            fputs("\n=== cache ===", stderr);
            HacheTableStats(io->cache, stderr);
        }

        gio_close(io);
    }

    if (!lp_mode) {
        printf("\n\n\tg_view:\tShort Read Alignment Viewer, version 1.2.11"SVN_VERS"\n");
        printf("\n\tAuthor:\tJames Bonfield ([email protected])\n");
        printf("\t\t2007-2011, Wellcome Trust Sanger Institute\n\n");
    }

    return 0;
}