Skip to content

Releases: peaceheis/synthesium

v0.2.0: The Spice of Life Update

03 Feb 16:38
Compare
Choose a tag to compare

It's been awhile! Since July, a lot has changed in the inner workings of Synthesium, so let's get right into it:

The breaking changes:

  • Scene has been renamed to Canvas
  • Mations (class and file) has been renamed to Mation
  • Matables (class and file) has been renamed to Matable
  • ConcurrentMation has been renamed to MationGroup
  • Instead of defining the start_minute, end_minute, start_second, end_second, etc for Mation, a new TimeStamp class has been created, and upon Mation creation, two TimeStamps, must be provided. Making a TimeStamp looks like this: TimeStamp(min,sec,frame)
  • Matables no longer have to override a draw method, but rather simply must be one of the new Primitives, Line, Arc, and (Bezier) Curve
  • Matables are defined by Points upon initialization. Points look like this: Point(x, y)
  • Colors now function as RGBA instead of BGRA (this was a bit harder to fix than you'd expect XD)
  • A whole bunch of methods also got shuffled around, far too many to enumerate. Take a look at the code, if you want to get a better look (there's plenty of comments around!)

The internal changes:

  • Essentially every file has been rewritten - Canvas (formerly Scene) uses a pipe for rendering instead of individual PNGs, and is now in charge of rendering, breaking every Matable down into one of the aforementioned Primitives and drawing them, instead of a draw() method (this is probably going to be tweaked again), Matables are now more focused on geometry instead of drawing, and Mations are more of a change layer than they were before.
  • Mations can schedule a pre_tick, if it relies on knowing an updated state for its target (often used with attribute like colors)

The nice changes:

  • Lots of new Mations - here's the full list:
    • ChangeOpacity
    • ChangeOpacityFill
    • ChangeRed
    • ChangeRedFill
    • ChangeGreen
    • ChangeGreenFill
    • ChangeBlue
    • ChangeBlueFill
    • Rotate
    • MovePoint
    • Transform
  • That last one, Transform, is powerful - any numeric value for a Matable can be directly modified, like this: Transform(circle, "radius", 0, TimeStamp(0,0,0), TimeStamp(0,2,0). More generally, they take the form Transform(target [Matable], attribute [string], end_attribute [int or float, used for what the value should be at end], start [TimeStamp], end [TimeStamp]

That will wrap it up for this one! There's probably going to be a lot of changes anyway, but this release is much closer to the original vision I've had for Synthesium - rewrites will likely be corresponding to the end-user experience, not how things work internally.
If anyone is reading this, I appreciate you using Synthesium, and feel free to start a discussion or file an issue if you want to make a change!

Thanks,
peaceheis.

Hello World, minor update 1: viability

18 Jul 00:18
Compare
Choose a tag to compare

This is a minor update that provides usability for Synthesium, as temporary directories, as well as output directories, are now specifiable.

The Hello World Update

08 Jul 03:49
74d6f4e
Compare
Choose a tag to compare

Synthesium v0.1: The Hello World Update

Synthesium has a long way to go, but the first working version of Synthesium is here!

What's new:

  • Everything! Mations, Matables, Scenes, they're all here.

Now, I must say: to use Synthesium, you must add the path to your temp images directory to the first two lines with '/path/to/folder', the first part of the third, and then the place you want the final video in the second part of the third line where there should be a path. Don't worry, that won't stay for long.

Also, the only implemented Matable is Circle, and the only implemented Mation is Move(). Also coming soon, bring me to....

What's ahead:

  • More Matables and Mations
  • A better internal system (trust me, the current one is ugly.
  • And much, much more! Stay tuned.
  • I'm quite excited for what's to come, but a lot has been done so the next steps will be easier on me and users. Look out for more!
    -peaceheis.