setSceneItemTransform method

Future<void> setSceneItemTransform({
  1. required String sceneName,
  2. required int sceneItemId,
  3. required Map<String, dynamic> sceneItemTransform,
  4. bool validateKeys = true,
})

Sets the transform (position, scale, rotation, crop) of a scene item.

Scenes and Groups

  • Complexity Rating: 3/5
  • Latest Supported RPC Version: 1
  • Added in v5.0.0

The sceneItemTransform map is validated against SceneItemTransform.knownKeys; unknown keys throw ObsArgumentException so typos surface client-side instead of being silently dropped by OBS. Pass validateKeys = false to opt out (e.g. when sending future protocol fields not yet recognised by this package).

Implementation

Future<void> setSceneItemTransform({
  required String sceneName,
  required int sceneItemId,
  required Map<String, dynamic> sceneItemTransform,
  bool validateKeys = true,
}) async {
  if (validateKeys) {
    SceneItemTransform.validate(sceneItemTransform);
  }
  await obsWebSocket.sendRequest(
    Request(
      'SetSceneItemTransform',
      requestData: {
        'sceneName': sceneName,
        'sceneItemId': sceneItemId,
        'sceneItemTransform': sceneItemTransform,
      },
    ),
  );
}