Table of Contents

Class ObsModelOptions

Namespace
OBSStudioClient.Model
Assembly
OBSClient.dll

The settings of an ObsModel.

public sealed class ObsModelOptions
Inheritance
ObsModelOptions
Inherited Members

Properties

AdditionalEvents

Gets or sets the events that OBS Studio sends in addition to the ones the model needs, for your own handlers on Client and for the events of the model that need one (VendorEvent needs Vendors). The default is none. The events that the model needs are always subscribed to.

AutoReconnect

Gets or sets whether the connection is restored when it is lost, as AutoReconnect does. The default is true: the model keeps the last values that it knew while the connection is down (see IsStale), and reads OBS Studio again when it is back.

ConfirmationTimeout

Gets or sets how long a change waits for the model to show it, after OBS Studio has answered the request. The default is 1 second. It must be between 1 millisecond and 24 days.

HighVolume

Gets or sets what the model follows of the events that OBS Studio sends very often. The default is none: the model does not even subscribe to them (see ObsHighVolume).

IgnoreCase

Gets or sets whether a name also matches when it differs only by case, if that leaves one object. An exact match always wins. The default is false: names are case sensitive, as they are in OBS Studio.

MaxPendingNotifications

Gets or sets how many notifications may wait for your handlers at the most. The default is 10,000.

NotificationContext

Gets or sets the context that the notifications (Changed and the PropertyChanged events) are raised on, for example the context of a user interface thread. When it is null, they are raised on a thread of the thread pool, one at a time, in order.

OutputStepTimeout

Gets or sets how long an output may be starting or stopping before the model reads it again, to see whether the step is over. The default is 30 seconds. It must be between 1 millisecond and 24 days.

ReadTimeout

Gets or sets how long a read of the model may take. The default is 10 seconds. It must be between 1 millisecond and 24 days. (The requests that you make through Client have the time limit of that client.)

SynchronizationTimeout

Gets or sets how long ConnectAsync(string, int, string, CancellationToken) waits for the model to be complete, after the connection is made. The default is 30 seconds. The model reads the scenes, the inputs, the program scene, studio mode, the scene items of every scene and the audio state of the inputs, so the time grows with the size of the collection and with the time that OBS Studio takes to answer. It must be between 1 millisecond and 24 days.

TimeProvider

Gets or sets the source of time, for the waits of the model. The default is System. Tests can pass their own.

WriteTimeout

Gets or sets how long a change may take: the time that OBS Studio is given to answer the request. The default is 10 seconds. It must be between 1 millisecond and 24 days. When OBS Studio does not answer in time, the change ends with an ObsUnknownOutcomeException. It is also the time that OBS Studio is given to answer the question that a toggle asks before it changes anything (see ToggleEnabledAsync(CancellationToken)): then nothing was changed, and the change ends with an ObsNotReadyException.