Use property suffixes for units everywhere

master
Vainock 2022-07-18 04:05:45 +02:00 committed by Ryan Foster
parent 30e6613fed
commit eb06594381
21 changed files with 112 additions and 76 deletions

View File

@ -4,8 +4,8 @@ UnloadWhenNotShowing="Unload image when not showing"
LinearAlpha="Apply alpha in linear space"
SlideShow="Image Slide Show"
SlideShow.TransitionSpeed="Transition Speed (milliseconds)"
SlideShow.SlideTime="Time Between Slides (milliseconds)"
SlideShow.TransitionSpeed="Transition Speed"
SlideShow.SlideTime="Time Between Slides"
SlideShow.Files="Image Files"
SlideShow.CustomSize="Bounding Size/Aspect Ratio"
SlideShow.CustomSize.Auto="Automatic"

View File

@ -893,9 +893,14 @@ static obs_properties_t *ss_properties(void *data)
obs_property_list_add_string(p, T_TR_SWIPE, TR_SWIPE);
obs_property_list_add_string(p, T_TR_SLIDE, TR_SLIDE);
obs_properties_add_int(ppts, S_SLIDE_TIME, T_SLIDE_TIME, 50, 3600000,
50);
obs_properties_add_int(ppts, S_TR_SPEED, T_TR_SPEED, 0, 3600000, 50);
p = obs_properties_add_int(ppts, S_SLIDE_TIME, T_SLIDE_TIME, 50,
3600000, 50);
obs_property_int_set_suffix(p, " ms");
p = obs_properties_add_int(ppts, S_TR_SPEED, T_TR_SPEED, 0, 3600000,
50);
obs_property_int_set_suffix(p, " ms");
obs_properties_add_bool(ppts, S_LOOP, T_LOOP);
obs_properties_add_bool(ppts, S_HIDE, T_HIDE);
obs_properties_add_bool(ppts, S_RANDOMIZE, T_RANDOMIZE);

View File

@ -5,10 +5,10 @@ AdvancedSettings="Advanced Settings"
XServer="X Server"
XCCapture="Window Capture (Xcomposite)"
Window="Window"
CropTop="Crop Top (pixels)"
CropLeft="Crop Left (pixels)"
CropRight="Crop Right (pixels)"
CropBottom="Crop Bottom (pixels)"
CropTop="Crop Top"
CropLeft="Crop Left"
CropRight="Crop Right"
CropBottom="Crop Bottom"
SwapRedBlue="Swap red and blue"
LockX="Lock X server when capturing"
IncludeXBorder="Include X Border"

View File

@ -717,10 +717,12 @@ static obs_properties_t *xcompcap_props(void *unused)
UNUSED_PARAMETER(unused);
obs_properties_t *props = obs_properties_create();
obs_property_t *prop;
obs_property_t *wins = obs_properties_add_list(
props, "capture_window", obs_module_text("Window"),
OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING);
prop = obs_properties_add_list(props, "capture_window",
obs_module_text("Window"),
OBS_COMBO_TYPE_LIST,
OBS_COMBO_FORMAT_STRING);
DARRAY(struct WindowInfo) window_strings = {0};
struct darray windows = xcomp_top_level_windows(conn);
@ -752,7 +754,7 @@ static obs_properties_t *xcompcap_props(void *unused)
struct WindowInfo *s = (struct WindowInfo *)darray_item(
sizeof(struct WindowInfo), &window_strings.da, i);
obs_property_list_add_string(wins, s->name.array,
obs_property_list_add_string(prop, s->name.array,
s->desc.array);
dstr_free(&s->name_lower);
@ -761,14 +763,21 @@ static obs_properties_t *xcompcap_props(void *unused)
}
da_free(window_strings);
obs_properties_add_int(props, "cut_top", obs_module_text("CropTop"), 0,
4096, 1);
obs_properties_add_int(props, "cut_left", obs_module_text("CropLeft"),
0, 4096, 1);
obs_properties_add_int(props, "cut_right", obs_module_text("CropRight"),
0, 4096, 1);
obs_properties_add_int(props, "cut_bot", obs_module_text("CropBottom"),
0, 4096, 1);
prop = obs_properties_add_int(props, "cut_top",
obs_module_text("CropTop"), 0, 4096, 1);
obs_property_int_set_suffix(prop, " px");
prop = obs_properties_add_int(props, "cut_left",
obs_module_text("CropLeft"), 0, 4096, 1);
obs_property_int_set_suffix(prop, " px");
prop = obs_properties_add_int(props, "cut_right",
obs_module_text("CropRight"), 0, 4096, 1);
obs_property_int_set_suffix(prop, " px");
prop = obs_properties_add_int(
props, "cut_bot", obs_module_text("CropBottom"), 0, 4096, 1);
obs_property_int_set_suffix(prop, " px");
obs_properties_add_bool(props, "swap_redblue",
obs_module_text("SwapRedBlue"));

