Banuba SDK
Instance Methods | Class Methods | List of all members
BNBEffectManager Class Reference

#import <BNBEffectManager.h>

Inheritance diagram for BNBEffectManager:

Instance Methods

(void) - addErrorListener:
 Add callback to receive errors messages from Effect Player. More...
 
(void) - removeErrorListener:
 Remove callback to receive errors messages from Effect Player. More...
 
(void) - addHintListener:
 Add callback to receive user-visible messages from effects. More...
 
(void) - removeHintListener:
 Remove callback to receive user-visible messages from effects. More...
 
(void) - addEffectEventListener:
 Add callback to receive events from effect. More...
 
(void) - removeEffectEventListener:
 Remove callback to receive events from effect. More...
 
(void) - addEffectActivatedListener:
 Add callback to receive notifications on effect change. More...
 
(void) - removeEffectActivatedListener:
 Remove callback to receive notifications on effect change. More...
 
(nullable BNBEffect *) - createEffect:
 Create empty effect. More...
 
(void) - setCurrentEffect:
 Set current effect. More...
 
(nullable BNBEffect *) - load:
 Load and activate effect sync. More...
 
(nullable BNBEffect *) - loadAsync:
 Load effect async, activate in the draw() call when it will be ready. More...
 
(nullable BNBReloadResult *) - reloadConfig:
 Reload current effect config from the string provided. More...
 
(void) - unload:
 Unload effect from cache. More...
 
(nullable BNBEffect *) - current
 Get active effect Thread-safe. More...
 
(void) - update:
 Update effect loading state. More...
 
(nonnull BNBSize *) - effectSize
 Get current effect size Thread-safe. More...
 
(nonnull BNBSize *) - surfaceSize
 Get current surface size Thread-safe. More...
 
(float) - effectVolume
 Get effect audio volume. More...
 
(void) - setEffectVolume:
 Set effect audio volume. More...
 
(void) - setEffectSize:fxHeight:
 Changes effect player render size, should be called on render thread. More...
 
(void) - setRenderSurface:
 set different render surfaces. More...
 
(void) - disableSurfacePresentation
 disable surface presentation. More...
 

Class Methods

(nonnull BNBEffectInfo *) + getEffectInfo:
 Get effect info. More...
 

Detailed Description

Definition at line 22 of file BNBEffectManager.h.

Method Documentation

◆ addEffectActivatedListener:

- (void) addEffectActivatedListener: (nullable id< BNBEffectActivatedListener >)  effectActivatedListener

Add callback to receive notifications on effect change.

Thread-safe. May be called from any thread

◆ addEffectEventListener:

- (void) addEffectEventListener: (nullable id< BNBEffectEventListener >)  effectEventListener

Add callback to receive events from effect.

Thread-safe. May be called from any thread

◆ addErrorListener:

- (void) addErrorListener: (nullable id< BNBErrorListener >)  errorListener

Add callback to receive errors messages from Effect Player.

Thread-safe. May be called from any thread

◆ addHintListener:

- (void) addHintListener: (nullable id< BNBHintListener >)  hintListener

Add callback to receive user-visible messages from effects.

You should display them on UI. Thread-safe. May be called from any thread

◆ createEffect:

- (nullable BNBEffect *) createEffect: (nonnull NSString *)  workDir

Create empty effect.

If working directory path is empty string then effect assumed as an in-memory effect.

◆ current

- (nullable BNBEffect *) current

Get active effect Thread-safe.

May be called from any thread

◆ disableSurfacePresentation

- (void) disableSurfacePresentation

disable surface presentation.

Needed for offscreen rendering

◆ effectSize

- (nonnull BNBSize *) effectSize

Get current effect size Thread-safe.

May be called from any thread

◆ effectVolume

- (float) effectVolume

Get effect audio volume.

Thread-safe. May be called from any thread

Returns
A volume in range [0, 1], where 1 means maximum volume.

◆ getEffectInfo:

+ (nonnull BNBEffectInfo *) getEffectInfo: (nonnull NSString *)  url

Get effect info.

May be called before loading effect "render type" and "recognizer features" fields won't be filled Thread-safe. May be called from any thread

◆ load:

- (nullable BNBEffect *) load: (nonnull NSString *)  url

Load and activate effect sync.

MUST be called from the render thread.

◆ loadAsync:

- (nullable BNBEffect *) loadAsync: (nonnull NSString *)  url

Load effect async, activate in the draw() call when it will be ready.

Thread-safe. May be called from any thread.

◆ reloadConfig:

- (nullable BNBReloadResult *) reloadConfig: (nonnull NSString *)  config

Reload current effect config from the string provided.

If this reload is possible without effect recreation, this method will return hot_reload == true, otherwise current effect will be replaced and the method will return hot_reload == false.

Thread-safe. May be called from any thread.

◆ removeEffectActivatedListener:

- (void) removeEffectActivatedListener: (nullable id< BNBEffectActivatedListener >)  effectActivatedListener

Remove callback to receive notifications on effect change.

Thread-safe. May be called from any thread

◆ removeEffectEventListener:

- (void) removeEffectEventListener: (nullable id< BNBEffectEventListener >)  effectEventListener

Remove callback to receive events from effect.

Thread-safe. May be called from any thread

◆ removeErrorListener:

- (void) removeErrorListener: (nullable id< BNBErrorListener >)  errorListener

Remove callback to receive errors messages from Effect Player.

Thread-safe. May be called from any thread

◆ removeHintListener:

- (void) removeHintListener: (nullable id< BNBHintListener >)  hintListener

Remove callback to receive user-visible messages from effects.

Thread-safe. May be called from any thread

◆ setCurrentEffect:

- (void) setCurrentEffect: (nullable BNBEffect *)  effect

Set current effect.

Thread-safe. May be called from any thread

◆ setEffectSize:fxHeight:

- (void) setEffectSize: (int32_t)  fxWidth
fxHeight: (int32_t)  fxHeight 

Changes effect player render size, should be called on render thread.

MUST be called from the render thread

◆ setEffectVolume:

- (void) setEffectVolume: (float)  volume

Set effect audio volume.

Thread-safe. May be called from any thread

Parameters
volumeA value in range [0, 1], where 1 means maximum volume.

◆ setRenderSurface:

- (void) setRenderSurface: (nonnull BNBSurfaceData *)  data

set different render surfaces.

Can be treated as void*

◆ surfaceSize

- (nonnull BNBSize *) surfaceSize

Get current surface size Thread-safe.

May be called from any thread

◆ unload:

- (void) unload: (nullable BNBEffect *)  effect

Unload effect from cache.

if no currently loading effect - works the same way as load(""); launches empty effect loading. MUST be called from the render thread

◆ update:

- (void) update: (BOOL)  sync

Update effect loading state.

Parameters
syncsyncronize effect manager, block until effect loaded MUST be called from the render thread

The documentation for this class was generated from the following file: