A test on making my own change parser
(Doesn't actually work).
|5 months ago|
|LICENSE||1 year ago|
|README.md||7 months ago|
|actor-tests.lisp||5 months ago|
|actor.lisp||5 months ago|
|actor_.lisp||1 year ago|
|behaviour.lisp||10 months ago|
|colours.lisp||1 year ago|
|coordinates.lisp||1 year ago|
|expected-usage-pattern.lisp||7 months ago|
|export.lisp||10 months ago|
|mkvid.asd||10 months ago|
|mkvid.lisp||1 year ago|
|package.lisp||1 year ago|
|patch.lisp||1 year ago|
|test.lisp||1 year ago|
|window.lisp||10 months ago|
|window_.lisp||1 year ago|
This is a project to allow one to create videos with moving text, images and geometrical figures. It is essentially a bit of a manim clone, but more inspired by “PowerPoint animations” à la Vhèkkyo Boy.
Unlike other projects such as
this is not a scripting language, but an actual library
that’s meant to integrate with the rest of Common Lisp.
A video contains a number of scenes, with a number of actors
that can move around, grow, shrink or otherwise transform.
It is heavily built around
flare, a particle animation library,
and much of its features is built around it.
The first step you need to do is to invent some actors. These are simply classes that have one of the following as a superclass:
Some common types of actors are included, such as rectangles, text and an image-based sprite.
Then you need to define a
paint method on it.
This would automatically call
flare:paint in such a way
that you can assume the object is drawn with its location at (0, 0).
Keep in mind that this
paint uses the
progn method combination,
so all methods that are defined on the object’s superclass will be run.
Also keep in mind that you would be drawing on a
which means you would need to use
qtools or similar to do the drawing.
Once that’s done you can create the scene.
This scene is a
presentation and the syntax goes like this:
(define-presentation name (width height) ...progression-definitions...)
progression-definitions is exactly as in flare’s
After that, you can preview the animation by running
presentation-name is the name of your presentation.
This would pull up a GUI.
The GUI will show your presentation at 30 frames per second.
However, you do not decide on a frame rate at all
while composing the presentation;
anything can happen wherever a double floating point number exists.
You only decide on the frame rate when it is time to export the video.
incfor similar. Also, in other times one might find some times to be easier stated at a definition at the top, and then pop them out later via