Brightness Opacity Refactor + Gain behavior (#355)
* added loop update tick for Synchronizeing while dashboard up * fixed gain to allow better synching w/ external apps. * removed extra setting brighnessValue fixed toggle error for brightness Overlay fixed gain synch error * fixed compiler warning implicit conversion
This commit is contained in:
@@ -72,6 +72,11 @@ constexpr int k_moveCenterSettingsUpdateCounter = 83;
|
|||||||
constexpr int k_settingsTabSettingsUpdateCounter = 157;
|
constexpr int k_settingsTabSettingsUpdateCounter = 157;
|
||||||
constexpr int k_steamVrSettingsUpdateCounter = 97;
|
constexpr int k_steamVrSettingsUpdateCounter = 97;
|
||||||
constexpr int k_utilitiesSettingsUpdateCounter = 19;
|
constexpr int k_utilitiesSettingsUpdateCounter = 19;
|
||||||
|
|
||||||
|
// Dashboard Updates These can be faster as they should only be running while
|
||||||
|
// Dashboard is active.
|
||||||
|
constexpr int k_videoDashboardUpdateCounter = 47;
|
||||||
|
|
||||||
// k_nonVsyncTickRate determines number of ms we wait to force the next event
|
// k_nonVsyncTickRate determines number of ms we wait to force the next event
|
||||||
// loop tick when vsync is too late due to dropped frames.
|
// loop tick when vsync is too late due to dropped frames.
|
||||||
constexpr int k_nonVsyncTickRate = 20;
|
constexpr int k_nonVsyncTickRate = 20;
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ GroupBox {
|
|||||||
}
|
}
|
||||||
onValueChanged: {
|
onValueChanged: {
|
||||||
|
|
||||||
VideoTabController.setBrightnessValue(value.toFixed(2), true)
|
VideoTabController.setBrightnessOpacityValue(value.toFixed(2), true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,22 +84,22 @@ GroupBox {
|
|||||||
var v = (val/100).toFixed(2)
|
var v = (val/100).toFixed(2)
|
||||||
brightnessSlider.value = v
|
brightnessSlider.value = v
|
||||||
}
|
}
|
||||||
text = Math.round(VideoTabController.brightnessValue * 100) + "%"
|
text = Math.round(VideoTabController.brightnessOpacityValue * 100) + "%"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
brightnessSlider.value = VideoTabController.brightnessValue
|
brightnessSlider.value = VideoTabController.brightnessOpacityValue
|
||||||
brightnessToggle.checked = VideoTabController.brightnessEnabled
|
brightnessToggle.checked = VideoTabController.brightnessEnabled
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
target: VideoTabController
|
target: VideoTabController
|
||||||
|
|
||||||
onBrightnessValueChanged: {
|
onBrightnessOpacityValueChanged: {
|
||||||
brightnessSlider.value = VideoTabController.brightnessValue
|
brightnessSlider.value = VideoTabController.brightnessOpacityValue
|
||||||
}
|
}
|
||||||
onBrightnessEnabledChanged: {
|
onBrightnessEnabledChanged: {
|
||||||
brightnessToggle.checked = VideoTabController.brightnessEnabled
|
brightnessToggle.checked = VideoTabController.brightnessEnabled
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ GroupBox {
|
|||||||
}
|
}
|
||||||
onValueChanged: {
|
onValueChanged: {
|
||||||
|
|
||||||
VideoTabController.setBrightnessValue(value.toFixed(2), true)
|
VideoTabController.setBrightnessOpacityValue(value.toFixed(2), true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ GroupBox {
|
|||||||
var v2 = (val2/100).toFixed(2)
|
var v2 = (val2/100).toFixed(2)
|
||||||
brightnessSlider.value = v
|
brightnessSlider.value = v
|
||||||
}
|
}
|
||||||
text = Math.round(VideoTabController.brightnessValue * 100) + "%"
|
text = Math.round(VideoTabController.brightnessOpacityValue * 100) + "%"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -285,7 +285,7 @@ GroupBox {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
brightnessSlider.value = VideoTabController.brightnessValue
|
brightnessSlider.value = VideoTabController.brightnessOpacityValue
|
||||||
brightnessToggle.checked = VideoTabController.brightnessEnabled
|
brightnessToggle.checked = VideoTabController.brightnessEnabled
|
||||||
colorToggle.checked = VideoTabController.colorOverlayEnabled
|
colorToggle.checked = VideoTabController.colorOverlayEnabled
|
||||||
opacitySlider.value = VideoTabController.colorOverlayOpacity
|
opacitySlider.value = VideoTabController.colorOverlayOpacity
|
||||||
@@ -303,8 +303,8 @@ GroupBox {
|
|||||||
Connections {
|
Connections {
|
||||||
target: VideoTabController
|
target: VideoTabController
|
||||||
|
|
||||||
onBrightnessValueChanged: {
|
onBrightnessOpacityValueChanged: {
|
||||||
brightnessSlider.value = VideoTabController.brightnessValue
|
brightnessSlider.value = VideoTabController.brightnessOpacityValue
|
||||||
}
|
}
|
||||||
onBrightnessEnabledChanged: {
|
onBrightnessEnabledChanged: {
|
||||||
brightnessToggle.checked = VideoTabController.brightnessEnabled
|
brightnessToggle.checked = VideoTabController.brightnessEnabled
|
||||||
|
|||||||
@@ -379,10 +379,6 @@ private:
|
|||||||
SettingCategory::Video,
|
SettingCategory::Video,
|
||||||
QtInfo{ "brightnessOpacityValue" },
|
QtInfo{ "brightnessOpacityValue" },
|
||||||
0.0 },
|
0.0 },
|
||||||
DoubleSettingValue{ DoubleSetting::VIDEO_brightnessValue,
|
|
||||||
SettingCategory::Video,
|
|
||||||
QtInfo{ "brightnessValue" },
|
|
||||||
1.0 },
|
|
||||||
DoubleSettingValue{ DoubleSetting::VIDEO_colorOverlayOpacity,
|
DoubleSettingValue{ DoubleSetting::VIDEO_colorOverlayOpacity,
|
||||||
SettingCategory::Video,
|
SettingCategory::Video,
|
||||||
QtInfo{ "colorOverlayOpacity" },
|
QtInfo{ "colorOverlayOpacity" },
|
||||||
|
|||||||
@@ -60,7 +60,6 @@ enum class DoubleSetting
|
|||||||
PLAYSPACE_flingStrength,
|
PLAYSPACE_flingStrength,
|
||||||
|
|
||||||
VIDEO_brightnessOpacityValue,
|
VIDEO_brightnessOpacityValue,
|
||||||
VIDEO_brightnessValue,
|
|
||||||
VIDEO_colorOverlayOpacity,
|
VIDEO_colorOverlayOpacity,
|
||||||
VIDEO_colorRed,
|
VIDEO_colorRed,
|
||||||
VIDEO_colorGreen,
|
VIDEO_colorGreen,
|
||||||
|
|||||||
@@ -11,8 +11,13 @@ void VideoTabController::initStage1()
|
|||||||
{
|
{
|
||||||
// In order to ensure gain is "normal" before applying to either overlay or
|
// In order to ensure gain is "normal" before applying to either overlay or
|
||||||
// gain.
|
// gain.
|
||||||
|
|
||||||
|
synchGain( true );
|
||||||
resetGain();
|
resetGain();
|
||||||
|
|
||||||
|
m_videoDashboardUpdateCounter
|
||||||
|
= utils::adjustUpdateRate( k_videoDashboardUpdateCounter );
|
||||||
|
|
||||||
initBrightnessOverlay();
|
initBrightnessOverlay();
|
||||||
initColorOverlay();
|
initColorOverlay();
|
||||||
initMotionSmoothing();
|
initMotionSmoothing();
|
||||||
@@ -20,6 +25,11 @@ void VideoTabController::initStage1()
|
|||||||
m_overlayInit = true;
|
m_overlayInit = true;
|
||||||
reloadVideoConfig();
|
reloadVideoConfig();
|
||||||
reloadVideoProfiles();
|
reloadVideoProfiles();
|
||||||
|
|
||||||
|
if ( brightnessEnabled() )
|
||||||
|
{
|
||||||
|
setBrightnessEnabled( true, false, true );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void VideoTabController::initBrightnessOverlay()
|
void VideoTabController::initBrightnessOverlay()
|
||||||
@@ -130,8 +140,7 @@ void VideoTabController::eventLoopTick() {}
|
|||||||
|
|
||||||
void VideoTabController::dashboardLoopTick()
|
void VideoTabController::dashboardLoopTick()
|
||||||
{
|
{
|
||||||
// TODO different key
|
if ( settingsUpdateCounter >= m_videoDashboardUpdateCounter )
|
||||||
if ( settingsUpdateCounter >= k_steamVrSettingsUpdateCounter )
|
|
||||||
{
|
{
|
||||||
vr::EVRSettingsError vrSettingsError;
|
vr::EVRSettingsError vrSettingsError;
|
||||||
|
|
||||||
@@ -210,6 +219,16 @@ void VideoTabController::dashboardLoopTick()
|
|||||||
}
|
}
|
||||||
setMotionSmoothing( ms );
|
setMotionSmoothing( ms );
|
||||||
|
|
||||||
|
// Synch's our saved Values of gain to the SteamVR's version
|
||||||
|
// This will allow other apps to modify Gain.
|
||||||
|
|
||||||
|
bool valueAdjust = true;
|
||||||
|
if ( isOverlayMethodActive() )
|
||||||
|
{
|
||||||
|
valueAdjust = false;
|
||||||
|
}
|
||||||
|
synchGain( valueAdjust );
|
||||||
|
|
||||||
settingsUpdateCounter = 0;
|
settingsUpdateCounter = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -230,7 +249,14 @@ void VideoTabController::reloadVideoConfig()
|
|||||||
setColorBlue( colorBlue() );
|
setColorBlue( colorBlue() );
|
||||||
|
|
||||||
settings->endGroup();
|
settings->endGroup();
|
||||||
setBrightnessOpacityValue();
|
vr::VROverlayError overlayError = vr::VROverlay()->SetOverlayAlpha(
|
||||||
|
m_brightnessOverlayHandle, brightnessOpacityValue() );
|
||||||
|
if ( overlayError != vr::VROverlayError_None )
|
||||||
|
{
|
||||||
|
LOG( ERROR ) << "Could not set alpha for Brightness Overlay: "
|
||||||
|
<< vr::VROverlay()->GetOverlayErrorNameFromEnum(
|
||||||
|
overlayError );
|
||||||
|
}
|
||||||
loadColorOverlay();
|
loadColorOverlay();
|
||||||
settings->sync();
|
settings->sync();
|
||||||
}
|
}
|
||||||
@@ -241,12 +267,6 @@ float VideoTabController::brightnessOpacityValue() const
|
|||||||
settings::DoubleSetting::VIDEO_brightnessOpacityValue ) );
|
settings::DoubleSetting::VIDEO_brightnessOpacityValue ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
float VideoTabController::brightnessValue() const
|
|
||||||
{
|
|
||||||
return static_cast<float>( settings::getSetting(
|
|
||||||
settings::DoubleSetting::VIDEO_brightnessValue ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
bool VideoTabController::brightnessEnabled() const
|
bool VideoTabController::brightnessEnabled() const
|
||||||
{
|
{
|
||||||
return settings::getSetting(
|
return settings::getSetting(
|
||||||
@@ -290,30 +310,28 @@ void VideoTabController::setBrightnessEnabled( bool value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void VideoTabController::setBrightnessValue( float percvalue, bool notify )
|
void VideoTabController::setBrightnessOpacityValue( float percvalue,
|
||||||
|
bool notify )
|
||||||
{
|
{
|
||||||
// This takes the Perceived value, and converts it to allow more accurate
|
// This takes the Perceived value, and converts it to allow more accurate
|
||||||
// linear positioning. (human perception logarithmic)
|
// linear positioning. (human perception logarithmic)
|
||||||
float realvalue = static_cast<float>(
|
float realvalue = static_cast<float>(
|
||||||
std::pow( static_cast<double>( 1.0f - percvalue ), 1 / 3. ) );
|
std::pow( static_cast<double>( 1.0f - percvalue ), 1 / 3. ) );
|
||||||
|
|
||||||
if ( fabs( static_cast<double>( realvalue - brightnessOpacityValue() ) )
|
if ( fabs( static_cast<double>( percvalue - brightnessOpacityValue() ) )
|
||||||
> .005 )
|
> .005 )
|
||||||
{
|
{
|
||||||
settings::setSetting( settings::DoubleSetting::VIDEO_brightnessValue,
|
settings::setSetting(
|
||||||
static_cast<double>( percvalue ) );
|
settings::DoubleSetting::VIDEO_brightnessOpacityValue,
|
||||||
|
static_cast<double>( percvalue ) );
|
||||||
|
|
||||||
if ( realvalue <= 1.0f && realvalue >= 0.0f )
|
if ( realvalue <= 1.0f && realvalue >= 0.00f )
|
||||||
{
|
{
|
||||||
settings::setSetting(
|
|
||||||
settings::DoubleSetting::VIDEO_brightnessOpacityValue,
|
|
||||||
static_cast<double>( realvalue ) );
|
|
||||||
|
|
||||||
vr::VROverlayError overlayError = vr::VROverlay()->SetOverlayAlpha(
|
vr::VROverlayError overlayError = vr::VROverlay()->SetOverlayAlpha(
|
||||||
m_brightnessOverlayHandle, realvalue );
|
m_brightnessOverlayHandle, realvalue );
|
||||||
if ( overlayError != vr::VROverlayError_None )
|
if ( overlayError != vr::VROverlayError_None )
|
||||||
{
|
{
|
||||||
LOG( ERROR ) << "Could not set alpha: "
|
LOG( ERROR ) << "Could not set alpha for brightness overlay: "
|
||||||
<< vr::VROverlay()->GetOverlayErrorNameFromEnum(
|
<< vr::VROverlay()->GetOverlayErrorNameFromEnum(
|
||||||
overlayError );
|
overlayError );
|
||||||
}
|
}
|
||||||
@@ -327,24 +345,11 @@ void VideoTabController::setBrightnessValue( float percvalue, bool notify )
|
|||||||
|
|
||||||
if ( notify )
|
if ( notify )
|
||||||
{
|
{
|
||||||
emit brightnessValueChanged( percvalue );
|
emit brightnessOpacityValueChanged( percvalue );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void VideoTabController::setBrightnessOpacityValue()
|
|
||||||
{
|
|
||||||
vr::VROverlayError overlayError = vr::VROverlay()->SetOverlayAlpha(
|
|
||||||
m_brightnessOverlayHandle, brightnessOpacityValue() );
|
|
||||||
if ( overlayError != vr::VROverlayError_None )
|
|
||||||
{
|
|
||||||
LOG( ERROR ) << "Could not set alpha: "
|
|
||||||
<< vr::VROverlay()->GetOverlayErrorNameFromEnum(
|
|
||||||
overlayError );
|
|
||||||
}
|
|
||||||
emit brightnessValueChanged( brightnessValue() );
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* -------------------------
|
* -------------------------
|
||||||
* Color Overlay
|
* Color Overlay
|
||||||
@@ -478,6 +483,75 @@ void VideoTabController::setColorOverlayOpacity( float value, bool notify )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void VideoTabController::synchGain( bool setValue )
|
||||||
|
{
|
||||||
|
vr::EVRSettingsError vrSettingsError;
|
||||||
|
|
||||||
|
auto red = vr::VRSettings()->GetFloat(
|
||||||
|
vr::k_pch_SteamVR_Section,
|
||||||
|
vr::k_pch_SteamVR_HmdDisplayColorGainR_Float,
|
||||||
|
&vrSettingsError );
|
||||||
|
if ( vrSettingsError != vr::VRSettingsError_None )
|
||||||
|
{
|
||||||
|
LOG( WARNING ) << "Could not read \""
|
||||||
|
<< vr::k_pch_SteamVR_HmdDisplayColorGainR_Float
|
||||||
|
<< "\" setting: "
|
||||||
|
<< vr::VRSettings()->GetSettingsErrorNameFromEnum(
|
||||||
|
vrSettingsError );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( fabs( static_cast<double>( red - colorRed() ) ) > 0.005
|
||||||
|
&& setValue )
|
||||||
|
{
|
||||||
|
settings::setSetting( settings::DoubleSetting::VIDEO_colorRed,
|
||||||
|
static_cast<double>( red ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
auto blue = vr::VRSettings()->GetFloat(
|
||||||
|
vr::k_pch_SteamVR_Section,
|
||||||
|
vr::k_pch_SteamVR_HmdDisplayColorGainB_Float,
|
||||||
|
&vrSettingsError );
|
||||||
|
if ( vrSettingsError != vr::VRSettingsError_None )
|
||||||
|
{
|
||||||
|
LOG( WARNING ) << "Could not read \""
|
||||||
|
<< vr::k_pch_SteamVR_HmdDisplayColorGainB_Float
|
||||||
|
<< "\" setting: "
|
||||||
|
<< vr::VRSettings()->GetSettingsErrorNameFromEnum(
|
||||||
|
vrSettingsError );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( fabs( static_cast<double>( blue - colorBlue() ) ) > 0.005
|
||||||
|
&& setValue )
|
||||||
|
{
|
||||||
|
settings::setSetting( settings::DoubleSetting::VIDEO_colorBlue,
|
||||||
|
static_cast<double>( blue ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
auto green = vr::VRSettings()->GetFloat(
|
||||||
|
vr::k_pch_SteamVR_Section,
|
||||||
|
vr::k_pch_SteamVR_HmdDisplayColorGainG_Float,
|
||||||
|
&vrSettingsError );
|
||||||
|
if ( vrSettingsError != vr::VRSettingsError_None )
|
||||||
|
{
|
||||||
|
LOG( WARNING ) << "Could not read \""
|
||||||
|
<< vr::k_pch_SteamVR_HmdDisplayColorGainG_Float
|
||||||
|
<< "\" setting: "
|
||||||
|
<< vr::VRSettings()->GetSettingsErrorNameFromEnum(
|
||||||
|
vrSettingsError );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( fabs( static_cast<double>( green - colorGreen() ) ) > 0.005
|
||||||
|
&& setValue )
|
||||||
|
{
|
||||||
|
settings::setSetting( settings::DoubleSetting::VIDEO_colorGreen,
|
||||||
|
static_cast<double>( green ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void VideoTabController::setColorRed( float value, bool notify, bool keepValue )
|
void VideoTabController::setColorRed( float value, bool notify, bool keepValue )
|
||||||
{
|
{
|
||||||
if ( ( fabs( static_cast<double>( value - colorRed() ) ) > .005 )
|
if ( ( fabs( static_cast<double>( value - colorRed() ) ) > .005 )
|
||||||
@@ -857,7 +931,7 @@ void VideoTabController::addVideoProfile( const QString name )
|
|||||||
profile->colorGreen = colorGreen();
|
profile->colorGreen = colorGreen();
|
||||||
profile->colorBlue = colorBlue();
|
profile->colorBlue = colorBlue();
|
||||||
profile->brightnessToggle = brightnessEnabled();
|
profile->brightnessToggle = brightnessEnabled();
|
||||||
profile->brightnessValue = brightnessValue();
|
profile->brightnessOpacityValue = brightnessOpacityValue();
|
||||||
profile->opacity = colorOverlayOpacity();
|
profile->opacity = colorOverlayOpacity();
|
||||||
profile->overlayMethodState = isOverlayMethodActive();
|
profile->overlayMethodState = isOverlayMethodActive();
|
||||||
|
|
||||||
@@ -882,7 +956,7 @@ void VideoTabController::applyVideoProfile( const unsigned index )
|
|||||||
setColorBlue( profile.colorBlue );
|
setColorBlue( profile.colorBlue );
|
||||||
setColorGreen( profile.colorGreen );
|
setColorGreen( profile.colorGreen );
|
||||||
setBrightnessEnabled( profile.brightnessToggle );
|
setBrightnessEnabled( profile.brightnessToggle );
|
||||||
setBrightnessValue( profile.brightnessValue );
|
setBrightnessOpacityValue( profile.brightnessOpacityValue );
|
||||||
setColorOverlayOpacity( profile.opacity );
|
setColorOverlayOpacity( profile.opacity );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -927,8 +1001,8 @@ void VideoTabController::reloadVideoProfiles()
|
|||||||
|
|
||||||
entry.brightnessToggle
|
entry.brightnessToggle
|
||||||
= settings->value( "brightnessToggle", false ).toBool();
|
= settings->value( "brightnessToggle", false ).toBool();
|
||||||
entry.brightnessValue
|
entry.brightnessOpacityValue
|
||||||
= settings->value( "brightnessValue", 1.0f ).toFloat();
|
= settings->value( "brightnessOpacityValue", 1.0f ).toFloat();
|
||||||
entry.opacity = settings->value( "opacity", 0.0f ).toFloat();
|
entry.opacity = settings->value( "opacity", 0.0f ).toFloat();
|
||||||
entry.overlayMethodState
|
entry.overlayMethodState
|
||||||
= settings->value( "overlayMethodState", false ).toBool();
|
= settings->value( "overlayMethodState", false ).toBool();
|
||||||
@@ -959,7 +1033,8 @@ void VideoTabController::saveVideoProfiles()
|
|||||||
settings->setValue( "colorGreenNew", p.colorGreen );
|
settings->setValue( "colorGreenNew", p.colorGreen );
|
||||||
|
|
||||||
settings->setValue( "brightnessToggle", p.brightnessToggle );
|
settings->setValue( "brightnessToggle", p.brightnessToggle );
|
||||||
settings->setValue( "brightnessValue", p.brightnessValue );
|
settings->setValue( "brightnessOpacityValue",
|
||||||
|
p.brightnessOpacityValue );
|
||||||
|
|
||||||
settings->setValue( "opacity", p.opacity );
|
settings->setValue( "opacity", p.opacity );
|
||||||
settings->setValue( "overlayMethodState", p.overlayMethodState );
|
settings->setValue( "overlayMethodState", p.overlayMethodState );
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QVariant>
|
#include <QVariant>
|
||||||
#include <openvr.h>
|
#include <openvr.h>
|
||||||
|
#include "../utils/FrameRateUtils.h"
|
||||||
|
|
||||||
class QQuickWindow;
|
class QQuickWindow;
|
||||||
|
|
||||||
@@ -31,9 +32,9 @@ struct VideoProfile
|
|||||||
float colorGreen = 1.0f;
|
float colorGreen = 1.0f;
|
||||||
float colorBlue = 1.0f;
|
float colorBlue = 1.0f;
|
||||||
bool brightnessToggle = false;
|
bool brightnessToggle = false;
|
||||||
float brightnessValue = 1.0f;
|
float brightnessOpacityValue = 1.0f;
|
||||||
bool overlayMethodState = false;
|
bool overlayMethodState = false;
|
||||||
float opacity = 0.0f;
|
float opacity = 0.0f; // TODO check
|
||||||
};
|
};
|
||||||
|
|
||||||
class VideoTabController : public QObject
|
class VideoTabController : public QObject
|
||||||
@@ -41,8 +42,9 @@ class VideoTabController : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_PROPERTY( bool brightnessEnabled READ brightnessEnabled WRITE
|
Q_PROPERTY( bool brightnessEnabled READ brightnessEnabled WRITE
|
||||||
setBrightnessEnabled NOTIFY brightnessEnabledChanged )
|
setBrightnessEnabled NOTIFY brightnessEnabledChanged )
|
||||||
Q_PROPERTY( float brightnessValue READ brightnessValue WRITE
|
Q_PROPERTY(
|
||||||
setBrightnessValue NOTIFY brightnessValueChanged )
|
float brightnessOpacityValue READ brightnessOpacityValue WRITE
|
||||||
|
setBrightnessOpacityValue NOTIFY brightnessOpacityValueChanged )
|
||||||
Q_PROPERTY(
|
Q_PROPERTY(
|
||||||
float colorRed READ colorRed WRITE setColorRed NOTIFY colorRedChanged )
|
float colorRed READ colorRed WRITE setColorRed NOTIFY colorRedChanged )
|
||||||
Q_PROPERTY( float colorGreen READ colorGreen WRITE setColorGreen NOTIFY
|
Q_PROPERTY( float colorGreen READ colorGreen WRITE setColorGreen NOTIFY
|
||||||
@@ -89,6 +91,8 @@ private:
|
|||||||
bool m_motionSmoothing = true;
|
bool m_motionSmoothing = true;
|
||||||
bool m_allowSupersampleFiltering = true;
|
bool m_allowSupersampleFiltering = true;
|
||||||
|
|
||||||
|
unsigned int m_videoDashboardUpdateCounter = 47;
|
||||||
|
|
||||||
void setColor( float R,
|
void setColor( float R,
|
||||||
float G,
|
float G,
|
||||||
float B,
|
float B,
|
||||||
@@ -103,10 +107,11 @@ private:
|
|||||||
void loadColorOverlay();
|
void loadColorOverlay();
|
||||||
|
|
||||||
void reloadVideoConfig();
|
void reloadVideoConfig();
|
||||||
void setBrightnessOpacityValue();
|
|
||||||
|
|
||||||
void initBrightnessOverlay();
|
void initBrightnessOverlay();
|
||||||
|
|
||||||
|
void synchGain( bool setValue = false );
|
||||||
|
|
||||||
std::vector<VideoProfile> videoProfiles;
|
std::vector<VideoProfile> videoProfiles;
|
||||||
|
|
||||||
QString getSettingsName()
|
QString getSettingsName()
|
||||||
@@ -126,8 +131,6 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
float brightnessOpacityValue() const;
|
float brightnessOpacityValue() const;
|
||||||
// inverse of brightnessValue
|
|
||||||
float brightnessValue() const;
|
|
||||||
bool brightnessEnabled() const;
|
bool brightnessEnabled() const;
|
||||||
|
|
||||||
// Color overlay Getters
|
// Color overlay Getters
|
||||||
@@ -158,7 +161,7 @@ public slots:
|
|||||||
void setBrightnessEnabled( bool value,
|
void setBrightnessEnabled( bool value,
|
||||||
bool notify = true,
|
bool notify = true,
|
||||||
bool keepValue = false );
|
bool keepValue = false );
|
||||||
void setBrightnessValue( float percvalue, bool notify = true );
|
void setBrightnessOpacityValue( float percvalue, bool notify = true );
|
||||||
|
|
||||||
void setSuperSampling( float value, bool notify = true );
|
void setSuperSampling( float value, bool notify = true );
|
||||||
void setAllowSupersampleOverride( bool value, bool notify = true );
|
void setAllowSupersampleOverride( bool value, bool notify = true );
|
||||||
@@ -186,7 +189,7 @@ public slots:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void brightnessEnabledChanged( bool value );
|
void brightnessEnabledChanged( bool value );
|
||||||
void brightnessValueChanged( float value );
|
void brightnessOpacityValueChanged( float value );
|
||||||
void colorRedChanged( float value );
|
void colorRedChanged( float value );
|
||||||
void colorGreenChanged( float value );
|
void colorGreenChanged( float value );
|
||||||
void colorBlueChanged( float value );
|
void colorBlueChanged( float value );
|
||||||
|
|||||||
Reference in New Issue
Block a user