⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abtool_ui.c

📁 lpc 2400 bps语音编解码程序
💻 C
📖 第 1 页 / 共 2 页
字号:
	if (!ip->playcmd)
		ip->playcmd = abtool_pwin_playcmd_create(ip, ip->controls3);
	if (!ip->audio_cmd)
		ip->audio_cmd = abtool_pwin_audio_cmd_create(ip, ip->controls3);
	return ip;
}

/*
 * Create object `pwin' in the specified instance.
 */
Xv_opaque
abtool_pwin_pwin_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, FRAME_CMD,
		XV_KEY_DATA, INSTANCE, ip,
		XV_WIDTH, 316,
		XV_HEIGHT, 315,
		XV_LABEL, "A/B Tool: Properties",
		XV_SHOW, FALSE,
		FRAME_SHOW_FOOTER, FALSE,
		FRAME_SHOW_RESIZE_CORNER, FALSE,
		FRAME_CMD_PUSHPIN_IN, TRUE,
		NULL);
	xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
	return obj;
}

/*
 * Create object `controls3' in the specified instance.
 */
Xv_opaque
abtool_pwin_controls3_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, 0,
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, WIN_EXTEND_TO_EDGE,
		WIN_BORDER, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `graph' in the specified instance.
 */
Xv_opaque
abtool_pwin_graph_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 34,
		XV_Y, 4,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_CHOOSE_NONE, FALSE,
		PANEL_LABEL_STRING, "Graph:",
		PANEL_CHOICE_STRINGS,
			"RMS",
			"Peak",
			NULL,
		NULL);
	return obj;
}

/*
 * Create object `time' in the specified instance.
 */
Xv_opaque
abtool_pwin_time_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 184,
		XV_Y, 4,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Time:",
		PANEL_CHOICE_STRINGS,
			"10 sec",
			"30 sec",
			"1 min",
			"2 min",
			"5 min",
			"10 min",
			"20 min",
			NULL,
		PANEL_DEFAULT_VALUE, 2,
		NULL);
	return obj;
}

/*
 * Create object `autoscale' in the specified instance.
 */
Xv_opaque
abtool_pwin_autoscale_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 4,
		XV_Y, 29,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_CHOOSE_NONE, FALSE,
		PANEL_LABEL_STRING, "Auto Scale:",
		PANEL_CHOICE_STRINGS,
			"Off  ",
			" On  ",
			NULL,
		NULL);
	return obj;
}

/*
 * Create object `fname' in the specified instance.
 */
Xv_opaque
abtool_pwin_fname_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	extern void		showfiles(Panel_item, int, Event *);
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 4,
		XV_Y, 54,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_CHOOSE_NONE, FALSE,
		PANEL_LABEL_STRING, "Filenames:",
		PANEL_NOTIFY_PROC, showfiles,
		PANEL_CHOICE_STRINGS,
			"Show",
			"Hide",
			NULL,
		NULL);
	return obj;
}

/*
 * Create object `gain' in the specified instance.
 */
Xv_opaque
abtool_pwin_gain_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 47,
		XV_Y, 92,
		PANEL_VALUE_DISPLAY_LENGTH, 5,
		PANEL_VALUE_STORED_LENGTH, 5,
		PANEL_LABEL_STRING, "Gain:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `ref_h' in the specified instance.
 */
Xv_opaque
abtool_pwin_ref_h_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "abtool:ref_h",
		XV_X, 152,
		XV_Y, 94,
		PANEL_LABEL_STRING, "Ref:",
		PANEL_LABEL_BOLD, TRUE,
		NULL);
	return obj;
}

/*
 * Create object `ref' in the specified instance.
 */
Xv_opaque
abtool_pwin_ref_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "abtool:ref",
		XV_X, 188,
		XV_Y, 94,
		PANEL_LABEL_STRING, ".",
		PANEL_LABEL_BOLD, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `file_h' in the specified instance.
 */
Xv_opaque
abtool_pwin_file_h_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "abtool:file_h",
		XV_X, 212,
		XV_Y, 94,
		PANEL_LABEL_STRING, "File:",
		PANEL_LABEL_BOLD, TRUE,
		NULL);
	return obj;
}

/*
 * Create object `file' in the specified instance.
 */
Xv_opaque
abtool_pwin_file_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "abtool:file",
		XV_X, 250,
		XV_Y, 94,
		PANEL_LABEL_STRING, ".",
		PANEL_LABEL_BOLD, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `delay' in the specified instance.
 */
Xv_opaque
abtool_pwin_delay_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "abtool:delay",
		XV_X, 4,
		XV_Y, 109,
		PANEL_VALUE_DISPLAY_LENGTH, 5,
		PANEL_VALUE_STORED_LENGTH, 5,
		PANEL_LABEL_STRING, "Delay (ms):",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `corr_h' in the specified instance.
 */
