We already posted the source code of this great demomaker tool on AfterMath wich can be found in our C++ area
But we are very proud to also deliver you now the working exe of this demotool
Moppi Demopaja is a demo authoring tool. It has a interface similar to the popular 2D animation tools such as Macromedia Flash and Adobe After Effects. Many of the user interface functionality is imitated from After Effects.
The demo consists of effects and importers which are loaded from plugins. The demo is built on layers, which are groups of effects. A layer doesn't have any other tweakable parameters than visiblity. Effects on the other hand have multiple parameters which can be animated using keyframe animation. Multiple parameters are grouped into gizmos.
The user interface is divided into three parts. In the left is the file inspector. The user can import files to the inspector and drag them to the layer list shown left in the timeline window. In the middle is the main view where the actual rendering is shown.
Animating in Demopaja is done using keyframing. If a parameter supports animation (not all parameters do) there's a wave button on its left. By pressing the button you can enable the animation of a parameter. By pressing it again you disable the animation and all the keyframes are cleared.
If a parameter is animated, you can see the curve of the parameter by expanding the parameter from the arrow left to the parameter. You can also edit the value of a keyframe by dragging the keyframe values. Adjusting a keyframe's position in time is done by dragging the keyframe.
There are currently three ways a keyframe can be interpolated: linear, smooth, and hold. Values between two linearly interpolated keyframes are are interpolated linearly. Smooth interpolation is done using TCB-splines. Anyone familiar with 3D Studio MAX knows this interpolation. A keyframe with hold interpolation doesn't get interpolated at all. The value of the keyframe is used until the next keyframe is found in the timeline.
Visibility of layers and effects is controlled via time segments. A Time segment can contain multiple keyframes which determine when an effect (blue) or a layer (red) is visible. If a layer isn't visible all the effects inside the layer aren't visible either.
Anyone with C++ skills and a compiler (currently only MSVC is supported, in the future maybe others too) can code plugins for demopaja. The API is designed to be simple and extendendable. The effects rendering API supports multiple device interfaces. Currently there's only the OpenGL interface. I have plans to support at least a software rendering interface and an interface which can access the music system in Demopaja. See the SDK for more information.
How to use : Online Demopaja Manual