mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-03-21 17:34:57 -05:00
Add option to "release the T-Bar"
This commit is contained in:
parent
81cc638f0f
commit
31f95c6547
|
|
@ -1087,12 +1087,13 @@ AdvSceneSwitcher.action.studioMode.type.enable="Enable studio mode"
|
|||
AdvSceneSwitcher.action.studioMode.type.disable="Disable studio mode"
|
||||
AdvSceneSwitcher.action.studioMode.entry="{{actions}}{{scenes}}"
|
||||
AdvSceneSwitcher.action.transition="Transition"
|
||||
AdvSceneSwitcher.action.transition.type.scene="scene transition"
|
||||
AdvSceneSwitcher.action.transition.type.sceneOverride="scene transition override"
|
||||
AdvSceneSwitcher.action.transition.type.sourceShow="source show transition"
|
||||
AdvSceneSwitcher.action.transition.type.sourceHide="source hide transition"
|
||||
AdvSceneSwitcher.action.transition.type.tbar="T-Bar position"
|
||||
AdvSceneSwitcher.action.transition.layout.type="Modify{{type}}{{scenes}}{{sources}}"
|
||||
AdvSceneSwitcher.action.transition.type.scene="Modify scene transition"
|
||||
AdvSceneSwitcher.action.transition.type.sceneOverride="Modify scene transition override"
|
||||
AdvSceneSwitcher.action.transition.type.sourceShow="Modify source show transition"
|
||||
AdvSceneSwitcher.action.transition.type.sourceHide="Modify source hide transition"
|
||||
AdvSceneSwitcher.action.transition.type.tbar="Modify T-Bar position"
|
||||
AdvSceneSwitcher.action.transition.type.releaseTbar="Release T-Bar"
|
||||
AdvSceneSwitcher.action.transition.layout.type="{{type}}{{scenes}}{{sources}}"
|
||||
AdvSceneSwitcher.action.transition.layout.transition="{{setTransition}}Set transition type to{{transitions}}"
|
||||
AdvSceneSwitcher.action.transition.layout.duration="{{setDuration}}Set transition duration to{{duration}}seconds"
|
||||
AdvSceneSwitcher.action.transition.layout.tbar="Set T-Bar position to{{tbarPosition}}"
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@ const static std::map<MacroActionTransition::Type, std::string> actionTypes = {
|
|||
"AdvSceneSwitcher.action.transition.type.sourceHide"},
|
||||
{MacroActionTransition::Type::TBAR,
|
||||
"AdvSceneSwitcher.action.transition.type.tbar"},
|
||||
{MacroActionTransition::Type::RELEASE_TBAR,
|
||||
"AdvSceneSwitcher.action.transition.type.releaseTbar"},
|
||||
};
|
||||
|
||||
void MacroActionTransition::SetSceneTransition()
|
||||
|
|
@ -84,10 +86,11 @@ void MacroActionTransition::SetTbarPosition()
|
|||
const double percent = std::clamp(_tbarPosition.GetValue(), 0.0, 100.0);
|
||||
const int tbarValue = (int)std::round(percent / 100.0 * 1023.0);
|
||||
obs_frontend_set_tbar_position(tbarValue);
|
||||
}
|
||||
|
||||
if (tbarValue == 0 || tbarValue == 1024) {
|
||||
obs_frontend_release_tbar();
|
||||
}
|
||||
void MacroActionTransition::ReleaseTbar()
|
||||
{
|
||||
obs_frontend_release_tbar();
|
||||
}
|
||||
|
||||
void MacroActionTransition::SetSourceTransition(bool show)
|
||||
|
|
@ -127,6 +130,9 @@ bool MacroActionTransition::PerformAction()
|
|||
case Type::TBAR:
|
||||
SetTbarPosition();
|
||||
break;
|
||||
case Type::RELEASE_TBAR:
|
||||
ReleaseTbar();
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
@ -156,6 +162,9 @@ void MacroActionTransition::LogAction() const
|
|||
ablog(LOG_INFO, "set T-Bar position to %.2f%%",
|
||||
_tbarPosition.GetValue());
|
||||
return;
|
||||
case Type::RELEASE_TBAR:
|
||||
ablog(LOG_INFO, "release T-Bar");
|
||||
return;
|
||||
}
|
||||
if (_setDuration) {
|
||||
ablog(LOG_INFO, "%s duration to %s", msgBegin.c_str(),
|
||||
|
|
@ -208,6 +217,8 @@ std::string MacroActionTransition::GetShortDesc() const
|
|||
_transition.ToString();
|
||||
case Type::TBAR:
|
||||
return std::to_string(_tbarPosition.GetValue()) + "%";
|
||||
case Type::RELEASE_TBAR:
|
||||
return "";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
|
@ -398,14 +409,16 @@ void MacroActionTransitionEdit::SetWidgetVisibility()
|
|||
{
|
||||
const bool isTbar = _entryData->_type ==
|
||||
MacroActionTransition::Type::TBAR;
|
||||
const bool isReleaseTbar = _entryData->_type ==
|
||||
MacroActionTransition::Type::RELEASE_TBAR;
|
||||
_sources->setVisible(
|
||||
_entryData->_type == MacroActionTransition::Type::SOURCE_HIDE ||
|
||||
_entryData->_type == MacroActionTransition::Type::SOURCE_SHOW);
|
||||
_scenes->setVisible(_entryData->_type !=
|
||||
MacroActionTransition::Type::SCENE &&
|
||||
!isTbar);
|
||||
SetLayoutVisible(_transitionLayout, !isTbar);
|
||||
SetLayoutVisible(_durationLayout, !isTbar);
|
||||
!isTbar && !isReleaseTbar);
|
||||
SetLayoutVisible(_transitionLayout, !isTbar && !isReleaseTbar);
|
||||
SetLayoutVisible(_durationLayout, !isTbar && !isReleaseTbar);
|
||||
SetLayoutVisible(_tbarLayout, isTbar);
|
||||
adjustSize();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ public:
|
|||
SOURCE_SHOW,
|
||||
SOURCE_HIDE,
|
||||
TBAR,
|
||||
RELEASE_TBAR,
|
||||
};
|
||||
|
||||
Type _type = Type::SCENE;
|
||||
|
|
@ -46,6 +47,7 @@ private:
|
|||
void SetTransitionOverride();
|
||||
void SetSourceTransition(bool);
|
||||
void SetTbarPosition();
|
||||
void ReleaseTbar();
|
||||
|
||||
static bool _registered;
|
||||
static const std::string id;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user