createSceneItem method

Future<int> createSceneItem({
  1. String? sceneName,
  2. String? sceneUuid,
  3. String? canvasUuid,
  4. String? sourceName,
  5. String? sourceUuid,
  6. bool? sceneItemEnabled,
})

Creates a new scene item using a source.

Scenes only

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

Implementation

Future<int> createSceneItem({
  String? sceneName,
  String? sceneUuid,
  String? canvasUuid,
  String? sourceName,
  String? sourceUuid,
  bool? sceneItemEnabled,
}) async {
  if (sceneName == null && sceneUuid == null) {
    throw ArgumentError('sceneName or sceneUuid must be provided');
  }
  if (sourceName == null && sourceUuid == null) {
    throw ArgumentError('sourceName or sourceUuid must be provided');
  }

  final response = await obsWebSocket.sendRequest(
    Request(
      'CreateSceneItem',
      requestData: {
        'sceneName': ?sceneName,
        'sceneUuid': ?sceneUuid,
        'canvasUuid': ?canvasUuid,
        'sourceName': ?sourceName,
        'sourceUuid': ?sourceUuid,
        'sceneItemEnabled': ?sceneItemEnabled,
      },
    ),
  );

  return IntegerResponse.fromJson(response!.responseData!).itemId;
}