Table of Contents

Method SetCurrentAsync

Namespace
OBSStudioClient.Model
Assembly
OBSClient.dll

SetCurrentAsync(string, CancellationToken)

Makes a transition the current one, and returns when the model shows it.

public Task SetCurrentAsync(string name, CancellationToken cancellationToken = default)

Parameters

name string

The name of the transition (GetAllAsync(CancellationToken) lists them).

cancellationToken CancellationToken

A token that ends the wait. A change that was not sent yet is not sent.

Returns

Task

A task that completes when Current is the transition.

Remarks

OBS Studio sends the event again when the transition is the current one already (measured with OBS Studio 33.0.0), so the model is read again and nothing changes. See SetEnabledAsync(bool, CancellationToken) for the order of changes and the wait.

Exceptions

ArgumentException

name is empty.

ObsNotConnectedException

There is no connection to OBS Studio. Nothing was changed.

ObsNotReadyException

OBS Studio is changing its scene collection, or did so after the call. Nothing was changed.

ObsUnknownOutcomeException

OBS Studio did not answer in time, or the connection ended: it is not known whether it made the change.

ObsNotConfirmedException

OBS Studio made the change, and the model does not show it: the events did not show it in time, and the model could not be read again in time. Do not send the change again.

ObsResponseException

OBS Studio refused the change: it has no transition of that name (ErrorCode is ResourceNotFound).