UI, obs-plugins: Add spinbox suffixes where necessary

master
Clayton Groeneveld 2019-07-18 02:38:50 -05:00
parent 8af49016fa
commit 3ea354b4e4
19 changed files with 172 additions and 136 deletions

View File

@ -668,7 +668,7 @@ Basic.Settings.Output.Mode.Simple="Simple"
Basic.Settings.Output.Mode.Adv="Advanced"
Basic.Settings.Output.Mode.FFmpeg="FFmpeg Output"
Basic.Settings.Output.UseReplayBuffer="Enable Replay Buffer"
Basic.Settings.Output.ReplayBuffer.SecondsMax="Maximum Replay Time (Seconds)"
Basic.Settings.Output.ReplayBuffer.SecondsMax="Maximum Replay Time"
Basic.Settings.Output.ReplayBuffer.MegabytesMax="Maximum Memory (Megabytes)"
Basic.Settings.Output.ReplayBuffer.Estimate="Estimated memory usage: %1 MB"
Basic.Settings.Output.ReplayBuffer.EstimateUnknown="Cannot estimate memory usage. Please set maximum memory limit."
@ -696,7 +696,7 @@ Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Software (x264 low CPU usag
Basic.Settings.Output.VideoBitrate="Video Bitrate"
Basic.Settings.Output.AudioBitrate="Audio Bitrate"
Basic.Settings.Output.Reconnect="Automatically Reconnect"
Basic.Settings.Output.RetryDelay="Retry Delay (seconds)"
Basic.Settings.Output.RetryDelay="Retry Delay"
Basic.Settings.Output.MaxRetries="Maximum Retries"
Basic.Settings.Output.Advanced="Enable Advanced Encoder Settings"
Basic.Settings.Output.EncoderPreset="Encoder Preset"
@ -824,7 +824,7 @@ Basic.Settings.Advanced.Audio.MonitoringDevice="Monitoring Device"
Basic.Settings.Advanced.Audio.MonitoringDevice.Default="Default"
Basic.Settings.Advanced.Audio.DisableAudioDucking="Disable Windows audio ducking"
Basic.Settings.Advanced.StreamDelay="Stream Delay"
Basic.Settings.Advanced.StreamDelay.Duration="Duration (seconds)"
Basic.Settings.Advanced.StreamDelay.Duration="Duration"
Basic.Settings.Advanced.StreamDelay.Preserve="Preserve cutoff point (increase delay) when reconnecting"
Basic.Settings.Advanced.StreamDelay.MemoryUsage="Estimated Memory Usage: %1 MB"
Basic.Settings.Advanced.Network="Network"
@ -841,7 +841,7 @@ Basic.AdvAudio.Name="Name"
Basic.AdvAudio.Volume="Volume"
Basic.AdvAudio.Mono="Downmix to Mono"
Basic.AdvAudio.Balance="Balance"
Basic.AdvAudio.SyncOffset="Sync Offset (ms)"
Basic.AdvAudio.SyncOffset="Sync Offset"
Basic.AdvAudio.Monitoring="Audio Monitoring"
Basic.AdvAudio.Monitoring.None="Monitor Off"
Basic.AdvAudio.Monitoring.MonitorOnly="Monitor Only (mute output)"

View File

@ -188,7 +188,7 @@
<x>0</x>
<y>0</y>
<width>1079</width>
<height>21</height>
<height>22</height>
</rect>
</property>
<widget class="QMenu" name="menu_File">
@ -728,7 +728,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>80</width>
<width>64</width>
<height>16</height>
</rect>
</property>
@ -781,8 +781,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>28</width>
<height>16</height>
<width>16</width>
<height>28</height>
</rect>
</property>
<property name="sizePolicy">
@ -1025,7 +1025,7 @@
<string>Basic.TransitionDuration</string>
</property>
<property name="suffix">
<string>ms</string>
<string> ms</string>
</property>
<property name="minimum">
<number>2</number>

View File

@ -138,7 +138,7 @@
<item>
<widget class="QScrollArea" name="scrollArea_2">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
@ -151,8 +151,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>808</width>
<height>989</height>
<width>806</width>
<height>1225</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_19">
@ -1159,22 +1159,22 @@
</property>
<item>
<widget class="QScrollArea" name="scrollArea_3">
<property name="widgetResizable">
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_3">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>747</width>
<height>808</height>
<width>813</width>
<height>761</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_21">
@ -3511,7 +3511,7 @@
<item row="0" column="1">
<widget class="QSpinBox" name="advRBSecMax">
<property name="suffix">
<string notr="true"> sec</string>
<string notr="true"> s</string>
</property>
<property name="minimum">
<number>5</number>
@ -3608,21 +3608,7 @@
<item>
<widget class="QScrollArea" name="scrollArea_50">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>594</width>
<height>807</height>
</rect>
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
@ -3635,8 +3621,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>594</width>
<height>807</height>
<width>767</width>
<height>582</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_50">
@ -4064,7 +4050,7 @@
</widget>
</widget>
</item>
<item row="11" column="1">
<item>
<widget class="QLabel" name="audioMsg">
<property name="text">
<string notr="true"/>
@ -4077,7 +4063,7 @@
</property>
</widget>
</item>
<item row="12" column="1">
<item>
<widget class="QLabel" name="audioMsg_2">
<property name="text">
<string notr="true"/>
@ -4451,8 +4437,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>765</width>
<height>993</height>
<width>806</width>
<height>933</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_23">
@ -4895,7 +4881,7 @@
</size>
</property>
<property name="suffix">
<string notr="true">s</string>
<string notr="true"> s</string>
</property>
<property name="minimum">
<number>1</number>
@ -4989,6 +4975,9 @@
</property>
<item>
<widget class="QSpinBox" name="reconnectRetryDelay">
<property name="suffix">
<string> s</string>
</property>
<property name="maximum">
<number>30</number>
</property>

View File

@ -334,6 +334,7 @@ void OBSPropertiesView::AddInt(obs_property_t *prop, QFormLayout *layout,
spin->setValue(val);
spin->setToolTip(QT_UTF8(obs_property_long_description(prop)));
spin->setSuffix(QT_UTF8(suffix));
spin->setFixedWidth(100);
WidgetInfo *info = new WidgetInfo(this, prop, spin);
children.emplace_back(info);
@ -385,6 +386,8 @@ void OBSPropertiesView::AddFloat(obs_property_t *prop, QFormLayout *layout,
spin->setValue(val);
spin->setToolTip(QT_UTF8(obs_property_long_description(prop)));
spin->setSuffix(QT_UTF8(suffix));
spin->setDecimals(1);
spin->setFixedWidth(100);
WidgetInfo *info = new WidgetInfo(this, prop, spin);
children.emplace_back(info);

View File

@ -29,7 +29,7 @@ LocalFile="Local File"
Looping="Loop"
Input="Input"
InputFormat="Input Format"
BufferingMB="Network Buffering (MB)"
BufferingMB="Network Buffering"
HardwareDecode="Use hardware decoding when available"
ClearOnMediaEnd="Show nothing when playback ends"
Advanced="Advanced"
@ -41,7 +41,7 @@ ColorRange.Auto="Auto"
ColorRange.Partial="Partial"
ColorRange.Full="Full"
RestartMedia="Restart Media"
SpeedPercentage="Speed (percent)"
SpeedPercentage="Speed"
Seekable="Seekable"
MediaFileFilter.AllMediaFiles="All Media Files"

View File

@ -155,8 +155,10 @@ static obs_properties_t *ffmpeg_source_getproperties(void *data)
obs_properties_add_bool(props, "restart_on_activate",
obs_module_text("RestartWhenActivated"));
obs_properties_add_int_slider(props, "buffering_mb",
obs_module_text("BufferingMB"), 1, 16, 1);
prop = obs_properties_add_int_slider(props, "buffering_mb",
obs_module_text("BufferingMB"), 1,
16, 1);
obs_property_int_set_suffix(prop, " MB");
obs_properties_add_text(props, "input", obs_module_text("Input"),
OBS_TEXT_DEFAULT);
@ -180,9 +182,10 @@ static obs_properties_t *ffmpeg_source_getproperties(void *data)
obs_property_set_long_description(
prop, obs_module_text("CloseFileWhenInactive.ToolTip"));
obs_properties_add_int_slider(props, "speed_percent",
obs_module_text("SpeedPercentage"), 1,
200, 1);
prop = obs_properties_add_int_slider(props, "speed_percent",
obs_module_text("SpeedPercentage"),
1, 200, 1);
obs_property_int_set_suffix(prop, "%");
prop = obs_properties_add_list(props, "color_range",
obs_module_text("ColorRange"),

View File

@ -115,8 +115,9 @@ static obs_properties_t *async_delay_filter_properties(void *data)
{
obs_properties_t *props = obs_properties_create();
obs_properties_add_int(props, SETTING_DELAY_MS, TEXT_DELAY_MS, 0, 20000,
1);
obs_property_t *p = obs_properties_add_int(props, SETTING_DELAY_MS,
TEXT_DELAY_MS, 0, 20000, 1);
obs_property_int_set_suffix(p, " ms");
UNUSED_PARAMETER(data);
return props;

View File

@ -499,22 +499,31 @@ static obs_properties_t *compressor_properties(void *data)
struct compressor_data *cd = data;
obs_properties_t *props = obs_properties_create();
obs_source_t *parent = NULL;
obs_property_t *p;
if (cd)
parent = obs_filter_get_parent(cd->context);
obs_properties_add_float_slider(props, S_RATIO, TEXT_RATIO, MIN_RATIO,
MAX_RATIO, 0.5);
obs_properties_add_float_slider(props, S_THRESHOLD, TEXT_THRESHOLD,
MIN_THRESHOLD_DB, MAX_THRESHOLD_DB,
0.1);
obs_properties_add_int_slider(props, S_ATTACK_TIME, TEXT_ATTACK_TIME,
MIN_ATK_RLS_MS, MAX_ATK_MS, 1);
obs_properties_add_int_slider(props, S_RELEASE_TIME, TEXT_RELEASE_TIME,
MIN_ATK_RLS_MS, MAX_RLS_MS, 1);
obs_properties_add_float_slider(props, S_OUTPUT_GAIN, TEXT_OUTPUT_GAIN,
MIN_OUTPUT_GAIN_DB, MAX_OUTPUT_GAIN_DB,
0.1);
p = obs_properties_add_float_slider(props, S_RATIO, TEXT_RATIO,
MIN_RATIO, MAX_RATIO, 0.5);
obs_property_float_set_suffix(p, ":1");
p = obs_properties_add_float_slider(props, S_THRESHOLD, TEXT_THRESHOLD,
MIN_THRESHOLD_DB, MAX_THRESHOLD_DB,
0.1);
obs_property_float_set_suffix(p, " dB");
p = obs_properties_add_int_slider(props, S_ATTACK_TIME,
TEXT_ATTACK_TIME, MIN_ATK_RLS_MS,
MAX_ATK_MS, 1);
obs_property_int_set_suffix(p, " ms");
p = obs_properties_add_int_slider(props, S_RELEASE_TIME,
TEXT_RELEASE_TIME, MIN_ATK_RLS_MS,
MAX_RLS_MS, 1);
obs_property_int_set_suffix(p, " ms");
p = obs_properties_add_float_slider(props, S_OUTPUT_GAIN,
TEXT_OUTPUT_GAIN,
MIN_OUTPUT_GAIN_DB,
MAX_OUTPUT_GAIN_DB, 0.1);
obs_property_float_set_suffix(p, " dB");
obs_property_t *sources = obs_properties_add_list(
props, S_SIDECHAIN_SOURCE, TEXT_SIDECHAIN_SOURCE,

View File

@ -14,7 +14,7 @@ NoiseGate="Noise Gate"
NoiseSuppress="Noise Suppression"
InvertPolarity="Invert Polarity"
Gain="Gain"
DelayMs="Delay (milliseconds)"
DelayMs="Delay"
Type="Type"
MaskBlendType.MaskColor="Alpha Mask (Color Channel)"
MaskBlendType.MaskAlpha="Alpha Mask (Alpha Channel)"
@ -50,12 +50,12 @@ Red="Red"
Green="Green"
Blue="Blue"
Magenta="Magenta"
NoiseGate.OpenThreshold="Open Threshold (dB)"
NoiseGate.CloseThreshold="Close Threshold (dB)"
NoiseGate.AttackTime="Attack Time (milliseconds)"
NoiseGate.HoldTime="Hold Time (milliseconds)"
NoiseGate.ReleaseTime="Release Time (milliseconds)"
Gain.GainDB="Gain (dB)"
NoiseGate.OpenThreshold="Open Threshold"
NoiseGate.CloseThreshold="Close Threshold"
NoiseGate.AttackTime="Attack Time"
NoiseGate.HoldTime="Hold Time"
NoiseGate.ReleaseTime="Release Time"
Gain.GainDB="Gain"
StretchImage="Stretch Image (discard image aspect ratio)"
Resolution="Resolution"
Base.Canvas="Base (Canvas) Resolution"
@ -66,26 +66,26 @@ ScaleFiltering.Bilinear="Bilinear"
ScaleFiltering.Bicubic="Bicubic"
ScaleFiltering.Lanczos="Lanczos"
ScaleFiltering.Area="Area"
NoiseSuppress.SuppressLevel="Suppression Level (dB)"
NoiseSuppress.SuppressLevel="Suppression Level"
Saturation="Saturation"
HueShift="Hue Shift"
Amount="Amount"
Compressor="Compressor"
Compressor.Ratio="Ratio (X:1)"
Compressor.Threshold="Threshold (dB)"
Compressor.AttackTime="Attack (ms)"
Compressor.ReleaseTime="Release (ms)"
Compressor.OutputGain="Output Gain (dB)"
Compressor.Ratio="Ratio"
Compressor.Threshold="Threshold"
Compressor.AttackTime="Attack"
Compressor.ReleaseTime="Release"
Compressor.OutputGain="Output Gain"
Compressor.SidechainSource="Sidechain/Ducking Source"
Limiter="Limiter"
Limiter.Threshold="Threshold (dB)"
Limiter.ReleaseTime="Release (ms)"
Limiter.Threshold="Threshold"
Limiter.ReleaseTime="Release"
Expander="Expander"
Expander.Ratio="Ratio (X:1)"
Expander.Threshold="Threshold (dB)"
Expander.AttackTime="Attack (ms)"
Expander.ReleaseTime="Release (ms)"
Expander.OutputGain="Output Gain (dB)"
Expander.Ratio="Ratio"
Expander.Threshold="Threshold"
Expander.AttackTime="Attack"
Expander.ReleaseTime="Release"
Expander.OutputGain="Output Gain"
Expander.Detector="Detection"
Expander.RMS="RMS"
Expander.Peak="Peak"

View File

@ -387,6 +387,7 @@ static bool presets_changed(obs_properties_t *props, obs_property_t *prop,
static obs_properties_t *expander_properties(void *data)
{
obs_properties_t *props = obs_properties_create();
obs_property_t *p;
obs_property_t *presets = obs_properties_add_list(
props, S_PRESETS, TEXT_PRESETS, OBS_COMBO_TYPE_LIST,
@ -394,18 +395,26 @@ static obs_properties_t *expander_properties(void *data)
obs_property_list_add_string(presets, TEXT_PRESETS_EXP, "expander");
obs_property_list_add_string(presets, TEXT_PRESETS_GATE, "gate");
obs_property_set_modified_callback(presets, presets_changed);
obs_properties_add_float_slider(props, S_RATIO, TEXT_RATIO, MIN_RATIO,
MAX_RATIO, 0.1);
obs_properties_add_float_slider(props, S_THRESHOLD, TEXT_THRESHOLD,
MIN_THRESHOLD_DB, MAX_THRESHOLD_DB,
0.1);
obs_properties_add_int_slider(props, S_ATTACK_TIME, TEXT_ATTACK_TIME,
MIN_ATK_RLS_MS, MAX_ATK_MS, 1);
obs_properties_add_int_slider(props, S_RELEASE_TIME, TEXT_RELEASE_TIME,
MIN_ATK_RLS_MS, MAX_RLS_MS, 1);
obs_properties_add_float_slider(props, S_OUTPUT_GAIN, TEXT_OUTPUT_GAIN,
MIN_OUTPUT_GAIN_DB, MAX_OUTPUT_GAIN_DB,
0.1);
p = obs_properties_add_float_slider(props, S_RATIO, TEXT_RATIO,
MIN_RATIO, MAX_RATIO, 0.1);
obs_property_float_set_suffix(p, ":1");
p = obs_properties_add_float_slider(props, S_THRESHOLD, TEXT_THRESHOLD,
MIN_THRESHOLD_DB, MAX_THRESHOLD_DB,
0.1);
obs_property_float_set_suffix(p, " dB");
p = obs_properties_add_int_slider(props, S_ATTACK_TIME,
TEXT_ATTACK_TIME, MIN_ATK_RLS_MS,
MAX_ATK_MS, 1);
obs_property_int_set_suffix(p, " ms");
p = obs_properties_add_int_slider(props, S_RELEASE_TIME,
TEXT_RELEASE_TIME, MIN_ATK_RLS_MS,
MAX_RLS_MS, 1);
obs_property_int_set_suffix(p, " ms");
p = obs_properties_add_float_slider(props, S_OUTPUT_GAIN,
TEXT_OUTPUT_GAIN,
MIN_OUTPUT_GAIN_DB,
MAX_OUTPUT_GAIN_DB, 0.1);
obs_property_float_set_suffix(p, " dB");
obs_property_t *detect = obs_properties_add_list(
props, S_DETECTOR, TEXT_DETECTOR, OBS_COMBO_TYPE_LIST,
OBS_COMBO_FORMAT_STRING);

View File

@ -76,8 +76,9 @@ static obs_properties_t *gain_properties(void *data)
{
obs_properties_t *ppts = obs_properties_create();
obs_properties_add_float_slider(ppts, S_GAIN_DB, TEXT_GAIN_DB, -30.0,
30.0, 0.1);
obs_property_t *p = obs_properties_add_float_slider(
ppts, S_GAIN_DB, TEXT_GAIN_DB, -30.0, 30.0, 0.1);
obs_property_float_set_suffix(p, " dB");
UNUSED_PARAMETER(data);
return ppts;

View File

@ -148,7 +148,9 @@ static obs_properties_t *gpu_delay_filter_properties(void *data)
{
obs_properties_t *props = obs_properties_create();
obs_properties_add_int(props, S_DELAY_MS, T_DELAY_MS, 0, 500, 1);
obs_property_t *p = obs_properties_add_int(props, S_DELAY_MS,
T_DELAY_MS, 0, 500, 1);
obs_property_int_set_suffix(p, " ms");
UNUSED_PARAMETER(data);
return props;

View File

@ -196,12 +196,16 @@ static void limiter_defaults(obs_data_t *s)
static obs_properties_t *limiter_properties(void *data)
{
obs_properties_t *props = obs_properties_create();
obs_property_t *p;
obs_properties_add_float_slider(props, S_THRESHOLD, TEXT_THRESHOLD,
MIN_THRESHOLD_DB, MAX_THRESHOLD_DB,
0.1);
obs_properties_add_int_slider(props, S_RELEASE_TIME, TEXT_RELEASE_TIME,
MIN_ATK_RLS_MS, MAX_RLS_MS, 1);
p = obs_properties_add_float_slider(props, S_THRESHOLD, TEXT_THRESHOLD,
MIN_THRESHOLD_DB, MAX_THRESHOLD_DB,
0.1);
obs_property_float_set_suffix(p, " dB");
p = obs_properties_add_int_slider(props, S_RELEASE_TIME,
TEXT_RELEASE_TIME, MIN_ATK_RLS_MS,
MAX_RLS_MS, 1);
obs_property_int_set_suffix(p, " ms");
UNUSED_PARAMETER(data);
return props;

View File

@ -169,18 +169,25 @@ static void noise_gate_defaults(obs_data_t *s)
static obs_properties_t *noise_gate_properties(void *data)
{
obs_properties_t *ppts = obs_properties_create();
obs_property_t *p;
obs_properties_add_float_slider(ppts, S_CLOSE_THRESHOLD,
TEXT_CLOSE_THRESHOLD, VOL_MIN, VOL_MAX,
1.0);
obs_properties_add_float_slider(ppts, S_OPEN_THRESHOLD,
TEXT_OPEN_THRESHOLD, VOL_MIN, VOL_MAX,
1.0);
obs_properties_add_int(ppts, S_ATTACK_TIME, TEXT_ATTACK_TIME, 0, 10000,
1);
obs_properties_add_int(ppts, S_HOLD_TIME, TEXT_HOLD_TIME, 0, 10000, 1);
obs_properties_add_int(ppts, S_RELEASE_TIME, TEXT_RELEASE_TIME, 0,
10000, 1);
p = obs_properties_add_float_slider(ppts, S_CLOSE_THRESHOLD,
TEXT_CLOSE_THRESHOLD, VOL_MIN,
VOL_MAX, 1.0);
obs_property_float_set_suffix(p, " dB");
p = obs_properties_add_float_slider(ppts, S_OPEN_THRESHOLD,
TEXT_OPEN_THRESHOLD, VOL_MIN,
VOL_MAX, 1.0);
obs_property_float_set_suffix(p, " dB");
p = obs_properties_add_int(ppts, S_ATTACK_TIME, TEXT_ATTACK_TIME, 0,
10000, 1);
obs_property_int_set_suffix(p, " ms");
p = obs_properties_add_int(ppts, S_HOLD_TIME, TEXT_HOLD_TIME, 0, 10000,
1);
obs_property_int_set_suffix(p, " ms");
p = obs_properties_add_int(ppts, S_RELEASE_TIME, TEXT_RELEASE_TIME, 0,
10000, 1);
obs_property_int_set_suffix(p, " ms");
UNUSED_PARAMETER(data);
return ppts;

View File

@ -282,8 +282,11 @@ static obs_properties_t *noise_suppress_properties(void *data)
{
obs_properties_t *ppts = obs_properties_create();
obs_properties_add_int_slider(ppts, S_SUPPRESS_LEVEL,
TEXT_SUPPRESS_LEVEL, SUP_MIN, SUP_MAX, 1);
obs_property_t *p = obs_properties_add_int_slider(ppts,
S_SUPPRESS_LEVEL,
TEXT_SUPPRESS_LEVEL,
SUP_MIN, SUP_MAX, 1);
obs_property_int_set_suffix(p, " dB");
UNUSED_PARAMETER(data);
return ppts;

View File

@ -947,20 +947,24 @@ static obs_properties_t *get_properties(void *data)
obs_properties_add_bool(props, S_VERTICAL, T_VERTICAL);
obs_properties_add_color(props, S_COLOR, T_COLOR);
obs_properties_add_int_slider(props, S_OPACITY, T_OPACITY, 0, 100, 1);
p = obs_properties_add_int_slider(props, S_OPACITY, T_OPACITY, 0, 100,
1);
obs_property_int_set_suffix(p, "%");
p = obs_properties_add_bool(props, S_GRADIENT, T_GRADIENT);
obs_property_set_modified_callback(p, gradient_changed);
obs_properties_add_color(props, S_GRADIENT_COLOR, T_GRADIENT_COLOR);
obs_properties_add_int_slider(props, S_GRADIENT_OPACITY,
T_GRADIENT_OPACITY, 0, 100, 1);
p = obs_properties_add_int_slider(props, S_GRADIENT_OPACITY,
T_GRADIENT_OPACITY, 0, 100, 1);
obs_property_int_set_suffix(p, "%");
obs_properties_add_float_slider(props, S_GRADIENT_DIR, T_GRADIENT_DIR,
0, 360, 0.1);
obs_properties_add_color(props, S_BKCOLOR, T_BKCOLOR);
obs_properties_add_int_slider(props, S_BKOPACITY, T_BKOPACITY, 0, 100,
1);
p = obs_properties_add_int_slider(props, S_BKOPACITY, T_BKOPACITY, 0,
100, 1);
obs_property_int_set_suffix(p, "%");
p = obs_properties_add_list(props, S_ALIGN, T_ALIGN,
OBS_COMBO_TYPE_LIST,
@ -981,8 +985,9 @@ static obs_properties_t *get_properties(void *data)
obs_properties_add_int(props, S_OUTLINE_SIZE, T_OUTLINE_SIZE, 1, 20, 1);
obs_properties_add_color(props, S_OUTLINE_COLOR, T_OUTLINE_COLOR);
obs_properties_add_int_slider(props, S_OUTLINE_OPACITY,
T_OUTLINE_OPACITY, 0, 100, 1);
p = obs_properties_add_int_slider(props, S_OUTLINE_OPACITY,
T_OUTLINE_OPACITY, 0, 100, 1);
obs_property_int_set_suffix(p, "%");
p = obs_properties_add_bool(props, S_CHATLOG_MODE, T_CHATLOG_MODE);
obs_property_set_modified_callback(p, chatlog_mode_changed);

View File

@ -12,7 +12,7 @@ Direction.Down="Down"
SwipeIn="Swipe In"
Color="Color"
VideoFile="Video File"
TransitionPoint="Transition Point (milliseconds)"
TransitionPoint="Transition Point"
TransitionPointFrame="Transition Point (frame)"
TransitionPointType="Transition Point Type"
TransitionPointTypeFrame="Frame"
@ -20,7 +20,7 @@ TransitionPointTypeTime="Time (milliseconds)"
AudioFadeStyle="Audio Fade Style"
AudioFadeStyle.FadeOutFadeIn="Fade out to transition point then fade in"
AudioFadeStyle.CrossFade="Crossfade"
SwitchPoint="Peak Color Point (percentage)"
SwitchPoint="Peak Color Point"
LumaWipeTransition="Luma Wipe"
LumaWipe.Image="Image"
LumaWipe.Invert="Invert"

View File

@ -154,8 +154,9 @@ static obs_properties_t *fade_to_color_properties(void *data)
obs_properties_t *props = obs_properties_create();
obs_properties_add_color(props, S_COLOR, S_COLOR_TEXT);
obs_properties_add_int_slider(props, S_SWITCH_POINT,
S_SWITCH_POINT_TEXT, 0, 100, 1);
obs_property_t *p = obs_properties_add_int_slider(
props, S_SWITCH_POINT, S_SWITCH_POINT_TEXT, 0, 100, 1);
obs_property_int_set_suffix(p, "%");
UNUSED_PARAMETER(data);
return props;

View File

@ -310,21 +310,20 @@ static obs_properties_t *stinger_properties(void *data)
obs_properties_add_path(ppts, "path", obs_module_text("VideoFile"),
OBS_PATH_FILE, FILE_FILTER, NULL);
obs_property_t *list = obs_properties_add_list(
obs_property_t *p = obs_properties_add_list(
ppts, "tp_type", obs_module_text("TransitionPointType"),
OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_INT);
obs_property_list_add_int(p, obs_module_text("TransitionPointTypeTime"),
TIMING_TIME);
obs_property_list_add_int(
list, obs_module_text("TransitionPointTypeTime"), TIMING_TIME);
obs_property_list_add_int(list,
obs_module_text("TransitionPointTypeFrame"),
TIMING_FRAME);
p, obs_module_text("TransitionPointTypeFrame"), TIMING_FRAME);
obs_property_set_modified_callback(list,
transition_point_type_modified);
obs_property_set_modified_callback(p, transition_point_type_modified);
obs_properties_add_int(ppts, "transition_point",
obs_module_text("TransitionPoint"), 0, 120000,
1);
p = obs_properties_add_int(ppts, "transition_point",
obs_module_text("TransitionPoint"), 0,
120000, 1);
obs_property_int_set_suffix(p, " ms");
obs_property_t *monitor_list = obs_properties_add_list(
ppts, "audio_monitoring", obs_module_text("AudioMonitoring"),