Replies: 2 comments
-
These pair nicely with the new transparent paste! Screen.Recording.2025-03-19.at.8.08.14.PM.movScreen.Recording.2025-03-19.at.8.56.03.PM.movAnd stacked! Screen.Recording.2025-03-19.at.9.05.12.PM.mov |
Beta Was this translation helpful? Give feedback.
0 replies
-
Plasma overlay effect combined with sine effect Screen.Recording.2025-03-19.at.11.57.41.PM.movScreen.Recording.2025-03-19.at.10.13.14.PM.mov |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
An exciting feature coming in Durdraw 0.30 is user-created plugins!
They are currently in an early state. I am still working out the details of the plugin API, but here is how they work so far:
0: Make sure you are using the latest Dev branch.
1: Create a plugin as a Python script (Lua coming later). There are some examples in example_plugins/.
2: Drop the .py file into
~/.durdraw/plugins
and restart Durdraw.3: Animation plugins (plugins that implement transform_movie()) will show up in the
Animation -> Plugins
menu.Here are some examples you can try right now:
Plasma:
Screen.Recording.2025-03-19.at.1.39.37.PM.mov
Sine effect:
Screen.Recording.2025-03-19.at.11.37.27.AM.mov
Color randomizer:
Screen.Recording.2025-03-19.at.1.01.48.AM.mov
Screen.Recording.2025-03-19.at.1.11.40.AM.mov
The script contains some metadata to register itself, including a "provides" field, describing which methods they provide. This tells Durdraw what "type" of plugin it is:
Then implement the functions you are registering.
Transform_movie() takes a Movie class, manipulates it, returns a modified Movie.. Some important variables here are Movie.frames, which contains a list of frames, and Movies.sizeX (columns), Movies.sizeY (lines).
Transform_frame() takes a Frame class, and similarly, returns a new Frame. Frame contains Frame.content (a list of lines, each line a string, containing the Utf-8/ascii characters without colors) and Frame.newColorMap, whch contains a list of color pairs. Each color pair is a list. eg: [[1,0], [3, 1], ...]
You can also look at the Durdraw file format spec to get a better idea of how Durdraw's internal structures work together.
Here is the random character example:
I hope this makes sense. Please feel free to leave any feedback or suggestions.
Beta Was this translation helpful? Give feedback.
All reactions