When this class is used in conjunction with a QSlider control, allows
direct setting of the slider handle position when clicking in an area
other than the slider handle. The default QSlider handle behavior is to
step towards clicked position.
Fix warning encountered on clang-504.0.40 on OSX 10.9:
obs/window-basic-main.cpp:2884:22: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
struct vec2 dir = {0.0f, 0.0f};
Use std::abs instead of abs to avoid loss in precision and also fix
the corresponding warning from clang (3.5.0):
warning: using integer absolute value function 'abs' when argument is
of floating point type [-Wabsolute-value]
Closesjp9000/obs-studio#414
All audio encoders are currently having the service-specific settings
applied to them, so this makes it so that it checks which track the
stream is set to and only applies it to that specific encoder.
There was an issue where the position/size would keep changing every
time the program opened/closed, was due to the fact that we were not
calling setGeometry to restore the position/size.
Adds a visibility checkbox to the main sources list so that users can
temporarily disable/re-enable sources. Only applies to scene items, not
the sources themselves.
The FocusList subclass of QListWidget emits a GotFocus signal when it
gets focus -- used for the filters window to know when a specific filter
list gets focus.
This is used to allow the user to temporarily disable sources/filters.
For each item in the list box, it displays a visibility checkbox (with
eye icon) that the user can click to disable/re-enable sources or
filters.
I did not end up using the Qt::ItemIsUserCheckable flag with the list
items for a few reasons:
- We could not style the checkbox indicator without qss screwing up
other parts of the list widget style on certain operating systems
- We could not get the icon to properly invert on active selection like
the text does on mac/linux, which made it look strange
- Clicking the checkbox too fast would cause it to signal a double-click
on the icon, opening the properties for a source in the source list
This checkbox gives an 'eye' icon that indicates whether something is
visible or not. The color of the icon is influenced by the current
style's foreground color.
Sometimes events with rogue source references are in the event queue
when the program is shutting down. This can cause the program to
reference freed data. Processing those remaining events before shutting
down solves the issue.
This fixes an issue where the borders for certain types of windows would
not match the intended border style/color. It was supposed to be 1
through 6 for frameShape, but I ended up putting 5 twice.
Core API functions changed:
-----------------------------
EXPORT bool obs_reset_audio(struct audio_output_info *aoi);
EXPORT bool obs_get_audio_info(struct audio_output_info *aoi);
To:
-----------------------------
EXPORT bool obs_reset_audio(const struct obs_audio_info *oai);
EXPORT bool obs_get_audio_info(struct obs_audio_info *oai);
Core structure added:
-----------------------------
struct obs_audio_info {
uint32_t samples_per_sec;
enum speaker_layout speakers;
uint64_t buffer_ms;
};
Non-interleaved (planar) floating point output is standard with audio
filtering, so to prevent audio filters from having to worry about
different audio format implementations and for the sake consistency
between user interfaces, make it so that audio is always set to
non-interleaved floating point output.
OBS will offer the user a list of themes which are .qss files inside
data/obs-studio/themes. If no theme is found in the configuration, it
loads the default theme for the system.