Skip to content

Dll

Defined in: core/dll.ts:27

The Dll class allows access to functions in DLL files that are placed within the Scriptdlls folder.

The class also emits two events for developers to know when the user changes the DLL permission setting for the plugin through the permissions window.

The following events are emitted.

  • access-granted
  • access-revoked

Use the on(event: string, handler: Function) function to listen to events.

For more detailed information about using DLLs in XSplit, please see the tutorials.html#/dll DLL tutorial. That link also includes a list of methods exposed by the DLLs that ship with XSplit.

  • EventEmitter

new Dll(): Dll

Dll

EventEmitter.constructor

static _emitter: Dll

Defined in: core/dll.ts:50


static _proxyHandlers: object = {}

Defined in: util/eventemitter.ts:7

EventEmitter._proxyHandlers


static _remoteHandlers: object = {}

Defined in: util/eventemitter.ts:6

EventEmitter._remoteHandlers

emit(event, …params): void

Defined in: util/eventemitter.ts:66

This function lets an event trigger with any number of supplied parameters.

string

any[]

void

EventEmitter.emit


off(event, handler): void

Defined in: util/eventemitter.ts:37

This function removes a handler to an event.

string

Function

void

EventEmitter.off


on(event, handler, _id?): void

Defined in: util/eventemitter.ts:10

This function attaches a handler to an event. Duplicate handlers are allowed.

string

Function

string

void

EventEmitter.on


static _finalCallback(message): Promise<void>

Defined in: util/eventemitter.ts:99

string

Promise<void>

EventEmitter._finalCallback


static _setCallback(message): Promise<unknown>

Defined in: util/eventemitter.ts:90

string

Promise<unknown>

EventEmitter._setCallback


static call(func, …params): Promise<string>

Defined in: core/dll.ts:80

param: (funcName: string, …params: string[])

return: Promise (see tutorials.html#/dll DLL documentation)

Calls a function from a loaded “safe” DLL. The only safe DLL we are currently exposing is Xjs.dll.

string

string[]

Promise<string>


static callEx(func, …params): Promise<string>

Defined in: core/dll.ts:110

param: (funcName: string, …params: string[])

return: Promise (see tutorials.html#/dll DLL documentation)

Calls a function from a loaded “unsafe” DLL. The first DLL containing the function name will be called, so you need to ensure there are no function name collisions among DLLs for functions you require.

Some DLLs have callbacks. Assign a handler function to that callback in the global namespace (window.callbackName = ...), and the DLL will call that function accordingly.

See the documentation of your specific DLL for more details.

string

string[]

Promise<string>


static emit(event, …params): void

Defined in: core/dll.ts:67

param: (event: string, …params: any[])

Allows this class to emit an event. Generally only useful for testing.

string

any[]

void


static isAccessGranted(): Promise<boolean>

Defined in: core/dll.ts:131

return: Promise

Determines if user has granted DLL access for this plugin. This also resolves to true if DLL security is disabled altogether.

Promise<boolean>


static load(path): Promise<any>

Defined in: core/dll.ts:42

param: (path: string)

Loads one or more DLLs for the plugin to use. Currently, only Xjs.dll is auto-loaded and does not require loading. Loading DLLs will trigger a notification for the user, requesting access to be granted to DLL files. Your plugin should only call this once, at the beginning of execution.

Paths are relative to the main XBC application folder, so sample usage is:

Dll.load(['Scriptdlls\\SplitMediaLabs\\XjsEx.dll']);

string[]

Promise<any>


static on(event, handler): void

Defined in: core/dll.ts:58

param: (event: string, handler: Function)

Allows listening to events that this class emits. Currently there are two: access-granted and access-revoked.

string

Function

void