View File

@ -407,6 +407,7 @@ static obs_properties_t *xshm_properties(void *vptr)
XSHM_DATA(vptr);
obs_properties_t *props = obs_properties_create();
obs_property_t *prop;
obs_properties_add_list(props, "screen", obs_module_text("Screen"),
OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_INT);
@ -415,14 +416,21 @@ static obs_properties_t *xshm_properties(void *vptr)
obs_property_t *advanced = obs_properties_add_bool(
props, "advanced", obs_module_text("AdvancedSettings"));
obs_properties_add_int(props, "cut_top", obs_module_text("CropTop"),
-4096, 4096, 1);
obs_properties_add_int(props, "cut_left", obs_module_text("CropLeft"),
-4096, 4096, 1);
obs_properties_add_int(props, "cut_right", obs_module_text("CropRight"),
0, 4096, 1);
obs_properties_add_int(props, "cut_bot", obs_module_text("CropBottom"),
0, 4096, 1);
prop = obs_properties_add_int(
props, "cut_top", obs_module_text("CropTop"), -4096, 4096, 1);
obs_property_int_set_suffix(prop, " px");
prop = obs_properties_add_int(
props, "cut_left", obs_module_text("CropLeft"), -4096, 4096, 1);
obs_property_int_set_suffix(prop, " px");
prop = obs_properties_add_int(props, "cut_right",
obs_module_text("CropRight"), 0, 4096, 1);
obs_property_int_set_suffix(prop, " px");
prop = obs_properties_add_int(
props, "cut_bot", obs_module_text("CropBottom"), 0, 4096, 1);
obs_property_int_set_suffix(prop, " px");
obs_property_t *server = obs_properties_add_text(
props, "server", obs_module_text("XServer"), OBS_TEXT_DEFAULT);

View File

@ -5,8 +5,8 @@ Bitrate="Bitrate"
Quality="Quality"
UseMaxBitrate="Limit bitrate"
MaxBitrate="Maximum bitrate"
MaxBitrateWindow="Maximum bitrate window (seconds)"
KeyframeIntervalSec="Keyframe Interval (seconds, 0=auto)"
MaxBitrateWindow="Maximum bitrate window"
KeyframeIntervalSec="Keyframe Interval (0=auto)"
Profile="Profile"
None="(None)"
DefaultEncoder="(Default Encoder)"

View File