Xv_opaque
abtool_pwin_corr_h_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "abtool:corr_h",
		XV_X, 152,
		XV_Y, 111,
		PANEL_LABEL_STRING, "Corr:",
		PANEL_LABEL_BOLD, TRUE,
		NULL);
	return obj;
}

/*
 * Create object `corr' in the specified instance.
 */
Xv_opaque
abtool_pwin_corr_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "abtool:corr",
		XV_X, 194,
		XV_Y, 111,
		PANEL_LABEL_STRING, ".",
		PANEL_LABEL_BOLD, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `maxdelay' in the specified instance.
 */
Xv_opaque
abtool_pwin_maxdelay_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 8,
		XV_Y, 126,
		PANEL_VALUE_DISPLAY_LENGTH, 5,
		PANEL_VALUE_STORED_LENGTH, 5,
		PANEL_LABEL_STRING, "Max Delay:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `thresh' in the specified instance.
 */
Xv_opaque
abtool_pwin_thresh_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_SLIDER,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 8,
		XV_Y, 152,
		PANEL_SLIDER_WIDTH, 100,
		PANEL_TICKS, 0,
		PANEL_LABEL_STRING, "Thresh dB:",
		PANEL_DIRECTION, PANEL_HORIZONTAL,
		PANEL_SLIDER_END_BOXES, FALSE,
		PANEL_SHOW_RANGE, TRUE,
		PANEL_SHOW_VALUE, TRUE,
		PANEL_MIN_VALUE, 0,
		PANEL_MAX_VALUE, 100,
		PANEL_VALUE, 0,
		NULL);
	return obj;
}

/*
 * Create object `gap' in the specified instance.
 */
Xv_opaque
abtool_pwin_gap_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_SLIDER,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 17,
		XV_Y, 174,
		PANEL_SLIDER_WIDTH, 100,
		PANEL_TICKS, 0,
		PANEL_LABEL_STRING, "Gap (ms):",
		PANEL_DIRECTION, PANEL_HORIZONTAL,
		PANEL_SLIDER_END_BOXES, FALSE,
		PANEL_SHOW_RANGE, TRUE,
		PANEL_SHOW_VALUE, TRUE,
		PANEL_MIN_VALUE, 0,
		PANEL_MAX_VALUE, 2000,
		PANEL_VALUE, 0,
		NULL);
	return obj;
}

/*
 * Create object `pad' in the specified instance.
 */
Xv_opaque
abtool_pwin_pad_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_SLIDER,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 19,
		XV_Y, 196,
		PANEL_SLIDER_WIDTH, 100,
		PANEL_TICKS, 0,
		PANEL_LABEL_STRING, "Pad (ms):",
		PANEL_DIRECTION, PANEL_HORIZONTAL,
		PANEL_SLIDER_END_BOXES, FALSE,
		PANEL_SHOW_RANGE, TRUE,
		PANEL_SHOW_VALUE, TRUE,
		PANEL_MIN_VALUE, 0,
		PANEL_MAX_VALUE, 2000,
		PANEL_VALUE, 0,
		NULL);
	return obj;
}

/*
 * Create object `audio_io' in the specified instance.
 */
Xv_opaque
abtool_pwin_audio_io_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 10,
		XV_Y, 240,
		PANEL_CHOICE_NCOLS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Audio I/O:",
		PANEL_CHOICE_STRINGS,
			"Internal",
			"Play Cmd",
			"MTU",
			"DAT Link",
			NULL,
		NULL);
	return obj;
}

/*
 * Create object `audio_hold' in the specified instance.
 */
Xv_opaque
abtool_pwin_audio_hold_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	extern void		audio_hold(Panel_item, int, Event *);
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 190,
		XV_Y, 240,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_CHOOSE_NONE, FALSE,
		PANEL_NOTIFY_PROC, audio_hold,
		PANEL_CHOICE_STRINGS,
			"Hold",
			"Release",
			NULL,
		NULL);
	return obj;
}

/*
 * Create object `playcmd' in the specified instance.
 */
Xv_opaque
abtool_pwin_playcmd_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 13,
		XV_Y, 267,
		PANEL_VALUE_DISPLAY_LENGTH, 16,
		PANEL_VALUE_STORED_LENGTH, 80,
		PANEL_LABEL_STRING, "Play Cmd:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_VALUE, "play -s $S:$E",
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `audio_cmd' in the specified instance.
 */
Xv_opaque
abtool_pwin_audio_cmd_create(abtool_pwin_objects *ip, Xv_opaque owner)
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 3,
		XV_Y, 286,
		PANEL_VALUE_DISPLAY_LENGTH, 16,
		PANEL_VALUE_STORED_LENGTH, 80,
		PANEL_LABEL_STRING, "Audio Cmd:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_VALUE, "audiocontrol",
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -