Package com.banuba.sdk.effect_player
Interface EffectManager
-
- All Known Implementing Classes:
EffectManager.CppProxy
public interface EffectManager
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
EffectManager.CppProxy
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addEffectActivatedListener(EffectActivatedListener effectActivatedListener)
Add callback to receive notifications on effect change.void
addEffectEventListener(EffectEventListener effectEventListener)
Add callback to receive events from effect.void
addErrorListener(ErrorListener errorListener)
Add callback to receive errors messages from Effect Player.void
addHintListener(HintListener hintListener)
Add callback to receive user-visible messages from effects.Effect
createEffect(java.lang.String workDir)
Create empty effect.Effect
current()
Get active effect Thread-safe.void
disableSurfacePresentation()
disable surface presentation.Size
effectSize()
Get current effect size Thread-safe.float
effectVolume()
Get effect audio volume.static EffectInfo
getEffectInfo(java.lang.String url)
Get effect info.Effect
load(java.lang.String url)
Load and activate effect sync.Effect
loadAsync(java.lang.String url)
Load effect async, activate in the draw() call when it will be ready.ReloadResult
reloadConfig(java.lang.String config)
Reload current effect config from the string provided.void
removeEffectActivatedListener(EffectActivatedListener effectActivatedListener)
Remove callback to receive notifications on effect change.void
removeEffectEventListener(EffectEventListener effectEventListener)
Remove callback to receive events from effect.void
removeErrorListener(ErrorListener errorListener)
Remove callback to receive errors messages from Effect Player.void
removeHintListener(HintListener hintListener)
Remove callback to receive user-visible messages from effects.void
setCurrentEffect(Effect effect)
Set current effect.void
setEffectSize(int fxWidth, int fxHeight)
Changes effect player render size, should be called on render thread.void
setEffectVolume(float volume)
Set effect audio volume.void
setRenderSurface(SurfaceData data)
set different render surfaces.Size
surfaceSize()
Get current surface size Thread-safe.void
unload(Effect effect)
Unload effect from cache.void
update(boolean sync)
Update effect loading state
-
-
-
Method Detail
-
addErrorListener
void addErrorListener(@Nullable ErrorListener errorListener)
Add callback to receive errors messages from Effect Player. Thread-safe. May be called from any thread
-
removeErrorListener
void removeErrorListener(@Nullable ErrorListener errorListener)
Remove callback to receive errors messages from Effect Player. Thread-safe. May be called from any thread
-
addHintListener
void addHintListener(@Nullable HintListener hintListener)
Add callback to receive user-visible messages from effects. You should display them on UI. Thread-safe. May be called from any thread
-
removeHintListener
void removeHintListener(@Nullable HintListener hintListener)
Remove callback to receive user-visible messages from effects. Thread-safe. May be called from any thread
-
addEffectEventListener
void addEffectEventListener(@Nullable EffectEventListener effectEventListener)
Add callback to receive events from effect. Thread-safe. May be called from any thread
-
removeEffectEventListener
void removeEffectEventListener(@Nullable EffectEventListener effectEventListener)
Remove callback to receive events from effect. Thread-safe. May be called from any thread
-
addEffectActivatedListener
void addEffectActivatedListener(@Nullable EffectActivatedListener effectActivatedListener)
Add callback to receive notifications on effect change. Thread-safe. May be called from any thread
-
removeEffectActivatedListener
void removeEffectActivatedListener(@Nullable EffectActivatedListener effectActivatedListener)
Remove callback to receive notifications on effect change. Thread-safe. May be called from any thread
-
createEffect
@Nullable Effect createEffect(@NonNull java.lang.String workDir)
Create empty effect. If working directory path is empty string then effect assumed as an in-memory effect.
-
setCurrentEffect
void setCurrentEffect(@Nullable Effect effect)
Set current effect. Thread-safe. May be called from any thread
-
load
@Nullable Effect load(@NonNull java.lang.String url)
Load and activate effect sync. MUST be called from the render thread.
-
loadAsync
@Nullable Effect loadAsync(@NonNull java.lang.String url)
Load effect async, activate in the draw() call when it will be ready. Thread-safe. May be called from any thread.
-
reloadConfig
@Nullable ReloadResult reloadConfig(@NonNull java.lang.String 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.
-
unload
void unload(@Nullable Effect 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
-
current
@Nullable Effect current()
Get active effect Thread-safe. May be called from any thread
-
update
void update(boolean sync)
Update effect loading state- Parameters:
sync
- syncronize effect manager, block until effect loaded MUST be called from the render thread
-
effectSize
@NonNull Size effectSize()
Get current effect size Thread-safe. May be called from any thread
-
surfaceSize
@NonNull Size surfaceSize()
Get current surface 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.
-
setEffectVolume
void setEffectVolume(float volume)
Set effect audio volume. Thread-safe. May be called from any thread- Parameters:
volume
- A value in range `[0, 1]`, where `1` means maximum volume.
-
setEffectSize
void setEffectSize(int fxWidth, int fxHeight)
Changes effect player render size, should be called on render thread. MUST be called from the render thread
-
setRenderSurface
void setRenderSurface(@NonNull SurfaceData data)
set different render surfaces. Can be treated as void*
-
disableSurfacePresentation
void disableSurfacePresentation()
disable surface presentation. Needed for offscreen rendering
-
getEffectInfo
@NonNull static EffectInfo getEffectInfo(@NonNull java.lang.String 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
-
-