@ -988,10 +988,14 @@ static obs_properties_t *vt_properties(void *unused, void *data)
10000000, 50);
obs_property_int_set_suffix(p, " Kbps");
obs_properties_add_float(props, "max_bitrate_window",
TEXT_MAX_BITRATE_WINDOW, 0.10f, 10.0f, 0.25f);
p = obs_properties_add_float(props, "max_bitrate_window",
TEXT_MAX_BITRATE_WINDOW, 0.10f, 10.0f,
0.25f);
obs_property_float_set_suffix(p, " s");
obs_properties_add_int(props, "keyint_sec", TEXT_KEYINT_SEC, 0, 20, 1);
p = obs_properties_add_int(props, "keyint_sec", TEXT_KEYINT_SEC, 0, 20,
1);
obs_property_int_set_suffix(p, " s");
p = obs_properties_add_list(props, "profile", TEXT_PROFILE,
OBS_COMBO_TYPE_LIST,

View File

@ -8,7 +8,7 @@ MaxBitrate="Max Bitrate"
Preset="Preset"
Profile="Profile"
RateControl="Rate Control"
KeyframeIntervalSec="Keyframe Interval (seconds, 0=auto)"
KeyframeIntervalSec="Keyframe Interval (0=auto)"
Lossless="Lossless"
Level="Level"

View File

@ -253,9 +253,10 @@ obs_properties_t *av1_properties(bool svtav1)
obs_properties_add_int(props, "cqp", obs_module_text("NVENC.CQLevel"),
1, 63, 1);
obs_properties_add_int(props, "keyint_sec",
obs_module_text("KeyframeIntervalSec"), 0, 10,
1);
p = obs_properties_add_int(props, "keyint_sec",
obs_module_text("KeyframeIntervalSec"), 0,
10, 1);
obs_property_int_set_suffix(p, " s");
p = obs_properties_add_list(props, "preset", obs_module_text("Preset"),
OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_INT);

View File

@ -435,9 +435,10 @@ obs_properties_t *nvenc_properties_internal(bool hevc, bool ffmpeg)
obs_properties_add_int(props, "cqp", obs_module_text("NVENC.CQLevel"),
1, 30, 1);
obs_properties_add_int(props, "keyint_sec",
obs_module_text("KeyframeIntervalSec"), 0, 10,
1);
p = obs_properties_add_int(props, "keyint_sec",
obs_module_text("KeyframeIntervalSec"), 0,
10, 1);
obs_property_int_set_suffix(p, " s");
p = obs_properties_add_list(props, "preset", obs_module_text("Preset"),
OBS_COMBO_TYPE_LIST,

View File

@ -686,9 +686,10 @@ static obs_properties_t *vaapi_properties(void *unused)
obs_properties_add_int(props, "qp", "QP", 0, 51, 1);
obs_properties_add_int(props, "keyint_sec",
obs_module_text("KeyframeIntervalSec"), 0, 20,
1);
p = obs_properties_add_int(props, "keyint_sec",
obs_module_text("KeyframeIntervalSec"), 0,
20, 1);
obs_property_int_set_suffix(p, " s");
return props;
}

View File

@ -1,5 +1,5 @@
RTMPStream="RTMP Stream"
RTMPStream.DropThreshold="Drop Threshold (milliseconds)"
RTMPStream.DropThreshold="Drop Threshold"
FLVOutput="FLV File Output"
FLVOutput.FilePath="File Path"
Default="Default"

View File

@ -1571,9 +1571,10 @@ static obs_properties_t *rtmp_stream_properties(void *unused)
struct netif_saddr_data addrs = {0};
obs_property_t *p;
obs_properties_add_int(props, OPT_DROP_THRESHOLD,
obs_module_text("RTMPStream.DropThreshold"), 200,
10000, 100);
p = obs_properties_add_int(props, OPT_DROP_THRESHOLD,
obs_module_text("RTMPStream.DropThreshold"),
200, 10000, 100);
obs_property_int_set_suffix(p, " ms");
p = obs_properties_add_list(props, OPT_BIND_IP,
obs_module_text("RTMPStream.BindIP"),

View File

@ -2,7 +2,7 @@ TargetUsage="Target Usage"
Bitrate="Bitrate"
MaxBitrate="Max Bitrate"
RateControl="Rate Control"
KeyframeIntervalSec="Keyframe Interval (seconds, 0=auto)"
KeyframeIntervalSec="Keyframe Interval (0=auto)"
Profile="Profile"
Accuracy="Accuracy"
Convergence="Convergence"

View File

@ -335,36 +335,37 @@ static obs_properties_t *obs_qsv_props(void *unused)
UNUSED_PARAMETER(unused);
obs_properties_t *props = obs_properties_create();
obs_property_t *list;
obs_property_t *prop;
list = obs_properties_add_list(props, "target_usage", TEXT_SPEED,
prop = obs_properties_add_list(props, "target_usage", TEXT_SPEED,
OBS_COMBO_TYPE_LIST,
OBS_COMBO_FORMAT_STRING);
add_strings(list, qsv_usage_names);
add_strings(prop, qsv_usage_names);
list = obs_properties_add_list(props, "profile", TEXT_PROFILE,
prop = obs_properties_add_list(props, "profile", TEXT_PROFILE,
OBS_COMBO_TYPE_LIST,
OBS_COMBO_FORMAT_STRING);
add_strings(list, qsv_profile_names);
add_strings(prop, qsv_profile_names);
obs_property_set_modified_callback(list, profile_modified);
obs_property_set_modified_callback(prop, profile_modified);
obs_properties_add_int(props, "keyint_sec", TEXT_KEYINT_SEC, 1, 20, 1);
prop = obs_properties_add_int(props, "keyint_sec", TEXT_KEYINT_SEC, 1,
20, 1);
obs_property_int_set_suffix(prop, " s");
list = obs_properties_add_list(props, "rate_control", TEXT_RATE_CONTROL,
prop = obs_properties_add_list(props, "rate_control", TEXT_RATE_CONTROL,
OBS_COMBO_TYPE_LIST,
OBS_COMBO_FORMAT_STRING);
add_rate_controls(list, qsv_ratecontrols);
obs_property_set_modified_callback(list, rate_control_modified);
add_rate_controls(prop, qsv_ratecontrols);
obs_property_set_modified_callback(prop, rate_control_modified);
obs_property_t *p;
p = obs_properties_add_int(props, "bitrate", TEXT_TARGET_BITRATE, 50,
10000000, 50);
obs_property_int_set_suffix(p, " Kbps");
prop = obs_properties_add_int(props, "bitrate", TEXT_TARGET_BITRATE, 50,
10000000, 50);
obs_property_int_set_suffix(prop, " Kbps");
p = obs_properties_add_int(props, "max_bitrate", TEXT_MAX_BITRATE, 50,
10000000, 50);
obs_property_int_set_suffix(p, " Kbps");
prop = obs_properties_add_int(props, "max_bitrate", TEXT_MAX_BITRATE,
50, 10000000, 50);
obs_property_int_set_suffix(prop, " Kbps");
obs_properties_add_int(props, "accuracy", TEXT_ACCURACY, 0, 10000, 1);
obs_properties_add_int(props, "convergence", TEXT_CONVERGENCE, 0, 10,
@ -374,11 +375,11 @@ static obs_properties_t *obs_qsv_props(void *unused)
obs_properties_add_int(props, "qpb", "QPB", 1, 51, 1);
obs_properties_add_int(props, "icq_quality", TEXT_ICQ_QUALITY, 1, 51,
1);
list = obs_properties_add_list(props, "latency", TEXT_LATENCY,
prop = obs_properties_add_list(props, "latency", TEXT_LATENCY,
OBS_COMBO_TYPE_LIST,
OBS_COMBO_FORMAT_STRING);
add_strings(list, qsv_latency_names);
obs_property_set_long_description(list,
add_strings(prop, qsv_latency_names);
obs_property_set_long_description(prop,
obs_module_text("Latency.ToolTip"));
obs_properties_add_int(props, "bframes", TEXT_BFRAMES, 0, 3, 1);

View File

@ -3,7 +3,7 @@ CustomBufsize="Use Custom Buffer Size"
BufferSize="Buffer Size"
RateControl="Rate Control"
CRF="CRF"
KeyframeIntervalSec="Keyframe Interval (seconds, 0=auto)"
KeyframeIntervalSec="Keyframe Interval (0=auto)"
CPUPreset="CPU Usage Preset (higher = less CPU)"
Profile="Profile"
Tune="Tune"

View File

@ -200,7 +200,9 @@ static obs_properties_t *obs_x264_props(void *unused)
obs_properties_add_int(props, "crf", TEXT_CRF, 0, 51, 1);
obs_properties_add_int(props, "keyint_sec", TEXT_KEYINT_SEC, 0, 20, 1);
p = obs_properties_add_int(props, "keyint_sec", TEXT_KEYINT_SEC, 0, 20,
1);
obs_property_int_set_suffix(p, " s");
list = obs_properties_add_list(props, "preset", TEXT_PRESET,
OBS_COMBO_TYPE_LIST,

View File

@ -6,7 +6,7 @@ PlaybackBehavior="Visibility behavior"
PlaybackBehavior.StopRestart="Stop when not visible, restart when visible"
PlaybackBehavior.PauseUnpause="Pause when not visible, unpause when visible"
PlaybackBehavior.AlwaysPlay="Always play even when not visible"
NetworkCaching="Network Caching (ms)"
NetworkCaching="Network Caching"
PlayPause="Play/Pause"
Restart="Restart"
Stop="Stop"

View File

@ -1127,8 +1127,10 @@ static obs_properties_t *vlcs_properties(void *data)
dstr_free(&filter);
dstr_free(&exts);
obs_properties_add_int(ppts, S_NETWORK_CACHING, T_NETWORK_CACHING, 100,
60000, 10);
p = obs_properties_add_int(ppts, S_NETWORK_CACHING, T_NETWORK_CACHING,
100, 60000, 10);
obs_property_int_set_suffix(p, " ms");
obs_properties_add_int(ppts, S_TRACK, T_TRACK, 1, 10, 1);
obs_properties_add_bool(ppts, S_SUBTITLE_ENABLE, T_SUBTITLE_ENABLE);
obs_properties_add_int(ppts, S_SUBTITLE_TRACK, T_SUBTITLE_TRACK, 1, 10,

View File

@ -10,7 +10,7 @@ MF.H264.BufferSize="Buffer Size"
MF.H264.CustomMaxBitrate="Use Custom Max Bitrate"
MF.H264.Bitrate="Bitrate"
MF.H264.MaxBitrate="Max Bitrate"
MF.H264.KeyframeIntervalSec="Keyframe Interval (seconds, 0=auto)"
MF.H264.KeyframeIntervalSec="Keyframe Interval (0=auto)"
MF.H264.RateControl="Rate Control"
MF.H264.CBR="CBR (Constant Bitrate)"
MF.H264.VBR="VBR (Variable Bitrate)"

View File

@ -206,7 +206,8 @@ static obs_properties_t *MFH264_GetProperties(void *)
obs_property_list_add_int(list, "main", H264ProfileMain);
obs_property_list_add_int(list, "high", H264ProfileHigh);
obs_properties_add_int(props, MFP_KEY_INT, TEXT_KEYINT_SEC, 0, 20, 1);
p = obs_properties_add_int(props, MFP_KEY_INT, TEXT_KEYINT_SEC, 0, 20, 1);
obs_property_int_set_suffix(p, " s");
list = obs_properties_add_list(props, MFP_RATE_CONTROL,
TEXT_RATE_CONTROL, OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_INT);