mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
TransitionBegin: add source and destination scene names
This commit is contained in:
parent
edc0fed9e2
commit
a9fc82365c
@ -741,6 +741,8 @@ void WSEvents::TransitionDurationChanged(int ms) {
|
|||||||
*
|
*
|
||||||
* @return {String} `name` Transition name.
|
* @return {String} `name` Transition name.
|
||||||
* @return {int} `duration` Transition duration (in milliseconds).
|
* @return {int} `duration` Transition duration (in milliseconds).
|
||||||
|
* @return {String} `from-scene` Source scene of the transition
|
||||||
|
* @return {String} `to-scene` Destination scene of the transition
|
||||||
*
|
*
|
||||||
* @api events
|
* @api events
|
||||||
* @name TransitionBegin
|
* @name TransitionBegin
|
||||||
@ -755,8 +757,9 @@ void WSEvents::OnTransitionBegin(void* param, calldata_t* data) {
|
|||||||
|
|
||||||
// Detect if transition is the global transition or a transition override.
|
// Detect if transition is the global transition or a transition override.
|
||||||
// Fetching the duration is different depending on the case.
|
// Fetching the duration is different depending on the case.
|
||||||
OBSSourceAutoRelease destination = obs_transition_get_active_source(transition);
|
OBSSourceAutoRelease sourceScene = obs_transition_get_source(transition, OBS_TRANSITION_SOURCE_A);
|
||||||
OBSDataAutoRelease destinationSettings = obs_source_get_private_settings(destination);
|
OBSSourceAutoRelease destinationScene = obs_transition_get_active_source(transition);
|
||||||
|
OBSDataAutoRelease destinationSettings = obs_source_get_private_settings(destinationScene);
|
||||||
int duration = -1;
|
int duration = -1;
|
||||||
if (obs_data_has_default_value(destinationSettings, "transition_duration") ||
|
if (obs_data_has_default_value(destinationSettings, "transition_duration") ||
|
||||||
obs_data_has_user_value(destinationSettings, "transition_duration"))
|
obs_data_has_user_value(destinationSettings, "transition_duration"))
|
||||||
@ -774,6 +777,13 @@ void WSEvents::OnTransitionBegin(void* param, calldata_t* data) {
|
|||||||
blog(LOG_WARNING, "OnTransitionBegin: duration is negative !");
|
blog(LOG_WARNING, "OnTransitionBegin: duration is negative !");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sourceScene) {
|
||||||
|
obs_data_set_string(fields, "from-scene", obs_source_get_name(sourceScene));
|
||||||
|
}
|
||||||
|
if (destinationScene) {
|
||||||
|
obs_data_set_string(fields, "to-scene", obs_source_get_name(destinationScene));
|
||||||
|
}
|
||||||
|
|
||||||
instance->broadcastUpdate("TransitionBegin", fields);
|
instance->broadcastUpdate("TransitionBegin", fields);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user