📄 abtool_ui.c
字号:
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 + -