From c741a7389322cbe54a6051dc22515284a98c7e36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Lepin?= Date: Wed, 18 Mar 2020 01:18:20 +0100 Subject: [PATCH 01/10] request(SetTBarPosition): wip --- src/WSRequestHandler.cpp | 1 + src/WSRequestHandler.h | 1 + src/WSRequestHandler_StudioMode.cpp | 27 +++++++++++++++++++++++++++ 3 files changed, 29 insertions(+) diff --git a/src/WSRequestHandler.cpp b/src/WSRequestHandler.cpp index f2ae6c47..a5914744 100644 --- a/src/WSRequestHandler.cpp +++ b/src/WSRequestHandler.cpp @@ -130,6 +130,7 @@ const QHash WSRequestHandler::messageMap { { "EnableStudioMode", &WSRequestHandler::EnableStudioMode }, { "DisableStudioMode", &WSRequestHandler::DisableStudioMode }, { "ToggleStudioMode", &WSRequestHandler::ToggleStudioMode }, + { "SetTBarPosition", &WSRequestHandler::SetTBarPosition }, { "SetTextGDIPlusProperties", &WSRequestHandler::SetTextGDIPlusProperties }, { "GetTextGDIPlusProperties", &WSRequestHandler::GetTextGDIPlusProperties }, diff --git a/src/WSRequestHandler.h b/src/WSRequestHandler.h index d17384ee..a644bca4 100644 --- a/src/WSRequestHandler.h +++ b/src/WSRequestHandler.h @@ -148,6 +148,7 @@ class WSRequestHandler { RpcResponse EnableStudioMode(const RpcRequest&); RpcResponse DisableStudioMode(const RpcRequest&); RpcResponse ToggleStudioMode(const RpcRequest&); + RpcResponse SetTBarPosition(const RpcRequest&); RpcResponse SetTextGDIPlusProperties(const RpcRequest&); RpcResponse GetTextGDIPlusProperties(const RpcRequest&); diff --git a/src/WSRequestHandler_StudioMode.cpp b/src/WSRequestHandler_StudioMode.cpp index fb958f3b..219435ed 100644 --- a/src/WSRequestHandler_StudioMode.cpp +++ b/src/WSRequestHandler_StudioMode.cpp @@ -177,3 +177,30 @@ RpcResponse WSRequestHandler::ToggleStudioMode(const RpcRequest& request) { return request.success(); } + +/** + * Set the position of the T-Bar (in Studio Mode) to the specified value. Will return an error if OBS is not in studio mode + * or if the current transition doesn't support T-Bar control. + * + * @param {double} `position` T-Bar position. This value will be clamped between 0.0 and 1.0. + * + * @api requests + * @name TransitionToProgram + * @category studio mode + * @since 4.8.0 + */ +RpcResponse WSRequestHandler::SetTBarPosition(const RpcRequest& request) { + if (!obs_frontend_preview_program_mode_active()) { + return request.failed("studio mode not enabled"); + } + + OBSSourceAutoRelease currentTransition = obs_frontend_get_current_transition(); + if (obs_transition_fixed(currentTransition)) { + return request.failed("current transition doesn't support t-bar control"); + } + + double position = obs_data_get_double(request.parameters(), "position"); + obs_transition_set_manual_time(currentTransition, position); + + return request.success(); +} From 297d920fdc679452883d24651ef5f1dfd18b9f70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Lepin?= Date: Wed, 18 Mar 2020 01:19:02 +0100 Subject: [PATCH 02/10] fix --- src/WSRequestHandler_StudioMode.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/WSRequestHandler_StudioMode.cpp b/src/WSRequestHandler_StudioMode.cpp index 219435ed..cd103c83 100644 --- a/src/WSRequestHandler_StudioMode.cpp +++ b/src/WSRequestHandler_StudioMode.cpp @@ -185,7 +185,7 @@ RpcResponse WSRequestHandler::ToggleStudioMode(const RpcRequest& request) { * @param {double} `position` T-Bar position. This value will be clamped between 0.0 and 1.0. * * @api requests - * @name TransitionToProgram + * @name SetTBarPosition * @category studio mode * @since 4.8.0 */ From 4eb7bed2ff139932a50ae44c3f38930bdbe036dd Mon Sep 17 00:00:00 2001 From: tt2468 Date: Tue, 12 May 2020 15:44:57 -0700 Subject: [PATCH 03/10] Lots of changes - Move `SetTBarPosition` to transitions category - Add another check to `SetTBarPosition` so that we dont break the fabric of time with the wrong values - Create `GetTransitionPosition` request in transitions category --- src/WSRequestHandler.cpp | 3 +- src/WSRequestHandler.h | 8 ++--- src/WSRequestHandler_StudioMode.cpp | 29 +--------------- src/WSRequestHandler_Transitions.cpp | 50 ++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 33 deletions(-) diff --git a/src/WSRequestHandler.cpp b/src/WSRequestHandler.cpp index a5914744..018b2638 100644 --- a/src/WSRequestHandler.cpp +++ b/src/WSRequestHandler.cpp @@ -84,6 +84,8 @@ const QHash WSRequestHandler::messageMap { { "SetCurrentTransition", &WSRequestHandler::SetCurrentTransition }, { "SetTransitionDuration", &WSRequestHandler::SetTransitionDuration }, { "GetTransitionDuration", &WSRequestHandler::GetTransitionDuration }, + { "SetTBarPosition", &WSRequestHandler::SetTBarPosition }, + { "GetTransitionPosition", &WSRequestHandler::GetTransitionPosition }, { "SetVolume", &WSRequestHandler::SetVolume }, { "GetVolume", &WSRequestHandler::GetVolume }, @@ -130,7 +132,6 @@ const QHash WSRequestHandler::messageMap { { "EnableStudioMode", &WSRequestHandler::EnableStudioMode }, { "DisableStudioMode", &WSRequestHandler::DisableStudioMode }, { "ToggleStudioMode", &WSRequestHandler::ToggleStudioMode }, - { "SetTBarPosition", &WSRequestHandler::SetTBarPosition }, { "SetTextGDIPlusProperties", &WSRequestHandler::SetTextGDIPlusProperties }, { "GetTextGDIPlusProperties", &WSRequestHandler::GetTextGDIPlusProperties }, diff --git a/src/WSRequestHandler.h b/src/WSRequestHandler.h index a644bca4..5dc30894 100644 --- a/src/WSRequestHandler.h +++ b/src/WSRequestHandler.h @@ -99,6 +99,10 @@ class WSRequestHandler { RpcResponse GetTransitionList(const RpcRequest&); RpcResponse GetCurrentTransition(const RpcRequest&); RpcResponse SetCurrentTransition(const RpcRequest&); + RpcResponse SetTransitionDuration(const RpcRequest&); + RpcResponse GetTransitionDuration(const RpcRequest&); + RpcResponse SetTBarPosition(const RpcRequest&); + RpcResponse GetTransitionPosition(const RpcRequest&); RpcResponse SetVolume(const RpcRequest&); RpcResponse GetVolume(const RpcRequest&); @@ -138,9 +142,6 @@ class WSRequestHandler { RpcResponse SendCaptions(const RpcRequest&); #endif - RpcResponse SetTransitionDuration(const RpcRequest&); - RpcResponse GetTransitionDuration(const RpcRequest&); - RpcResponse GetStudioModeStatus(const RpcRequest&); RpcResponse GetPreviewScene(const RpcRequest&); RpcResponse SetPreviewScene(const RpcRequest&); @@ -148,7 +149,6 @@ class WSRequestHandler { RpcResponse EnableStudioMode(const RpcRequest&); RpcResponse DisableStudioMode(const RpcRequest&); RpcResponse ToggleStudioMode(const RpcRequest&); - RpcResponse SetTBarPosition(const RpcRequest&); RpcResponse SetTextGDIPlusProperties(const RpcRequest&); RpcResponse GetTextGDIPlusProperties(const RpcRequest&); diff --git a/src/WSRequestHandler_StudioMode.cpp b/src/WSRequestHandler_StudioMode.cpp index cd103c83..042db61b 100644 --- a/src/WSRequestHandler_StudioMode.cpp +++ b/src/WSRequestHandler_StudioMode.cpp @@ -176,31 +176,4 @@ RpcResponse WSRequestHandler::ToggleStudioMode(const RpcRequest& request) { }, nullptr, true); return request.success(); -} - -/** - * Set the position of the T-Bar (in Studio Mode) to the specified value. Will return an error if OBS is not in studio mode - * or if the current transition doesn't support T-Bar control. - * - * @param {double} `position` T-Bar position. This value will be clamped between 0.0 and 1.0. - * - * @api requests - * @name SetTBarPosition - * @category studio mode - * @since 4.8.0 - */ -RpcResponse WSRequestHandler::SetTBarPosition(const RpcRequest& request) { - if (!obs_frontend_preview_program_mode_active()) { - return request.failed("studio mode not enabled"); - } - - OBSSourceAutoRelease currentTransition = obs_frontend_get_current_transition(); - if (obs_transition_fixed(currentTransition)) { - return request.failed("current transition doesn't support t-bar control"); - } - - double position = obs_data_get_double(request.parameters(), "position"); - obs_transition_set_manual_time(currentTransition, position); - - return request.success(); -} +} \ No newline at end of file diff --git a/src/WSRequestHandler_Transitions.cpp b/src/WSRequestHandler_Transitions.cpp index 7c22687c..a2ba2125 100644 --- a/src/WSRequestHandler_Transitions.cpp +++ b/src/WSRequestHandler_Transitions.cpp @@ -120,3 +120,53 @@ RpcResponse WSRequestHandler::GetTransitionDuration(const RpcRequest& request) { obs_data_set_int(response, "transition-duration", obs_frontend_get_transition_duration()); return request.success(response); } + +/** + * Set the manual position of the T-Bar (in Studio Mode) to the specified value. Will return an error if OBS is not in studio mode + * or if the current transition doesn't support T-Bar control. + * + * @param {double} `position` T-Bar position. This value must be between 0.0 and 1.0. + * + * @api requests + * @name SetTBarPosition + * @category transitions + * @since 4.8.0 + */ +RpcResponse WSRequestHandler::SetTBarPosition(const RpcRequest& request) { + if (!obs_frontend_preview_program_mode_active()) { + return request.failed("studio mode not enabled"); + } + + OBSSourceAutoRelease currentTransition = obs_frontend_get_current_transition(); + if (obs_transition_fixed(currentTransition)) { + return request.failed("current transition doesn't support t-bar control"); + } + + double position = obs_data_get_double(request.parameters(), "position"); + if (position < 0.0 || position > 1.0) { + return request.failed("position is out of range"); + } + + obs_transition_set_manual_time(currentTransition, position); + + return request.success(); +} + +/** + * Get the position of the current transition. + * + * @return {double} `position` current transition position. This value will be between 0.0 and 1.0. Note: Transition returns 1.0 when not active. + * + * @api requests + * @name GetTransitionPosition + * @category transitions + * @since 4.8.0 + */ +RpcResponse WSRequestHandler::GetTransitionPosition(const RpcRequest& request) { + OBSSourceAutoRelease currentTransition = obs_frontend_get_current_transition(); + + OBSDataAutoRelease response = obs_data_create(); + obs_data_set_double(response, "position", obs_transition_get_time(currentTransition)); + + return request.success(response); +} \ No newline at end of file From 10ed2738f53e4cff6de8f3e810460d6910143dfc Mon Sep 17 00:00:00 2001 From: tt2468 Date: Wed, 13 May 2020 00:10:57 -0700 Subject: [PATCH 04/10] Add `ReleaseTBar` request and update `SetTBarPosition` to depend on OBS pr 2927 --- src/WSRequestHandler.cpp | 1 + src/WSRequestHandler.h | 1 + src/WSRequestHandler_Transitions.cpp | 41 +++++++++++++++++++++++++--- 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/WSRequestHandler.cpp b/src/WSRequestHandler.cpp index 018b2638..660ed2c4 100644 --- a/src/WSRequestHandler.cpp +++ b/src/WSRequestHandler.cpp @@ -84,6 +84,7 @@ const QHash WSRequestHandler::messageMap { { "SetCurrentTransition", &WSRequestHandler::SetCurrentTransition }, { "SetTransitionDuration", &WSRequestHandler::SetTransitionDuration }, { "GetTransitionDuration", &WSRequestHandler::GetTransitionDuration }, + { "ReleaseTBar", &WSRequestHandler::ReleaseTBar }, { "SetTBarPosition", &WSRequestHandler::SetTBarPosition }, { "GetTransitionPosition", &WSRequestHandler::GetTransitionPosition }, diff --git a/src/WSRequestHandler.h b/src/WSRequestHandler.h index 5dc30894..a6c7804c 100644 --- a/src/WSRequestHandler.h +++ b/src/WSRequestHandler.h @@ -101,6 +101,7 @@ class WSRequestHandler { RpcResponse SetCurrentTransition(const RpcRequest&); RpcResponse SetTransitionDuration(const RpcRequest&); RpcResponse GetTransitionDuration(const RpcRequest&); + RpcResponse ReleaseTBar(const RpcRequest&); RpcResponse SetTBarPosition(const RpcRequest&); RpcResponse GetTransitionPosition(const RpcRequest&); diff --git a/src/WSRequestHandler_Transitions.cpp b/src/WSRequestHandler_Transitions.cpp index a2ba2125..443b3fcd 100644 --- a/src/WSRequestHandler_Transitions.cpp +++ b/src/WSRequestHandler_Transitions.cpp @@ -121,6 +121,28 @@ RpcResponse WSRequestHandler::GetTransitionDuration(const RpcRequest& request) { return request.success(response); } +/** + * Release the T-Bar. YOU MUST CALL THIS IF YOU SPECIFY `release = false` IN `SetTBarPosition`. + * + * @api requests + * @name ReleaseTBar + * @category transitions + * @since 4.8.0 + */ +RpcResponse WSRequestHandler::ReleaseTBar(const RpcRequest& request) { + if (!obs_frontend_preview_program_mode_active()) { + return request.failed("studio mode not enabled"); + } + + if (obs_transition_fixed(obs_frontend_get_current_transition())) { + return request.failed("current transition doesn't support t-bar control"); + } + + obs_frontend_release_tbar(); + + return request.success(); +} + /** * Set the manual position of the T-Bar (in Studio Mode) to the specified value. Will return an error if OBS is not in studio mode * or if the current transition doesn't support T-Bar control. @@ -137,17 +159,28 @@ RpcResponse WSRequestHandler::SetTBarPosition(const RpcRequest& request) { return request.failed("studio mode not enabled"); } - OBSSourceAutoRelease currentTransition = obs_frontend_get_current_transition(); - if (obs_transition_fixed(currentTransition)) { + if (obs_transition_fixed(obs_frontend_get_current_transition())) { return request.failed("current transition doesn't support t-bar control"); } + if (!request.hasField("position")) { + return request.failed("missing request parameters"); + } + double position = obs_data_get_double(request.parameters(), "position"); if (position < 0.0 || position > 1.0) { return request.failed("position is out of range"); } - - obs_transition_set_manual_time(currentTransition, position); + + bool release = true; + if (request.hasField("release")) { + release = obs_data_get_bool(request.parameters(), "release"); + } + + obs_frontend_set_tbar_position((int)((float)position * 1024.0)); + if (release) { + obs_frontend_release_tbar(); + } return request.success(); } From 7ca902e39a7beecb161016d57c4d72cba98719cf Mon Sep 17 00:00:00 2001 From: tt2468 Date: Wed, 13 May 2020 20:48:54 -0700 Subject: [PATCH 05/10] A few formatting fixes --- src/WSRequestHandler_Transitions.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/WSRequestHandler_Transitions.cpp b/src/WSRequestHandler_Transitions.cpp index 443b3fcd..5aaadfb7 100644 --- a/src/WSRequestHandler_Transitions.cpp +++ b/src/WSRequestHandler_Transitions.cpp @@ -81,7 +81,7 @@ RpcResponse WSRequestHandler::SetCurrentTransition(const RpcRequest& request) { if (!success) { return request.failed("requested transition does not exist"); } - + return request.success(); } @@ -171,12 +171,12 @@ RpcResponse WSRequestHandler::SetTBarPosition(const RpcRequest& request) { if (position < 0.0 || position > 1.0) { return request.failed("position is out of range"); } - + bool release = true; if (request.hasField("release")) { release = obs_data_get_bool(request.parameters(), "release"); } - + obs_frontend_set_tbar_position((int)((float)position * 1024.0)); if (release) { obs_frontend_release_tbar(); @@ -197,9 +197,9 @@ RpcResponse WSRequestHandler::SetTBarPosition(const RpcRequest& request) { */ RpcResponse WSRequestHandler::GetTransitionPosition(const RpcRequest& request) { OBSSourceAutoRelease currentTransition = obs_frontend_get_current_transition(); - + OBSDataAutoRelease response = obs_data_create(); obs_data_set_double(response, "position", obs_transition_get_time(currentTransition)); return request.success(response); -} \ No newline at end of file +} From 121d9f492056eea33a2e340e53537914fc7c47dd Mon Sep 17 00:00:00 2001 From: tt2468 Date: Wed, 13 May 2020 23:32:14 -0700 Subject: [PATCH 06/10] Remove `GetTransitionPosition` Moving it to its own PR since this PR will not make it into 4.8 --- src/WSRequestHandler.cpp | 1 - src/WSRequestHandler.h | 1 - src/WSRequestHandler_Transitions.cpp | 19 ------------------- 3 files changed, 21 deletions(-) diff --git a/src/WSRequestHandler.cpp b/src/WSRequestHandler.cpp index 660ed2c4..514cf455 100644 --- a/src/WSRequestHandler.cpp +++ b/src/WSRequestHandler.cpp @@ -86,7 +86,6 @@ const QHash WSRequestHandler::messageMap { { "GetTransitionDuration", &WSRequestHandler::GetTransitionDuration }, { "ReleaseTBar", &WSRequestHandler::ReleaseTBar }, { "SetTBarPosition", &WSRequestHandler::SetTBarPosition }, - { "GetTransitionPosition", &WSRequestHandler::GetTransitionPosition }, { "SetVolume", &WSRequestHandler::SetVolume }, { "GetVolume", &WSRequestHandler::GetVolume }, diff --git a/src/WSRequestHandler.h b/src/WSRequestHandler.h index a6c7804c..c01ed313 100644 --- a/src/WSRequestHandler.h +++ b/src/WSRequestHandler.h @@ -103,7 +103,6 @@ class WSRequestHandler { RpcResponse GetTransitionDuration(const RpcRequest&); RpcResponse ReleaseTBar(const RpcRequest&); RpcResponse SetTBarPosition(const RpcRequest&); - RpcResponse GetTransitionPosition(const RpcRequest&); RpcResponse SetVolume(const RpcRequest&); RpcResponse GetVolume(const RpcRequest&); diff --git a/src/WSRequestHandler_Transitions.cpp b/src/WSRequestHandler_Transitions.cpp index 5aaadfb7..56505738 100644 --- a/src/WSRequestHandler_Transitions.cpp +++ b/src/WSRequestHandler_Transitions.cpp @@ -184,22 +184,3 @@ RpcResponse WSRequestHandler::SetTBarPosition(const RpcRequest& request) { return request.success(); } - -/** - * Get the position of the current transition. - * - * @return {double} `position` current transition position. This value will be between 0.0 and 1.0. Note: Transition returns 1.0 when not active. - * - * @api requests - * @name GetTransitionPosition - * @category transitions - * @since 4.8.0 - */ -RpcResponse WSRequestHandler::GetTransitionPosition(const RpcRequest& request) { - OBSSourceAutoRelease currentTransition = obs_frontend_get_current_transition(); - - OBSDataAutoRelease response = obs_data_create(); - obs_data_set_double(response, "position", obs_transition_get_time(currentTransition)); - - return request.success(response); -} From eddd4abe76dee7d7dc94444551ad660b27e012e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Lepin?= Date: Fri, 27 Nov 2020 12:45:57 +0100 Subject: [PATCH 07/10] ci(linux): update frontend api headers to v26 --- CI/install-dependencies-ubuntu.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CI/install-dependencies-ubuntu.sh b/CI/install-dependencies-ubuntu.sh index d0e16f53..4ed044da 100755 --- a/CI/install-dependencies-ubuntu.sh +++ b/CI/install-dependencies-ubuntu.sh @@ -14,6 +14,6 @@ sudo apt-get install -y \ qtbase5-dev # Dirty hack -sudo wget -O /usr/include/obs/obs-frontend-api.h https://raw.githubusercontent.com/obsproject/obs-studio/25.0.0/UI/obs-frontend-api/obs-frontend-api.h +sudo wget -O /usr/include/obs/obs-frontend-api.h https://raw.githubusercontent.com/obsproject/obs-studio/26.0.0/UI/obs-frontend-api/obs-frontend-api.h sudo ldconfig From 3ab7de99f3612fb929cdf01f998fec7b0047372a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Lepin?= Date: Fri, 27 Nov 2020 16:03:21 +0100 Subject: [PATCH 08/10] requests(transitions): documentation fixes --- src/WSRequestHandler_Transitions.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/WSRequestHandler_Transitions.cpp b/src/WSRequestHandler_Transitions.cpp index 78d7ee30..fbdef0cf 100644 --- a/src/WSRequestHandler_Transitions.cpp +++ b/src/WSRequestHandler_Transitions.cpp @@ -129,7 +129,7 @@ RpcResponse WSRequestHandler::GetTransitionDuration(const RpcRequest& request) { * @api requests * @name GetTransitionPosition * @category transitions - * @since 4.8.0 + * @since unreleased */ RpcResponse WSRequestHandler::GetTransitionPosition(const RpcRequest& request) { OBSSourceAutoRelease currentTransition = obs_frontend_get_current_transition(); @@ -206,12 +206,12 @@ RpcResponse WSRequestHandler::SetTransitionSettings(const RpcRequest& request) { } /** - * Release the T-Bar. YOU MUST CALL THIS IF YOU SPECIFY `release = false` IN `SetTBarPosition`. + * Release the T-Bar. *YOU MUST CALL THIS if you called `SetTBarPosition` with the `release` parameter set to `false`.* * * @api requests * @name ReleaseTBar * @category transitions - * @since 4.8.0 + * @since unreleased */ RpcResponse WSRequestHandler::ReleaseTBar(const RpcRequest& request) { if (!obs_frontend_preview_program_mode_active()) { @@ -231,12 +231,13 @@ RpcResponse WSRequestHandler::ReleaseTBar(const RpcRequest& request) { * Set the manual position of the T-Bar (in Studio Mode) to the specified value. Will return an error if OBS is not in studio mode * or if the current transition doesn't support T-Bar control. * - * @param {double} `position` T-Bar position. This value must be between 0.0 and 1.0. + * @param {double} `position` T-Bar position. This value must be between 0.0 and 1024.0. + * @param {boolean (optional)} `release` Whether or not the T-Bar gets released after setting its new position. Call `ReleaseTBar` manually if you set `release` to false. Defaults to true * * @api requests * @name SetTBarPosition * @category transitions - * @since 4.8.0 + * @since unreleased */ RpcResponse WSRequestHandler::SetTBarPosition(const RpcRequest& request) { if (!obs_frontend_preview_program_mode_active()) { From 98187e2bd7a91a942c65e01933df7b783b9bb547 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Lepin?= Date: Fri, 27 Nov 2020 16:07:20 +0100 Subject: [PATCH 09/10] requests(transitions): documentation fixes cont. --- src/WSRequestHandler_Transitions.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/WSRequestHandler_Transitions.cpp b/src/WSRequestHandler_Transitions.cpp index fbdef0cf..0c7f3f9c 100644 --- a/src/WSRequestHandler_Transitions.cpp +++ b/src/WSRequestHandler_Transitions.cpp @@ -206,7 +206,8 @@ RpcResponse WSRequestHandler::SetTransitionSettings(const RpcRequest& request) { } /** - * Release the T-Bar. *YOU MUST CALL THIS if you called `SetTBarPosition` with the `release` parameter set to `false`.* + * Release the T-Bar (like a user releasing their mouse button after moving it). + * *YOU MUST CALL THIS if you called `SetTBarPosition` with the `release` parameter set to `false`.* * * @api requests * @name ReleaseTBar @@ -231,8 +232,8 @@ RpcResponse WSRequestHandler::ReleaseTBar(const RpcRequest& request) { * Set the manual position of the T-Bar (in Studio Mode) to the specified value. Will return an error if OBS is not in studio mode * or if the current transition doesn't support T-Bar control. * - * @param {double} `position` T-Bar position. This value must be between 0.0 and 1024.0. - * @param {boolean (optional)} `release` Whether or not the T-Bar gets released after setting its new position. Call `ReleaseTBar` manually if you set `release` to false. Defaults to true + * @param {double} `position` T-Bar position. This value must be between 0.0 and 1.0. + * @param {boolean (optional)} `release` Whether or not the T-Bar gets released automatically after setting its new position (like a user releasing their mouse button after moving the T-Bar). Call `ReleaseTBar` manually if you set `release` to false. Defaults to true. * * @api requests * @name SetTBarPosition From a53df39e46f3897c21c93db4bc7c185b5b6c63e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Lepin?= Date: Fri, 27 Nov 2020 16:15:03 +0100 Subject: [PATCH 10/10] requests(transitions): yet another doc fix --- src/WSRequestHandler_Transitions.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/WSRequestHandler_Transitions.cpp b/src/WSRequestHandler_Transitions.cpp index 0c7f3f9c..7fd15349 100644 --- a/src/WSRequestHandler_Transitions.cpp +++ b/src/WSRequestHandler_Transitions.cpp @@ -231,6 +231,8 @@ RpcResponse WSRequestHandler::ReleaseTBar(const RpcRequest& request) { /** * Set the manual position of the T-Bar (in Studio Mode) to the specified value. Will return an error if OBS is not in studio mode * or if the current transition doesn't support T-Bar control. + * + * If your code needs to perform multiple successive T-Bar moves (e.g. : in an animation, or in response to a user moving a T-Bar control in your User Interface), set `release` to false and call `ReleaseTBar` later once the animation/interaction is over. * * @param {double} `position` T-Bar position. This value must be between 0.0 and 1.0. * @param {boolean (optional)} `release` Whether or not the T-Bar gets released automatically after setting its new position (like a user releasing their mouse button after moving the T-Bar). Call `ReleaseTBar` manually if you set `release` to false. Defaults to true.