Stingray exposes a simple plugin ABI(?). It allows external plugins to set a playback speed. ABI is currently UNSTABLE and is meant to change even on minor releases.
Interface
Methods
getAxis
int getAxis();
get called each frame. return a value between -127 & 127
getQuit
int getQuit();
get called each frame. 1 if the input requests the program to exit 0 otherwise
update
void update();
get called before getAxis() and getQuit(). Allow the module to update itself synchronized with the display.
Sample Code
Create a base class EventListener :
Derive it to create your own controller :
The chunk of code at the end allow to export your class in a binary-compatible way.
Then code your methods accordingly :
and you’re done. Compile it as a mymodule.so file and put it in Stingray’s modules directory.
Internals
Works with ltdl. Useful resources are hard to find :