mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
eventhandler: Add SceneItemSelected event
So I didn't think anyone actually used this, but I was wrong. So I'm adding it again.
This commit is contained in:
parent
96a2fd8c25
commit
3e2984fd7a
@ -157,6 +157,7 @@ void EventHandler::ConnectSourceSignals(obs_source_t *source) // Applies to inpu
|
|||||||
signal_handler_connect(sh, "reorder", HandleSceneItemListReindexed, this);
|
signal_handler_connect(sh, "reorder", HandleSceneItemListReindexed, this);
|
||||||
signal_handler_connect(sh, "item_visible", HandleSceneItemEnableStateChanged, this);
|
signal_handler_connect(sh, "item_visible", HandleSceneItemEnableStateChanged, this);
|
||||||
signal_handler_connect(sh, "item_locked", HandleSceneItemLockStateChanged, this);
|
signal_handler_connect(sh, "item_locked", HandleSceneItemLockStateChanged, this);
|
||||||
|
signal_handler_connect(sh, "item_select", HandleSceneItemSelected, this);
|
||||||
signal_handler_connect(sh, "item_transform", HandleSceneItemTransformChanged, this);
|
signal_handler_connect(sh, "item_transform", HandleSceneItemTransformChanged, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -194,6 +195,7 @@ void EventHandler::DisconnectSourceSignals(obs_source_t *source)
|
|||||||
signal_handler_disconnect(sh, "reorder", HandleSceneItemListReindexed, this);
|
signal_handler_disconnect(sh, "reorder", HandleSceneItemListReindexed, this);
|
||||||
signal_handler_disconnect(sh, "item_visible", HandleSceneItemEnableStateChanged, this);
|
signal_handler_disconnect(sh, "item_visible", HandleSceneItemEnableStateChanged, this);
|
||||||
signal_handler_disconnect(sh, "item_locked", HandleSceneItemLockStateChanged, this);
|
signal_handler_disconnect(sh, "item_locked", HandleSceneItemLockStateChanged, this);
|
||||||
|
signal_handler_disconnect(sh, "item_select", HandleSceneItemSelected, this);
|
||||||
signal_handler_disconnect(sh, "item_transform", HandleSceneItemTransformChanged, this);
|
signal_handler_disconnect(sh, "item_transform", HandleSceneItemTransformChanged, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -125,6 +125,7 @@ class EventHandler
|
|||||||
static void HandleSceneItemListReindexed(void *param, calldata_t *data); // Direct callback
|
static void HandleSceneItemListReindexed(void *param, calldata_t *data); // Direct callback
|
||||||
static void HandleSceneItemEnableStateChanged(void *param, calldata_t *data); // Direct callback
|
static void HandleSceneItemEnableStateChanged(void *param, calldata_t *data); // Direct callback
|
||||||
static void HandleSceneItemLockStateChanged(void *param, calldata_t *data); // Direct callback
|
static void HandleSceneItemLockStateChanged(void *param, calldata_t *data); // Direct callback
|
||||||
|
static void HandleSceneItemSelected(void *param, calldata_t *data); // Direct callback
|
||||||
static void HandleSceneItemTransformChanged(void *param, calldata_t *data); // Direct callback
|
static void HandleSceneItemTransformChanged(void *param, calldata_t *data); // Direct callback
|
||||||
|
|
||||||
// Media Inputs
|
// Media Inputs
|
||||||
|
@ -191,6 +191,38 @@ void EventHandler::HandleSceneItemLockStateChanged(void *param, calldata_t *data
|
|||||||
eventHandler->BroadcastEvent(EventSubscription::SceneItems, "SceneItemLockStateChanged", eventData);
|
eventHandler->BroadcastEvent(EventSubscription::SceneItems, "SceneItemLockStateChanged", eventData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A scene item has been selected in the Ui.
|
||||||
|
*
|
||||||
|
* @dataField sceneName | String | Name of the scene the item is in
|
||||||
|
* @dataField sceneItemId | Number | Numeric ID of the scene item
|
||||||
|
*
|
||||||
|
* @eventType SceneItemSelected
|
||||||
|
* @eventSubscription SceneItems
|
||||||
|
* @complexity 2
|
||||||
|
* @rpcVersion -1
|
||||||
|
* @initialVersion 5.0.0
|
||||||
|
* @api events
|
||||||
|
* @category scene items
|
||||||
|
*/
|
||||||
|
void EventHandler::HandleSceneItemSelected(void *param, calldata_t *data)
|
||||||
|
{
|
||||||
|
auto eventHandler = static_cast<EventHandler*>(param);
|
||||||
|
|
||||||
|
obs_scene_t *scene = GetCalldataPointer<obs_scene_t>(data, "scene");
|
||||||
|
if (!scene)
|
||||||
|
return;
|
||||||
|
|
||||||
|
obs_sceneitem_t *sceneItem = GetCalldataPointer<obs_sceneitem_t>(data, "item");
|
||||||
|
if (!sceneItem)
|
||||||
|
return;
|
||||||
|
|
||||||
|
json eventData;
|
||||||
|
eventData["sceneName"] = obs_source_get_name(obs_scene_get_source(scene));
|
||||||
|
eventData["sceneItemId"] = obs_sceneitem_get_id(sceneItem);
|
||||||
|
eventHandler->BroadcastEvent(EventSubscription::SceneItems, "SceneItemSelected", eventData);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The transform/crop of a scene item has changed.
|
* The transform/crop of a scene item has changed.
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user