-
Note: Visit the Chroma Animation Guide to find the latest supported plugin for Chroma RGB.
-
Note: This is the current Chroma SDK supported plugin for UE5.
-
Note: This version includes Unicode support for paths with special characters.
- See Also
- Quick Start
- Overview
- Tutorials
- Supported versions
- Chroma Editor Library
- Windows PC
- Windows Cloud
- Dependencies
- Plugin Structure
- Samples
- API
Docs:
- Chroma Animation Guide - Visual examples of the Chroma Animation API methods
Plugins:
-
CChromaEditor - C++ native MFC library for playing and editing Chroma animations
-
UE5_XDK_SampleApp - UE5 Chroma samples and runtime module with Blueprint library for the ChromaSDK
-
Install Synapse
-
Make sure the Chroma Connect module is installed.
- If you don't have Chroma hardware, you can see Chroma effects with the Chroma Emulator
UE4ChromaSDKRT
provides a runtime module for using the ChromaSDK
. The runtime module provides a blueprint library and C++ methods for playing Chroma animations. See the Chroma Guide for details on how to make visually interesting Chroma animations using the plugin API.
Chroma Design Guide
UE4ChromaSDKRT Plugin Setup for your specific version of UE4.
UE4ChromaSDKRT Overview
Simplify UI Blueprints
This project is checked in under UE 4.21
. To use a later version of Unreal, open the UE4ChromaSDKRT/UE4ChromaSDKRT.uproject project file in a text editor and change the EngineAssociation
to the target version.
"EngineAssociation": "4.21",
To update the plugin version, open UE4ChromaSDKRT/Plugins/ChromaSDKPlugin/ChromaSDKPlugin.uplugin in a text editor and set the target version.
"EngineVersion": "4.21.0",
The Chroma Editor Library is a helper library for Chroma animation playback and realtime manipulation of Chroma animations.
In the UE4 Editor, Chroma animations files are placed within the project content folder. Animation paths used in the Chroma API are relative to the content folder.
UE4ChromaSDKRT\Content
In a standalone PC or Cloud build, Chroma animation files may need to be copied to within the build content folder.
WindowsNoEditor\UE4ChromaSDKRT\Content
The latest versions of the Chroma Editor Library
can be found in Releases for Windows-PC
and Windows-Cloud
.
The plugin build file UE4ChromaSDKRT\Plugins\ChromaSDKPlugin\Source\ChromaSDKPlugin\ChromaSDKPlugin.Build.cs has a preprocessor definition to check the signature of the Chroma Editor Library
. This a security feature and Chroma libraries won't be loaded that fail to pass the signature validation when this flag is enabled.
Definitions.Add("CHECK_CHROMA_LIBRARY_SIGNATURE=1");
Video: UE4 Chroma Animation Sample App - Streaming on Windows PC and Cloud
For Windows PC
builds the RzChromaSDK.dll
and RzChromaStreamPlugin.dll
are not packaged with the build. These libraries are automatically updated and managed by Synapse and the Chroma Connect module. Avoid including these files in your build folder for Windows PC
builds.
Within the Unreal Editor
the Chroma Editor Library
files are placed in Win32
and Win64
folders on Windows.
32-bit libraries
Project Folder\Binaries\Win32\CChromaEditorLibrary.dll
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win32\CChromaEditorLibrary.dll
64-bit libraries
Project Folder\Binaries\Win64\CChromaEditorLibrary64.dll
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win64\CChromaEditorLibrary64.dll
Windows Cloud
builds run on cloud platforms using Windows
such as Amazon Luna
, Microsoft Game Pass
, and NVidia GeForce Now
. Game instances run in the cloud without direct access to Chroma hardware. By running the Windows Cloud
version of the library Chroma
effects can reach your local machine and connected hardware. Cloud instances won't have Synapse installed which requires special cloud versions of the libraries. The Chroma Editor Library
uses the core RzChromaSDK
low-level library to send Chroma effects to the cloud with the RzChromaStreamPlugin
streaming library. Viewers can watch the cloud stream via the Razer Stream Portal.
32-bit libraries
(In Editor)
Project Folder\Binaries\Win32\CChromaEditorLibrary.dll
Project Folder\Binaries\Win32\RzChromaSDK.dll
Project Folder\Binaries\Win32\RzChromaStreamPlugin.dll
(Standalone Build)
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win32\CChromaEditorLibrary.dll
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win32\RzChromaSDK.dll
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win32\RzChromaStreamPlugin.dll
64-bit libraries
(In Editor)
Project Folder\Binaries\Win64\CChromaEditorLibrary64.dll
Project Folder\Binaries\Win64\RzChromaSDK64.dll
Project Folder\Binaries\Win64\RzChromaStreamPlugin64.dll
(Standalone Build)
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win64\CChromaEditorLibrary64.dll
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win64\RzChromaSDK64.dll
Build Folder\WindowsNoEditor\UE4ChromaSDKRT\Binaries\Win64\RzChromaStreamPlugin64.dll
Plugin Definition: Plugins/ChromaSDKPlugin/ChromaSDKPlugin.uplugin
Plugin Source: UE4ChromaSDKRT/Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/
Headers: UE4ChromaSDKRT/Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Public/
Implementation: UE4ChromaSDKRT/Plugins/ChromaSDKPlugin/Source/ChromaSDKPlugin/Private/
Event BeginPlay
invokes InitSDK
passing the AppInfo
that provides the information that displays within Synapse->Connect->Apps
. InitSDK
returns 0
upon success after a 100ms delay the Chroma API is ready to use. If InitSDK
returns nonzero, avoid further calls to the Chroma API. After success, make a call to SupportsStreaming
and save the result. If SupportsStreaming
returns true, the streaming API can be used for broadcasting Chroma.
The project has a few sample levels.
Samples share the same Stream Overlay
logic defined in the UE4ChromaSDKRT/Content/UI/StreamingWidget_BP.uasset Widget Blueprint.
Sample UI event construction checks if streaming is supported before showing the button that displays the sample stream overlay.
UE4 Chroma Sample App
The UE4ChromaSDKRT/Content/Levels/SampleApp_Level.umap level shows the sample animations from the Chroma Animation Guide. The level blueprint uses BP functions defined in the UE4ChromaSDKRT/Source/UE4ChromaSDKRT/SampleAppChromaBP.h header and implemented in the UE4ChromaSDKRT/Source/UE4ChromaSDKRT/SampleAppChromaBP.cpp source.
UE4 Game Loop Chroma Sample App
The UE4ChromaSDKRT/Content/Levels/SampleGameLoopLevel.umap level shows how to dynamically set color effects directly through the API and while also playing several animations at the same time using various blending operations. This sample shows how to do Chroma effects without using premade Chroma animations. Chroma animations can be used as source color information when doing dynamic blending. The level blueprint uses BP functions defined in the UE4ChromaSDKRT/Source/UE4ChromaSDKRT/SampleGameLoopChromaBP.h header and implemented in the UE4ChromaSDKRT/Source/UE4ChromaSDKRT/SampleGameLoopChromaBP.cpp source.
UE4 Sample Game Chroma Design
The UE4ChromaSDKRT/Content/Levels/SampleGameLevel.umap level is a template intended to work with the automated Chroma Design Converter for quickly porting sample effects from HTML5 to Unity. The level blueprint uses BP functions defined in the UE4ChromaSDKRT/Source/UE4ChromaSDKRT/SampleGameChromaBP.h header and implemented in the UE4ChromaSDKRT/Source/UE4ChromaSDKRT/SampleGameChromaBP.cpp source. Chroma Design samples are commonly created with 15 sample effects which is why the template has that many buttons to play the sample effects from the ported code. The Chroma Design Converter is not limited to just 15 sample effects and can generate more effect code from the input HTML5 script.
UE4ChromaSDKRT
is a Blueprint API library with more methods than the older UE4ChromaSDK Blueprint library with some exceptions to be compatible with earlier versions of UE4.
-
Take a look at the code from SampleAppChromaBP.cpp. These sample effects show how the blueprint library was used to create the
Chroma
effects that correspond to theGuide
. -
Enum syntax - Enums are namespaced and types use the
EChromaSDKKeyboardKey::Type
syntax to avoid collisions. -
No const enum types or passing enums by reference in function parameters - Avoid use of const enum types because that seems to crash in UE 4.5.
Add source color to target where color is not black for frame id, reference source and target by id.
void UChromaSDKPluginBPLibrary::AddNonZeroAllKeys(int32 sourceAnimationId,
int32 targetAnimationId, int32 frameId);
Add source color to target where color is not black for all frames, reference source and target by id.
void UChromaSDKPluginBPLibrary::AddNonZeroAllKeysAllFrames(int32 sourceAnimationId,
int32 targetAnimationId);
AddNonZeroAllKeysAllFramesName
Add source color to target where color is not black for all frames, reference source and target by name.
void UChromaSDKPluginBPLibrary::AddNonZeroAllKeysAllFramesName(const FString&
sourceAnimationName, const FString& targetAnimationName);
AddNonZeroAllKeysAllFramesOffset
Add source color to target where color is not black for all frames starting at offset for the length of the source, reference source and target by id.
void UChromaSDKPluginBPLibrary::AddNonZeroAllKeysAllFramesOffset(int32 sourceAnimationId,
int32 targetAnimationId, int32 offset);
AddNonZeroAllKeysAllFramesOffsetName
Add source color to target where color is not black for all frames starting at offset for the length of the source, reference source and target by name.
void UChromaSDKPluginBPLibrary::AddNonZeroAllKeysAllFramesOffsetName(const
FString& sourceAnimationName, const FString& targetAnimationName, int32
offset);
Add source color to target where color is not black for frame id, reference source and target by name.
void UChromaSDKPluginBPLibrary::AddNonZeroAllKeysName(const FString& sourceAnimationName,
const FString& targetAnimationName, int32 frameId);
AddNonZeroTargetAllKeysAllFrames
Add source color to target where the target color is not black for all frames, reference source and target by id.
void UChromaSDKPluginBPLibrary::AddNonZeroTargetAllKeysAllFrames(int32 sourceAnimationId,
int32 targetAnimationId);
AddNonZeroTargetAllKeysAllFramesName
Add source color to target where the target color is not black for all frames, reference source and target by name.
void UChromaSDKPluginBPLibrary::AddNonZeroTargetAllKeysAllFramesName(const
FString& sourceAnimationName, const FString& targetAnimationName);
AddNonZeroTargetAllKeysAllFramesOffset
Add source color to target where the target color is not black for all frames starting at offset for the length of the source, reference source and target by id.
void UChromaSDKPluginBPLibrary::AddNonZeroTargetAllKeysAllFramesOffset(int32
sourceAnimationId, int32 targetAnimationId, int32 offset);
AddNonZeroTargetAllKeysAllFramesOffsetName
Add source color to target where the target color is not black for all frames starting at offset for the length of the source, reference source and target by name.
void UChromaSDKPluginBPLibrary::AddNonZeroTargetAllKeysAllFramesOffsetName(const
FString& sourceAnimationName, const FString& targetAnimationName, int32
offset);
Append all source frames to the target animation, reference source and target by id.
void UChromaSDKPluginBPLibrary::AppendAllFrames(int32 sourceAnimationId,
int32 targetAnimationId);
Append all source frames to the target animation, reference source and target by name.
void UChromaSDKPluginBPLibrary::AppendAllFramesName(const FString& sourceAnimationName,
const FString& targetAnimationName);
PluginClearAll
will issue a CLEAR
effect for all devices.
void UChromaSDKPluginBPLibrary::ClearAll();
PluginClearAnimationType
will issue a CLEAR
effect for the given device.
void UChromaSDKPluginBPLibrary::ClearAnimationType(EChromaSDKDeviceEnum::Type
device);
PluginCloseAll
closes all open animations so they can be reloaded from
disk. The set of animations will be stopped if playing.
void UChromaSDKPluginBPLibrary::CloseAll();
Closes the Chroma
animation to free up resources referenced by id. Returns
the animation id upon success. Returns negative one upon failure. This
might be used while authoring effects if there was a change necessitating
re-opening the animation. The animation id can no longer be used once closed.
void UChromaSDKPluginBPLibrary::CloseAnimation(const int32 animationId);
Closes the Chroma
animation referenced by name so that the animation can
be reloaded from disk.
void UChromaSDKPluginBPLibrary::CloseAnimationName(const FString& animationName);
Copy source animation to target animation for the given frame. Source and target are referenced by id.
void UChromaSDKPluginBPLibrary::CopyAllKeys(int32 sourceAnimationId, int32
targetAnimationId, int32 frameId);
Copy source animation to target animation for the given frame. Source and target are referenced by id.
void UChromaSDKPluginBPLibrary::CopyAllKeysName(const FString& sourceAnimationName,
const FString& targetAnimationName, int32 frameId);
Copy animation to named target animation in memory. If target animation exists, close first. Source is referenced by id.
void UChromaSDKPluginBPLibrary::CopyAnimation(int32 sourceAnimationId, const
FString& targetAnimationName);
Copy animation to named target animation in memory. If target animation exists, close first. Source is referenced by name.
void UChromaSDKPluginBPLibrary::CopyAnimationName(const FString& sourceAnimationName,
const FString& targetAnimationName);
Copy animation key color from the source animation to the target animation for the given frame. Reference the source and target by id.
void UChromaSDKPluginBPLibrary::CopyKeyColor(int32 sourceAnimationId, int32
targetAnimationId, int32 frameIndex, EChromaSDKKeyboardKey::Type key);
Copy animation key color from the source animation to the target animation for the given frame.
void UChromaSDKPluginBPLibrary::CopyKeyColorName(const FString& sourceAnimationName,
const FString& targetAnimationName, const int32 frameIndex, EChromaSDKKeyboardKey::Type
key);
Copy animation color for a set of keys from the source animation to the target animation for the given frame. Reference the source and target by id.
void UChromaSDKPluginBPLibrary::CopyKeysColor(int32 sourceAnimationId, int32
targetAnimationId, int32 frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>&
keys);
Copy animation color for a set of keys from the source animation to the target animation for all frames. Reference the source and target by id.
void UChromaSDKPluginBPLibrary::CopyKeysColorAllFrames(int32 sourceAnimationId,
int32 targetAnimationId, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>&
keys);
Copy animation color for a set of keys from the source animation to the target animation for all frames. Reference the source and target by name.
void UChromaSDKPluginBPLibrary::CopyKeysColorAllFramesName(const FString&
sourceAnimationName, const FString& targetAnimationName, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>&
keys);
Copy animation color for a set of keys from the source animation to the target animation for the given frame. Reference the source and target by name.
void UChromaSDKPluginBPLibrary::CopyKeysColorName(const FString& sourceAnimationName,
const FString& targetAnimationName, const int32 frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>&
keys);
Copy source animation to target animation for the given frame. Source and target are referenced by id.
void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeys(int32 sourceAnimationId,
int32 targetAnimationId, int32 frameId);
Copy nonzero colors from a source animation to a target animation for all frames. Reference source and target by id.
void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysAllFrames(int32 sourceAnimationId,
int32 targetAnimationId);
CopyNonZeroAllKeysAllFramesName
Copy nonzero colors from a source animation to a target animation for all frames. Reference source and target by name.
void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysAllFramesName(const FString&
sourceAnimationName, const FString& targetAnimationName);
CopyNonZeroAllKeysAllFramesOffset
Copy nonzero colors from a source animation to a target animation for all frames starting at the offset for the length of the source animation. The source and target are referenced by id.
void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysAllFramesOffset(int32
sourceAnimationId, int32 targetAnimationId, int32 offset);
CopyNonZeroAllKeysAllFramesOffsetName
Copy nonzero colors from a source animation to a target animation for all frames starting at the offset for the length of the source animation. The source and target are referenced by name.
void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysAllFramesOffsetName(const
FString& sourceAnimationName, const FString& targetAnimationName, int32
offset);
Copy nonzero colors from source animation to target animation for the specified frame. Source and target are referenced by id.
void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysName(const FString& sourceAnimationName,
const FString& targetAnimationName, int32 frameId);
Copy nonzero colors from the source animation to the target animation from the source frame to the target offset frame. Source and target are referenced by id.
void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysOffset(int32 sourceAnimationId,
int32 targetAnimationId, int32 frameId, int32 offset);
Copy nonzero colors from the source animation to the target animation from the source frame to the target offset frame. Source and target are referenced by name.
void UChromaSDKPluginBPLibrary::CopyNonZeroAllKeysOffsetName(const FString&
sourceAnimationName, const FString& targetAnimationName, int32 frameId,
int32 offset);
Copy animation key color from the source animation to the target animation for the given frame where color is not zero.
void UChromaSDKPluginBPLibrary::CopyNonZeroKeyColor(int32 sourceAnimationId,
int32 targetAnimationId, int32 frameIndex, EChromaSDKKeyboardKey::Type
key);
Copy animation key color from the source animation to the target animation for the given frame where color is not zero.
void UChromaSDKPluginBPLibrary::CopyNonZeroKeyColorName(const FString& sourceAnimationName,
const FString& targetAnimationName, const int32 frameIndex, EChromaSDKKeyboardKey::Type
key);
Copy nonzero colors from the source animation to the target animation where the target color is nonzero for the specified frame. Source and target are referenced by id.
void UChromaSDKPluginBPLibrary::CopyNonZeroTargetAllKeys(int32 sourceAnimationId,
int32 targetAnimationId, int32 frameId);
CopyNonZeroTargetAllKeysAllFrames
Copy nonzero colors from the source animation to the target animation where the target color is nonzero for all frames. Source and target are referenced by id.
void UChromaSDKPluginBPLibrary::CopyNonZeroTargetAllKeysAllFrames(int32
sourceAnimationId, int32 targetAnimationId);
CopyNonZeroTargetAllKeysAllFramesName
Copy nonzero colors from the source animation to the target animation where the target color is nonzero for all frames. Source and target are referenced by name.
void UChromaSDKPluginBPLibrary::CopyNonZeroTargetAllKeysAllFramesName(const
FString& sourceAnimationName, const FString& targetAnimationName);
CopyNonZeroTargetAllKeysAllFramesOffset
Copy nonzero colors from the source animation to the target animation where the target color is nonzero for all frames. Source and target are referenced by name.
void UChromaSDKPluginBPLibrary::CopyNonZeroTargetAllKeysAllFramesOffset(int32
sourceAnimationId, int32 targetAnimationId, int32 offset);
CopyNonZeroTargetAllKeysAllFramesOffsetName
Copy nonzero colors from the source animation to the target animation where the target color is nonzero for all frames starting at the target offset for the length of the source animation. Source and target animations are referenced by name.
void UChromaSDKPluginBPLibrary::CopyNonZeroTargetAllKeysAllFramesOffsetName(const
FString& sourceAnimationName, const FString& targetAnimationName, int32
offset);
Copy nonzero colors from the source animation to the target animation where the target color is nonzero for the specified frame. The source and target are referenced by name.
void UChromaSDKPluginBPLibrary::CopyNonZeroTargetAllKeysName(const FString&
sourceAnimationName, const FString& targetAnimationName, int32 frameId);
CopyZeroTargetAllKeysAllFrames
Copy nonzero color from source animation to target animation where target is zero for all frames. Source and target are referenced by id.
void UChromaSDKPluginBPLibrary::CopyZeroTargetAllKeysAllFrames(int32 sourceAnimationId,
int32 targetAnimationId);
CopyZeroTargetAllKeysAllFramesName
Copy nonzero color from source animation to target animation where target is zero for all frames. Source and target are referenced by name.
void UChromaSDKPluginBPLibrary::CopyZeroTargetAllKeysAllFramesName(const
FString& sourceAnimationName, const FString& targetAnimationName);
Duplicate the first animation frame so that the animation length matches the frame count. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::DuplicateFirstFrame(int32 animationId, int32
frameCount);
Duplicate the first animation frame so that the animation length matches the frame count. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::DuplicateFirstFrameName(const FString& animationName,
int32 frameCount);
Duplicate all the frames of the animation to double the animation length. Frame 1 becomes frame 1 and 2. Frame 2 becomes frame 3 and 4. And so on. The animation is referenced by id.
void UChromaSDKPluginBPLibrary::DuplicateFrames(int32 animationId);
Duplicate all the frames of the animation to double the animation length. Frame 1 becomes frame 1 and 2. Frame 2 becomes frame 3 and 4. And so on. The animation is referenced by name.
void UChromaSDKPluginBPLibrary::DuplicateFramesName(const FString& animationName);
Duplicate all the animation frames in reverse so that the animation plays forwards and backwards. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::DuplicateMirrorFrames(int32 animationId);
Duplicate all the animation frames in reverse so that the animation plays forwards and backwards. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::DuplicateMirrorFramesName(const FString&
animationName);
Fade the animation to black starting at the fade frame index to the end of the animation. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FadeEndFrames(int32 animationId, int32 fade);
Fade the animation to black starting at the fade frame index to the end of the animation. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FadeEndFramesName(const FString& animationName,
int32 fade);
Fade the animation from black to full color starting at 0 to the fade frame index. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FadeStartFrames(int32 animationId, int32
fade);
Fade the animation from black to full color starting at 0 to the fade frame index. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FadeStartFramesName(const FString& animationName,
int32 fade);
Set the RGB value for all colors in the specified frame. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillColor(int32 animationId, int32 frameId,
const FLinearColor& colorParam);
Set the RGB value for all colors for all frames. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillColorAllFrames(int32 animationId, const
FLinearColor& colorParam);
Set the RGB value for all colors for all frames. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillColorAllFramesName(const FString& animationName,
const FLinearColor& colorParam);
Set the RGB value for all colors for all frames. Use the range of 0 to 255 for red, green, and blue parameters. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillColorAllFramesRGB(int32 animationId,
int32 red, int32 green, int32 blue);
Set the RGB value for all colors for all frames. Use the range of 0 to 255 for red, green, and blue parameters. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillColorAllFramesRGBName(const FString&
animationName, int32 red, int32 green, int32 blue);
Set the RGB value for all colors in the specified frame. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillColorName(const FString& animationName,
int32 frameId, const FLinearColor& colorParam);
Set the RGB value for all colors in the specified frame. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillColorRGB(int32 animationId, int32 frameId,
int32 red, int32 green, int32 blue);
Set the RGB value for all colors in the specified frame. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillColorRGBName(const FString& animationName,
int32 frameId, int32 red, int32 green, int32 blue);
This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors in the specified frame. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillNonZeroColor(int32 animationId, int32
frameId, const FLinearColor& colorParam);
This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors for all frames. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillNonZeroColorAllFrames(int32 animationId,
const FLinearColor& colorParam);
This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors for all frames. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillNonZeroColorAllFramesName(const FString&
animationName, const FLinearColor& colorParam);
This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors for all frames. Use the range of 0 to 255 for red, green, and blue parameters. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillNonZeroColorAllFramesRGB(int32 animationId,
int32 red, int32 green, int32 blue);
FillNonZeroColorAllFramesRGBName
This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors for all frames. Use the range of 0 to 255 for red, green, and blue parameters. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillNonZeroColorAllFramesRGBName(const FString&
animationName, int32 red, int32 green, int32 blue);
This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors in the specified frame. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillNonZeroColorName(const FString& animationName,
int32 frameId, const FLinearColor& colorParam);
This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors in the specified frame. Use the range of 0 to 255 for red, green, and blue parameters. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillNonZeroColorRGB(int32 animationId, int32
frameId, int32 red, int32 green, int32 blue);
This method will only update colors in the animation that are not already set to black. Set the RGB value for a subset of colors in the specified frame. Use the range of 0 to 255 for red, green, and blue parameters. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillNonZeroColorRGBName(const FString& animationName,
int32 frameId, int32 red, int32 green, int32 blue);
Fill the frame with random RGB values for the given frame. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillRandomColors(int32 animationId, int32
frameId);
Fill the frame with random RGB values for all frames. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillRandomColorsAllFrames(int32 animationId);
Fill the frame with random RGB values for all frames. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillRandomColorsAllFramesName(const FString&
animationName);
Fill the frame with random black and white values for the specified frame. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillRandomColorsBlackAndWhite(int32 animationId,
int32 frameId);
FillRandomColorsBlackAndWhiteAllFrames
Fill the frame with random black and white values for all frames. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillRandomColorsBlackAndWhiteAllFrames(int32
animationId);
FillRandomColorsBlackAndWhiteAllFramesName
Fill the frame with random black and white values for all frames. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillRandomColorsBlackAndWhiteAllFramesName(const
FString& animationName);
FillRandomColorsBlackAndWhiteName
Fill the frame with random black and white values for the specified frame. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillRandomColorsBlackAndWhiteName(const
FString& animationName, int32 frameId);
Fill the frame with random RGB values for the given frame. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillRandomColorsName(const FString& animationName,
int32 frameId);
Fill all frames with RGB color where the animation color is less than the RGB threshold. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillThresholdColorsAllFrames(int32 animationId,
int32 threshold, const FLinearColor& colorParam);
FillThresholdColorsAllFramesName
Fill all frames with RGB color where the animation color is less than the RGB threshold. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillThresholdColorsAllFramesName(const FString&
animationName, int32 threshold, const FLinearColor& colorParam);
FillThresholdColorsAllFramesRGB
Fill all frames with RGB color where the animation color is less than the threshold. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillThresholdColorsAllFramesRGB(int32 animationId,
int32 threshold, int32 red, int32 green, int32 blue);
FillThresholdColorsAllFramesRGBName
Fill all frames with RGB color where the animation color is less than the threshold. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillThresholdColorsAllFramesRGBName(const
FString& animationName, int32 threshold, int32 red, int32 green, int32
blue);
FillThresholdColorsMinMaxAllFramesRGB
Fill all frames with the min RGB color where the animation color is less than the min threshold AND with the max RGB color where the animation is more than the max threshold. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillThresholdColorsMinMaxAllFramesRGB(int32
animationId, int32 minThreshold, int32 minRed, int32 minGreen, int32 minBlue,
int32 maxThreshold, int32 maxRed, int32 maxGreen, int32 maxBlue);
FillThresholdColorsMinMaxAllFramesRGBName
Fill all frames with the min RGB color where the animation color is less than the min threshold AND with the max RGB color where the animation is more than the max threshold. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillThresholdColorsMinMaxAllFramesRGBName(const
FString& animationName, int32 minThreshold, int32 minRed, int32 minGreen,
int32 minBlue, int32 maxThreshold, int32 maxRed, int32 maxGreen, int32
maxBlue);
Fill the specified frame with RGB color where the animation color is less than the RGB threshold. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillThresholdColorsRGB(int32 animationId,
int32 frameId, int32 threshold, int32 red, int32 green, int32 blue);
Fill the specified frame with RGB color where the animation color is less than the RGB threshold. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillThresholdColorsRGBName(const FString&
animationName, int32 frameId, int32 threshold, int32 red, int32 green,
int32 blue);
FillThresholdRGBColorsAllFramesRGB
Fill all frames with RGB color where the animation color is less than the RGB threshold. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillThresholdRGBColorsAllFramesRGB(int32
animationId, int32 redThreshold, int32 greenThreshold, int32 blueThreshold,
int32 red, int32 green, int32 blue);
FillThresholdRGBColorsAllFramesRGBName
Fill all frames with RGB color where the animation color is less than the RGB threshold. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillThresholdRGBColorsAllFramesRGBName(const
FString& animationName, int32 redThreshold, int32 greenThreshold, int32
blueThreshold, int32 red, int32 green, int32 blue);
Fill the specified frame with RGB color where the animation color is zero. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillZeroColor(int32 animationId, int32 frameId,
const FLinearColor& colorParam);
Fill all frames with RGB color where the animation color is zero. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillZeroColorAllFrames(int32 animationId,
const FLinearColor& colorParam);
Fill all frames with RGB color where the animation color is zero. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillZeroColorAllFramesName(const FString&
animationName, const FLinearColor& colorParam);
Fill all frames with RGB color where the animation color is zero. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillZeroColorAllFramesRGB(int32 animationId,
int32 red, int32 green, int32 blue);
Fill all frames with RGB color where the animation color is zero. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillZeroColorAllFramesRGBName(const FString&
animationName, int32 red, int32 green, int32 blue);
Fill the specified frame with RGB color where the animation color is zero. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillZeroColorName(const FString& animationName,
int32 frameId, const FLinearColor& colorParam);
Fill the specified frame with RGB color where the animation color is zero. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::FillZeroColorRGB(int32 animationId, int32
frameId, int32 red, int32 green, int32 blue);
Fill the specified frame with RGB color where the animation color is zero. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::FillZeroColorRGBName(const FString& animationName,
int32 frameId, int32 red, int32 green, int32 blue);
Get the animation id for the named animation.
int32 UChromaSDKPluginBPLibrary::GetAnimation(const FString& animationName);
PluginGetAnimationCount
will return the number of loaded animations.
int32 UChromaSDKPluginBPLibrary::GetAnimationCount();
PluginGetAnimationId
will return the animationId
given the index
of
the loaded animation. The index
is zero-based and less than the number
returned by PluginGetAnimationCount
. Use PluginGetAnimationName
to
get the name of the animation.
int32 UChromaSDKPluginBPLibrary::GetAnimationId(const FString& animationName);
PluginGetAnimationName
takes an animationId
and returns the name of
the animation of the .chroma
animation file. If a name is not available
then an empty string will be returned.
FString UChromaSDKPluginBPLibrary::GetAnimationName(const int32 animationId);
Get the current frame of the animation referenced by id.
int32 UChromaSDKPluginBPLibrary::GetCurrentFrame(int32 animationId);
Get the current frame of the animation referenced by name.
int32 UChromaSDKPluginBPLibrary::GetCurrentFrameName(const FString& animationName);
Returns the frame count of a Chroma
animation upon success. Returns negative
one upon failure.
int32 UChromaSDKPluginBPLibrary::GetFrameCount(const int32 animationId);
Returns the frame count of a Chroma
animation upon success. Returns negative
one upon failure.
int32 UChromaSDKPluginBPLibrary::GetFrameCountName(const FString& animationName);
Get the color of an animation key for the given frame referenced by id.
FLinearColor UChromaSDKPluginBPLibrary::GetKeyColor(int32 animationId, int32
frameIndex, EChromaSDKKeyboardKey::Type key);
Get the color of an animation key for the given frame referenced by name.
FLinearColor UChromaSDKPluginBPLibrary::GetKeyColorName(const FString& animationName,
const int32 frameIndex, EChromaSDKKeyboardKey::Type key);
Returns the MAX COLUMN
given the EChromaSDKDevice2DEnum
device as an
integer upon success. Returns negative one upon failure.
int32 UChromaSDKPluginBPLibrary::GetMaxColumn(EChromaSDKDevice2DEnum::Type
device);
Returns the MAX LEDS given the EChromaSDKDevice1DEnum
device as an integer
upon success. Returns negative one upon failure.
int32 UChromaSDKPluginBPLibrary::GetMaxLeds(EChromaSDKDevice1DEnum::Type
device);
Returns the MAX ROW
given the EChromaSDKDevice2DEnum
device as an integer
upon success. Returns negative one upon failure.
int32 UChromaSDKPluginBPLibrary::GetMaxRow(EChromaSDKDevice2DEnum::Type
device);
PluginGetPlayingAnimationCount
will return the number of playing animations.
int32 UChromaSDKPluginBPLibrary::GetPlayingAnimationCount();
PluginGetPlayingAnimationId
will return the animationId
given the index
of the playing animation. The index
is zero-based and less than the number
returned by PluginGetPlayingAnimationCount
. Use PluginGetAnimationName
to get the name of the animation.
int32 UChromaSDKPluginBPLibrary::GetPlayingAnimationId(int32 index);
Get the RGB color given red, green, and blue.
FLinearColor UChromaSDKPluginBPLibrary::GetRGB(int32 red, int32 green, int32
blue);
Insert an animation delay by duplicating the frame by the delay number of times. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::InsertDelay(int32 animationId, int32 frameId,
int32 delay);
Insert an animation delay by duplicating the frame by the delay number of times. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::InsertDelayName(const FString& animationName,
int32 frameId, int32 delay);
Duplicate the source frame index at the target frame index. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::InsertFrame(int32 animationId, int32 sourceFrame,
int32 targetFrame);
Duplicate the source frame index at the target frame index. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::InsertFrameName(const FString& animationName,
int32 sourceFrame, int32 targetFrame);
Invert all the colors for all frames. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::InvertColorsAllFrames(int32 animationId);
Invert all the colors for all frames. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::InvertColorsAllFramesName(const FString&
animationName);
Returns true if the plugin has been initialized. Returns false if the plugin is uninitialized.
bool UChromaSDKPluginBPLibrary::IsInitialized();
Do a lerp math operation on a float.
float UChromaSDKPluginBPLibrary::Lerp(float start, float end, float amt);
Lerp from one color to another given t in the range 0.0 to 1.0.
FLinearColor UChromaSDKPluginBPLibrary::LerpColor(FLinearColor colorParam1,
FLinearColor colorParam2, float t);
Loads Chroma
effects so that the animation can be played immediately.
Returns the animation id upon success. Returns negative one upon failure.
void UChromaSDKPluginBPLibrary::LoadAnimation(const int32 animationId);
Load the named animation.
void UChromaSDKPluginBPLibrary::LoadAnimationName(const FString& animationName);
Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color defaults to color. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::MakeBlankFrames(int32 animationId, int32
frameCount, float duration, const FLinearColor& colorParam);
Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color defaults to color. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::MakeBlankFramesName(const FString& animationName,
int32 frameCount, float duration, const FLinearColor& colorParam);
Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color is random. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::MakeBlankFramesRandom(int32 animationId,
int32 frameCount, float duration);
MakeBlankFramesRandomBlackAndWhite
Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color is random black and white. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::MakeBlankFramesRandomBlackAndWhite(int32
animationId, int32 frameCount, float duration);
MakeBlankFramesRandomBlackAndWhiteName
Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color is random black and white. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::MakeBlankFramesRandomBlackAndWhiteName(const
FString& animationName, int32 frameCount, float duration);
Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color is random. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::MakeBlankFramesRandomName(const FString&
animationName, int32 frameCount, float duration);
Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color defaults to color. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::MakeBlankFramesRGB(int32 animationId, int32
frameCount, float duration, int32 red, int32 green, int32 blue);
Make a blank animation for the length of the frame count. Frame duration defaults to the duration. The frame color defaults to color. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::MakeBlankFramesRGBName(const FString& animationName,
int32 frameCount, float duration, int32 red, int32 green, int32 blue);
Multiply the color intensity with the lerp result from color 1 to color
2 using the frame index divided by the frame count for the t
parameter.
Animation is referenced in id.
void UChromaSDKPluginBPLibrary::MultiplyColorLerpAllFrames(int32 animationId,
const FLinearColor& colorParam1, const FLinearColor& colorParam2);
MultiplyColorLerpAllFramesName
Multiply the color intensity with the lerp result from color 1 to color
2 using the frame index divided by the frame count for the t
parameter.
Animation is referenced in name.
void UChromaSDKPluginBPLibrary::MultiplyColorLerpAllFramesName(const FString&
animationName, const FLinearColor& colorParam1, const FLinearColor& colorParam2);
Multiply all the colors in the frame by the intensity value. The valid the intensity range is from 0.0 to 255.0. RGB components are multiplied equally. An intensity of 0.5 would half the color value. Black colors in the frame will not be affected by this method.
void UChromaSDKPluginBPLibrary::MultiplyIntensity(int32 animationId, int32
frameId, float intensity);
Multiply all the colors for all frames by the intensity value. The valid the intensity range is from 0.0 to 255.0. RGB components are multiplied equally. An intensity of 0.5 would half the color value. Black colors in the frame will not be affected by this method.
void UChromaSDKPluginBPLibrary::MultiplyIntensityAllFrames(int32 animationId,
float intensity);
MultiplyIntensityAllFramesName
Multiply all the colors for all frames by the intensity value. The valid the intensity range is from 0.0 to 255.0. RGB components are multiplied equally. An intensity of 0.5 would half the color value. Black colors in the frame will not be affected by this method.
void UChromaSDKPluginBPLibrary::MultiplyIntensityAllFramesName(const FString&
animationName, float intensity);
Multiply all frames by the RBG color intensity. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::MultiplyIntensityAllFramesRGB(int32 animationId,
int32 red, int32 green, int32 blue);
MultiplyIntensityAllFramesRGBName
Multiply all frames by the RBG color intensity. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::MultiplyIntensityAllFramesRGBName(const
FString& animationName, int32 red, int32 green, int32 blue);
Multiply the specific frame by the RBG color intensity. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::MultiplyIntensityColor(int32 animationId,
int32 frameId, const FLinearColor& colorParam);
MultiplyIntensityColorAllFrames
Multiply all frames by the RBG color intensity. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::MultiplyIntensityColorAllFrames(int32 animationId,
const FLinearColor& colorParam);
MultiplyIntensityColorAllFramesName
Multiply all frames by the RBG color intensity. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::MultiplyIntensityColorAllFramesName(const
FString& animationName, const FLinearColor& colorParam);
Multiply the specific frame by the RBG color intensity. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::MultiplyIntensityColorName(const FString&
animationName, int32 frameId, const FLinearColor& colorParam);
Multiply all the colors in the frame by the intensity value. The valid the intensity range is from 0.0 to 255.0. RGB components are multiplied equally. An intensity of 0.5 would half the color value. Black colors in the frame will not be affected by this method.
void UChromaSDKPluginBPLibrary::MultiplyIntensityName(const FString& animationName,
int32 frameId, float intensity);
Multiply the specific frame by the RBG color intensity. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::MultiplyIntensityRGB(int32 animationId,
int32 frameId, int32 red, int32 green, int32 blue);
Multiply the specific frame by the RBG color intensity. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::MultiplyIntensityRGBName(const FString&
animationName, int32 frameId, int32 red, int32 green, int32 blue);
MultiplyNonZeroTargetColorLerpAllFrames
Multiply all frames by the color lerp result between color 1 and 2 using
the frame color value as the t
value. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::MultiplyNonZeroTargetColorLerpAllFrames(int32
animationId, const FLinearColor& colorParam1, const FLinearColor& colorParam2);
MultiplyNonZeroTargetColorLerpAllFramesName
Multiply all frames by the color lerp result between color 1 and 2 using
the frame color value as the t
value. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::MultiplyNonZeroTargetColorLerpAllFramesName(const
FString& animationName, const FLinearColor& colorParam1, const FLinearColor&
colorParam2);
MultiplyTargetColorLerpAllFrames
Multiply all frames by the color lerp result between color 1 and 2 using
the frame color value as the t
value. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::MultiplyTargetColorLerpAllFrames(int32 animationId,
const FLinearColor& colorParam1, const FLinearColor& colorParam2);
MultiplyTargetColorLerpAllFramesName
Multiply all frames by the color lerp result between color 1 and 2 using
the frame color value as the t
value. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::MultiplyTargetColorLerpAllFramesName(const
FString& animationName, const FLinearColor& colorParam1, const FLinearColor&
colorParam2);
Offset all colors in the frame using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.
void UChromaSDKPluginBPLibrary::OffsetColors(int32 animationId, int32 frameId,
int32 red, int32 green, int32 blue);
Offset all colors for all frames using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.
void UChromaSDKPluginBPLibrary::OffsetColorsAllFrames(int32 animationId,
int32 red, int32 green, int32 blue);
Offset all colors for all frames using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.
void UChromaSDKPluginBPLibrary::OffsetColorsAllFramesName(const FString&
animationName, int32 red, int32 green, int32 blue);
Offset all colors in the frame using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.
void UChromaSDKPluginBPLibrary::OffsetColorsName(const FString& animationName,
int32 frameId, int32 red, int32 green, int32 blue);
This method will only update colors in the animation that are not already set to black. Offset a subset of colors in the frame using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.
void UChromaSDKPluginBPLibrary::OffsetNonZeroColors(int32 animationId, int32
frameId, int32 red, int32 green, int32 blue);
This method will only update colors in the animation that are not already set to black. Offset a subset of colors for all frames using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.
void UChromaSDKPluginBPLibrary::OffsetNonZeroColorsAllFrames(int32 animationId,
int32 red, int32 green, int32 blue);
OffsetNonZeroColorsAllFramesName
This method will only update colors in the animation that are not already set to black. Offset a subset of colors for all frames using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.
void UChromaSDKPluginBPLibrary::OffsetNonZeroColorsAllFramesName(const FString&
animationName, int32 red, int32 green, int32 blue);
This method will only update colors in the animation that are not already set to black. Offset a subset of colors in the frame using the RGB offset. Use the range of -255 to 255 for red, green, and blue parameters. Negative values remove color. Positive values add color.
void UChromaSDKPluginBPLibrary::OffsetNonZeroColorsName(const FString& animationName,
int32 frameId, int32 red, int32 green, int32 blue);
Opens a Chroma
animation data from memory so that it can be played. Data
is a pointer to BYTE array of the loaded animation in memory. Name
will
be assigned to the animation when loaded. Returns an animation id >= 0
upon success. Returns negative one if there was a failure. The animation
id is used in most of the API methods.
void UChromaSDKPluginBPLibrary::OpenAnimationFromMemory(const TArray<uint8>&
data, const FString& animationName);
Override the duration of all frames with the duration
value. Animation
is referenced by name.
void UChromaSDKPluginBPLibrary::OverrideFrameDurationName(const FString&
animationName, float duration);
Plays the Chroma
animation. This will load the animation, if not loaded
previously. Returns the animation id upon success. Returns negative one
upon failure.
void UChromaSDKPluginBPLibrary::PlayAnimation(const FString& animationName,
bool loop);
PluginPlayAnimationName
automatically handles initializing the ChromaSDK
.
The named .chroma
animation file will be automatically opened. The animation
will play with looping on
or off
.
void UChromaSDKPluginBPLibrary::PlayAnimationName(const FString& animationName,
bool loop);
Displays the Chroma
animation frame on Chroma
hardware given the frameIndex
.
Returns the animation id upon success. Returns negative one upon failure.
int32 UChromaSDKPluginBPLibrary::PreviewFrame(int32 animationId, int32 frameId);
Displays the Chroma
animation frame on Chroma
hardware given the frameIndex
.
Animaton is referenced by name.
void UChromaSDKPluginBPLibrary::PreviewFrameName(const FString& animationName,
int32 frameId);
Reduce the frames of the animation by removing every nth element. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::ReduceFrames(int32 animationId, int32 n);
Reduce the frames of the animation by removing every nth element. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::ReduceFramesName(const FString& animationName,
int32 n);
Reverse the animation frame order of the Chroma
animation. Animation is
referenced by id.
void UChromaSDKPluginBPLibrary::ReverseAllFrames(int32 animationId);
Reverse the animation frame order of the Chroma
animation. Animation is
referenced by name.
void UChromaSDKPluginBPLibrary::ReverseAllFramesName(const FString& animationName);
SetChromaCustomColorAllFramesName
When custom color is set, the custom key mode will be used. The animation is referenced by name.
void UChromaSDKPluginBPLibrary::SetChromaCustomColorAllFramesName(const
FString& animationName);
Set the Chroma custom key color flag on all frames. True
changes the layout
from grid to key. True
changes the layout from key to grid. Animation
is referenced by name.
void UChromaSDKPluginBPLibrary::SetChromaCustomFlagName(const FString& animationName,
bool flag);
Set the current frame of the animation referenced by id.
void UChromaSDKPluginBPLibrary::SetCurrentFrame(int32 animationId, int32
frameId);
Set the current frame of the animation referenced by name.
void UChromaSDKPluginBPLibrary::SetCurrentFrameName(const FString& animationName,
int32 frameId);
When the idle animation is used, the named animation will play when no other animations are playing. Reference the animation by name.
void UChromaSDKPluginBPLibrary::SetIdleAnimationName(const FString& animationName);
Set animation key to a static color for the given frame.
void UChromaSDKPluginBPLibrary::SetKeyColor(int32 animationId, int32 frameIndex,
EChromaSDKKeyboardKey::Type key, const FLinearColor& colorParam);
Set the key to the specified key color for all frames. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::SetKeyColorAllFrames(int32 animationId,
EChromaSDKKeyboardKey::Type key, const FLinearColor& colorParam);
Set the key to the specified key color for all frames. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::SetKeyColorAllFramesName(const FString&
animationName, EChromaSDKKeyboardKey::Type key, const FLinearColor& colorParam);
Set animation key to a static color for the given frame.
void UChromaSDKPluginBPLibrary::SetKeyColorName(const FString& animationName,
const int32 frameIndex, EChromaSDKKeyboardKey::Type key, const FLinearColor&
colorParam);
Set animation key to a static color for the given frame if the existing color is not already black.
void UChromaSDKPluginBPLibrary::SetKeyNonZeroColor(int32 animationId, int32
frameIndex, EChromaSDKKeyboardKey::Type key, const FLinearColor& colorParam);
Set animation key to a static color for the given frame if the existing color is not already black.
void UChromaSDKPluginBPLibrary::SetKeyNonZeroColorName(const FString& animationName,
const int32 frameIndex, EChromaSDKKeyboardKey::Type key, const FLinearColor&
colorParam);
Set animation key by row and column to a static color for the given frame.
void UChromaSDKPluginBPLibrary::SetKeyRowColumnColorName(const FString&
animationName, const int32 frameIndex, const int32 row, const int32 column,
const FLinearColor& colorParam);
Set an array of animation keys to a static color for the given frame. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::SetKeysColor(int32 animationId, int32 frameIndex,
const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys, const FLinearColor&
colorParam);
Set an array of animation keys to a static color for all frames. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::SetKeysColorAllFrames(int32 animationId,
const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys, const FLinearColor&
colorParam);
Set an array of animation keys to a static color for all frames. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::SetKeysColorAllFramesName(const FString&
animationName, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>&
keys, const FLinearColor& colorParam);
Set an array of animation keys to a static color for all frames. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::SetKeysColorAllFramesRGB(int32 animationId,
const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys, int32 red,
int32 green, int32 blue);
Set an array of animation keys to a static color for all frames. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::SetKeysColorAllFramesRGBName(const FString&
animationName, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>&
keys, int32 red, int32 green, int32 blue);
Set an array of animation keys to a static color for the given frame.
void UChromaSDKPluginBPLibrary::SetKeysColorName(const FString& animationName,
const int32 frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>&
keys, const FLinearColor& colorParam);
Set an array of animation keys to a static color for the given frame. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::SetKeysColorRGB(int32 animationId, int32
frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys,
int32 red, int32 green, int32 blue);
Set an array of animation keys to a static color for the given frame. Animation is referenced by name.
void UChromaSDKPluginBPLibrary::SetKeysColorRGBName(const FString& animationName,
const int32 frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>&
keys, int32 red, int32 green, int32 blue);
Set an array of animation keys to a static color for the given frame if the existing color is not already black.
void UChromaSDKPluginBPLibrary::SetKeysNonZeroColor(int32 animationId, int32
frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys,
const FLinearColor& colorParam);
Set an array of animation keys to a static color for the given frame where the color is not black. Animation is referenced by id.
void UChromaSDKPluginBPLibrary::SetKeysNonZeroColorAllFrames(int32 animationId,
const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>& keys, const FLinearColor&
colorParam);
SetKeysNonZeroColorAllFramesName
Set an array of animation keys to a static color for all frames if the existing color is not already black. Reference animation by name.
void UChromaSDKPluginBPLibrary::SetKeysNonZeroColorAllFramesName(const FString&
animationName, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>&
keys, const FLinearColor& colorParam);
Set an array of animation keys to a static color for the given frame if the existing color is not already black. Reference animation by name.
void UChromaSDKPluginBPLibrary::SetKeysNonZeroColorName(const FString& animationName,
const int32 frameIndex, const TArray<TEnumAsByte<EChromaSDKKeyboardKey::Type>>&
keys, const FLinearColor& colorParam);
Sets the target device to the static color.
void UChromaSDKPluginBPLibrary::SetStaticColor(EChromaSDKDeviceEnum::Type
device, const FLinearColor& color);
Sets all devices to the static color.
void UChromaSDKPluginBPLibrary::SetStaticColorAll(const FLinearColor& color);
PluginStopAll
will automatically stop all animations that are playing.
void UChromaSDKPluginBPLibrary::StopAll();
Stops animation playback if in progress. Returns the animation id upon success. Returns negative one upon failure.
void UChromaSDKPluginBPLibrary::StopAnimation(const FString& animationName);
PluginStopAnimationType
automatically handles initializing the ChromaSDK
.
If any animation is playing for the deviceType
and device
combination,
it will be stopped.
void UChromaSDKPluginBPLibrary::StopAnimationType(EChromaSDKDeviceEnum::Type
device);
Begin broadcasting Chroma RGB data using the stored stream key as the endpoint. Intended for Cloud Gaming Platforms, restore the streaming key when the game instance is launched to continue streaming. streamId is a null terminated string streamKey is a null terminated string StreamGetStatus() should return the READY status to use this method.
void UChromaSDKPluginBPLibrary::StreamBroadcast(const FString& streamId,
const FString& streamKey);
End broadcasting Chroma RGB data. StreamGetStatus() should return the BROADCASTING status to use this method.
void UChromaSDKPluginBPLibrary::StreamBroadcastEnd();
shortcode: Pass the address of a preallocated character buffer to get the streaming auth code. The buffer should have a minimum length of 6. length: Length will return as zero if the streaming auth code could not be obtained. If length is greater than zero, it will be the length of the returned streaming auth code. Once you have the shortcode, it should be shown to the user so they can associate the stream with their Razer ID StreamGetStatus() should return the READY status before invoking this method. platform: is the null terminated string that identifies the source of the stream: { GEFORCE_NOW, LUNA, STADIA, GAME_PASS } title: is the null terminated string that identifies the application or game.
FString UChromaSDKPluginBPLibrary::StreamGetAuthShortcode(const FString&
platform, const FString& title);
focus: Pass the address of a preallocated character buffer to get the stream focus. The buffer should have a length of 48 length: Length will return as zero if the stream focus could not be obtained. If length is greater than zero, it will be the length of the returned stream focus.
FString UChromaSDKPluginBPLibrary::StreamGetFocus();
Intended for Cloud Gaming Platforms, store the stream id to persist in user preferences to continue streaming if the game is suspended or closed. shortcode: The shortcode is a null terminated string. Use the shortcode that authorized the stream to obtain the stream id. streamId should be a preallocated buffer to get the stream key. The buffer should have a length of 48. length: Length will return zero if the key could not be obtained. If the length is greater than zero, it will be the length of the returned streaming id. Retrieve the stream id after authorizing the shortcode. The authorization window will expire in 5 minutes. Be sure to save the stream key before the window expires. StreamGetStatus() should return the READY status to use this method.
FString UChromaSDKPluginBPLibrary::StreamGetId(const FString& shortcode);
Intended for Cloud Gaming Platforms, store the streaming key to persist in user preferences to continue streaming if the game is suspended or closed. shortcode: The shortcode is a null terminated string. Use the shortcode that authorized the stream to obtain the stream key. If the status is in the BROADCASTING or WATCHING state, passing a NULL shortcode will return the active streamId. streamKey should be a preallocated buffer to get the stream key. The buffer should have a length of 48. length: Length will return zero if the key could not be obtained. If the length is greater than zero, it will be the length of the returned streaming key. Retrieve the stream key after authorizing the shortcode. The authorization window will expire in 5 minutes. Be sure to save the stream key before the window expires. StreamGetStatus() should return the READY status to use this method.
FString UChromaSDKPluginBPLibrary::StreamGetKey(const FString& shortcode);
Convert StreamStatusType to a printable string
FString UChromaSDKPluginBPLibrary::StreamGetStatusString(const EChromaSDKStreamStatusEnum::Type
status);
This prevents the stream id and stream key from being obtained through the shortcode. This closes the auth window. shortcode is a null terminated string. StreamGetStatus() should return the READY status to use this method. returns success when shortcode has been released
bool UChromaSDKPluginBPLibrary::StreamReleaseShortcode(const FString& shortcode);
The focus is a null terminated string. Set the focus identifer for the application designated to automatically change the streaming state. Returns true on success.
bool UChromaSDKPluginBPLibrary::StreamSetFocus(const FString& streamFocus);
Begin watching the Chroma RGB data using streamID parameter. streamId is a null terminated string. StreamGetStatus() should return the READY status to use this method.
void UChromaSDKPluginBPLibrary::StreamWatch(const FString& streamId, int32
timestamp);
End watching Chroma RGB data stream. StreamGetStatus() should return the WATCHING status to use this method.
void UChromaSDKPluginBPLibrary::StreamWatchEnd();
Subtract the source color from the target color for the frame where the target color is not black. Source and target are referenced by id.
void UChromaSDKPluginBPLibrary::SubtractNonZeroAllKeys(int32 sourceAnimationId,
int32 targetAnimationId, int32 frameId);
SubtractNonZeroAllKeysAllFrames
Subtract the source color from the target color for all frames where the target color is not black. Source and target are referenced by id.
void UChromaSDKPluginBPLibrary::SubtractNonZeroAllKeysAllFrames(int32 sourceAnimationId,
int32 targetAnimationId);
SubtractNonZeroAllKeysAllFramesName
Subtract the source color from the target color for all frames where the target color is not black. Source and target are referenced by name.
void UChromaSDKPluginBPLibrary::SubtractNonZeroAllKeysAllFramesName(const
FString& sourceAnimationName, const FString& targetAnimationName);
SubtractNonZeroAllKeysAllFramesOffset
Subtract the source color from the target color for all frames where the target color is not black starting at offset for the length of the source. Source and target are referenced by id.
void UChromaSDKPluginBPLibrary::SubtractNonZeroAllKeysAllFramesOffset(int32
sourceAnimationId, int32 targetAnimationId, int32 offset);
SubtractNonZeroAllKeysAllFramesOffsetName
Subtract the source color from the target color for all frames where the target color is not black starting at offset for the length of the source. Source and target are referenced by name.
void UChromaSDKPluginBPLibrary::SubtractNonZeroAllKeysAllFramesOffsetName(const
FString& sourceAnimationName, const FString& targetAnimationName, int32
offset);
Subtract the source color from the target color for the frame where the target color is not black. Source and target are referenced by name.
void UChromaSDKPluginBPLibrary::SubtractNonZeroAllKeysName(const FString&
sourceAnimationName, const FString& targetAnimationName, int32 frameId);
SubtractNonZeroTargetAllKeysAllFrames
Subtract the source color from the target color where the target color is not black for all frames. Reference source and target by id.
void UChromaSDKPluginBPLibrary::SubtractNonZeroTargetAllKeysAllFrames(int32
sourceAnimationId, int32 targetAnimationId);
SubtractNonZeroTargetAllKeysAllFramesName
Subtract the source color from the target color where the target color is not black for all frames. Reference source and target by name.
void UChromaSDKPluginBPLibrary::SubtractNonZeroTargetAllKeysAllFramesName(const
FString& sourceAnimationName, const FString& targetAnimationName);
SubtractNonZeroTargetAllKeysAllFramesOffset
Subtract the source color from the target color where the target color is not black for all frames starting at the target offset for the length of the source. Reference source and target by id.
void UChromaSDKPluginBPLibrary::SubtractNonZeroTargetAllKeysAllFramesOffset(int32
sourceAnimationId, int32 targetAnimationId, int32 offset);
SubtractNonZeroTargetAllKeysAllFramesOffsetName
Subtract the source color from the target color where the target color is not black for all frames starting at the target offset for the length of the source. Reference source and target by name.
void UChromaSDKPluginBPLibrary::SubtractNonZeroTargetAllKeysAllFramesOffsetName(const
FString& sourceAnimationName, const FString& targetAnimationName, int32
offset);
Trim the end of the animation. The length of the animation will be the lastFrameId plus one. Reference the animation by id.
void UChromaSDKPluginBPLibrary::TrimEndFrames(int32 animationId, int32 lastFrameId);
Trim the end of the animation. The length of the animation will be the lastFrameId plus one. Reference the animation by name.
void UChromaSDKPluginBPLibrary::TrimEndFramesName(const FString& animationName,
int32 lastFrameId);
Remove the frame from the animation. Reference animation by id.
void UChromaSDKPluginBPLibrary::TrimFrame(int32 animationId, int32 frameId);
Remove the frame from the animation. Reference animation by name.
void UChromaSDKPluginBPLibrary::TrimFrameName(const FString& animationName,
int32 frameId);
Trim the start of the animation starting at frame 0 for the number of frames. Reference the animation by id.
void UChromaSDKPluginBPLibrary::TrimStartFrames(int32 animationId, int32
numberOfFrames);
Trim the start of the animation starting at frame 0 for the number of frames. Reference the animation by name.
void UChromaSDKPluginBPLibrary::TrimStartFramesName(const FString& animationName,
int32 numberOfFrames);
Unloads Chroma
effects to free up resources. Returns the animation id
upon success. Returns negative one upon failure. Reference the animation
by id.
void UChromaSDKPluginBPLibrary::UnloadAnimation(const int32 animationId);
Unload the animation effects. Reference the animation by name.
void UChromaSDKPluginBPLibrary::UnloadAnimationName(const FString& animationName);
When the idle animation flag is true, when no other animations are playing,
the idle animation will be used. The idle animation will not be affected
by the API calls to PluginIsPlaying, PluginStopAnimationType, PluginGetPlayingAnimationId,
and PluginGetPlayingAnimationCount. Then the idle animation flag is false,
the idle animation is disabled. Device
uses EChromaSDKDeviceEnum
enums.
void UChromaSDKPluginBPLibrary::UseIdleAnimation(EChromaSDKDeviceEnum::Type
device, bool flag);
Set idle animation flag for all devices.
void UChromaSDKPluginBPLibrary::UseIdleAnimations(bool flag);
Set preloading animation flag, which is set to true by default. Reference animation by id.
void UChromaSDKPluginBPLibrary::UsePreloading(int32 animationId, bool flag);
Set preloading animation flag, which is set to true by default. Reference animation by name.
void UChromaSDKPluginBPLibrary::UsePreloadingName(const FString& animationName,
bool flag);