Files
effector/CHANGELOG.md
T
simonandClaude Opus 5.5 ef8f728126 Show Tile swap's Swap rate as a slider, and let it go slower
A new ParamSpec::slider() marks an Int or Double param to be shown in
the interface as a Gtk::Scale with its minimum and maximum marked under
the ends, rather than a spin button; the command line and the project
file are unchanged. Swap rate uses it, and now runs from 0 to 5 in
steps of 0.01 (was 0 to 30 in steps of 0.1): with every tile swapping
on its own, even 0.1 swapped the canvas many times a second.

Version 0.8.2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 23:44:27 +02:00

10 KiB
Raw Blame History

Changelog

Every release of Effector, newest first. The version lives in one place, the project() line of CMakeLists.txt, and each release is a vX.Y.Z tag on the commit that made it. The interface shows this file under Changelog in its menu.

[0.8.2] - 2026-09-30

Changed

  • The Swap rate of Tile swap is a slider marked with its range, and goes down in steps of 0.01 rather than 0.1, so a clip can swap its tiles much more slowly. Its top end is now 5 swaps a second (it was 30).

[0.8.1] - 2026-09-26

Added

  • The Font of a text stage (and of a text style) is picked from the fonts installed on this machine with a font chooser, rather than typed by name. The command line still takes any family, as --font-family "DejaVu Serif".
  • Undo and redo: Ctrl+Z steps back through the edits to the project (the chain, params, styles, canvas, video settings, seed and images), and Ctrl+Y or Ctrl+Shift+Z steps forward again; both are in the menu as well. A burst of edits, like a spin held down or a word typed, is one step.

[0.8.0] - 2026-09-26

Added

  • Tile swap, a video effect: tiles cut from the photographs are laid over the canvas as Tiles lays them, and each one is swapped for another cut at a moment of its own, so the mosaic keeps changing piece by piece. On the command line it is -e tileswap with --tileswap-rate, --tileswap-layout and the rest.
  • Echo tunnel, a video effect: the picture nested inside itself as Feedback nests it, flying into the echoes (or backing out of them) without end, a new echo fading in at the far end as the nearest melts into the picture. On the command line it is -e tunnel with --tunnel-speed, --tunnel-scale, --tunnel-direction and the rest.
  • Warp flow, a video effect: the picture pushed or swirled through a field of noise as Warp does, with the field drifting so the picture ripples like heat haze or water. On the command line it is -e flow with --flow-strength, --flow-travel, --flow-speed and the rest.
  • Sort sweep, a video effect: runs of pixels sorted as Pixel sort sorts them, only within a window of brightness that sweeps from dark to bright and back, so the streaks spread over one part of the picture after another. On the command line it is -e sweep with --sweep-from, --sweep-to, --sweep-width, --sweep-speed and the rest.
  • Film gate, a video effect: film running through a projector, with grain drawn anew on every frame as Film grain draws it, the picture swaying in the gate, flicker, dust and scratches. On the command line it is -e filmgate with --gate-grain, --gate-weave, --gate-flicker, --gate-dust and --gate-scratches.
  • Datamosh, a video effect: blocks of the picture break as Corrupt breaks them, each for a stretch of the clip before it heals, and a displaced block's picture smears along while it shows. On the command line it is -e datamosh with --mosh-rate, --mosh-hold, --mosh-drift, --mosh-speed and the rest.
  • Strip roll, a video effect: the canvas cut into strips of the photographs as Scanlines cuts it, and the picture in every strip rolling up or down through its image, or sliding sideways, while the strips stay put. On the command line it is -e striproll with --roll-speed, --roll-axis, --roll-direction and the rest.
  • Focus pull, a video effect: a lens being focused, either the whole picture blurring as Blur blurs it and coming back sharp, or a band of sharpness moving down the picture and back up. On the command line it is -e focuspull with --focus-mode, --focus-radius, --focus-band and --focus-speed.
  • A Quality choice under Video on Setup: Small file, Standard or High, for how the saved video is encoded. It is kept in the project, and on the command line it is --video-quality small|standard|high. Standard writes videos exactly as before.

Changed

  • Loading images shows its first pass too: the progress window counts the files as their sizes are checked ("Checking sizes: 3 of 40") before it counts the decodes, the headers are read in parallel, and Cancel works during that pass as well. The command line shows a sizing line likewise.
  • The video preview plays sooner: it renders every third frame first and plays that draft, each frame held for three, then fills in the frames between while it plays. The finished preview and the saved video are unchanged.
  • Save opens in the project's folder, and after the first save it offers the last saved file's name with a number counted on (city.png, then city-1.png, city-2.png), skipping names already taken.
  • The Add effect menu gives the video effects more room before their list scrolls, now that there are more of them.

[0.7.0] - 2026-09-26

Added

  • Effects are image effects or video effects. The Add effect menu lists them in two sections, each under its own heading, and offers video effects only in a video project. In the chain a video stage has a film icon, and in a still it is dimmed and skipped, like a stage that is switched off.
  • VHS tracking, the first video effect: the colour planes sway and shake, and a tracking bar rolls down the picture. On the command line it is -e tracking with --tracking-wobble, --tracking-jitter, --tracking-bar and the rest.
  • --help lists the video effects under a heading of their own, and --list-effects marks them. A video effect given for a still is skipped with a warning.

Changed

  • Channel split is an image effect again. Its motion (Wobble, Jitter, Tracking bar) has moved to VHS tracking, so a 0.6 video project that moved its channel split needs a VHS tracking stage after it. Stills are unchanged.

[0.6.1] - 2026-09-26

Fixed

  • Opening a project whose images would not fit in memory no longer gets Effector killed by the system. The images are measured before any is read, and a batch that would not fit is refused with a message saying how much it needs; the images stay in the project, so saving it keeps them.
  • A canvas too large to render in the free memory is refused the same way, in the interface and on the command line, instead of taking the machine's memory down with it.

[0.6.0] - 2026-09-26

Added

  • Video projects: switch Video on under Setup and give the clip a length and a frame rate, or pick a preset that sets the canvas too: Instagram story, Instagram reel, Instagram feed video, TikTok / YouTube Short, Square loop and Full HD clip. The preview renders the clip and loops it, with play/pause and a scale to look at any one frame.
  • Save As… writes a video project as .mp4, .mov, .mkv, .webm or .gif through ffmpeg, with a progress window that can cancel it.
  • Channel split moves in a video: its channels sway, shake from frame to frame and a tracking bar rolls down the picture, like an old tape on a tube. The new Wobble, Jitter and Tracking bar settings show only in a video, and a still renders exactly as before.
  • --duration, --fps and --video-preset render a video from the command line.
  • A Vertical Full HD canvas format, 1080 × 1920.

[0.5.3] - 2026-09-26

Added

  • Effector has its own icon, an E split into its colour channels, in the app menu, the dock and About Effector; a one-colour version goes with it for panels.

[0.5.2] - 2026-09-26

Changed

  • Effector is free software under the GNU General Public License, version 3 or later; the LICENSE file holds the text, and About Effector says so.

[0.5.1] - 2026-09-26

Added

  • An Arch Linux PKGBUILD in packaging/arch: makepkg -si there builds and installs the tagged release with pacman.
  • A desktop entry, so an installed Effector shows up in the app menu.

[0.5.0] - 2026-09-26

Added

  • A version number: effector --version prints it, and About Effector in the menu shows it.
  • This changelog, readable from the interface under Changelog in the menu.
  • Open Recent in the project menu, listing the projects opened or saved here.
  • An optional shadow or glow under the image overlay, with an offset, size, spread, colour and opacity.
  • Reordering the chain by dragging a row.

Fixed

  • The params' scrollbar no longer covers the spin buttons.

[0.4.0] - 2026-09-23

Added

  • Eight chaotic effects: slit shift, channel split, pixel sort, corruption, shatter, warp, bit crush and feedback. None needs sources, so any of them can lead a chain.
  • The sidebar split into Chain and Setup tabs.
  • A rotation for the text effect's placement.
  • Text stages labelled in the chain list with their words.

Changed

  • The preview stays centred however long the status line gets.
  • The status line stays short, with the full chain and setup in its tooltip.
  • The chain/params split fits the chain's rows until it is dragged; a double-click on the handle fits it again.
  • The mouse wheel scrolls past spin buttons that do not have the focus.

[0.3.0] - 2026-09-19

Added

  • Named styles: several text stages can share one font and colour, and editing the style moves every stage that follows it.
  • Switching a chain stage off without taking it apart, in the interface and with --disable NAME on the command line.

Changed

  • The interface opens on an empty chain, and shows the sources only when the chain uses them.

[0.2.0] - 2026-09-18

Added

  • Effect chains: stages cascade, each handed the previous one's output, built in the sidebar or with repeated -e.
  • Blur, film grain, black and white, image overlay, text and tiles effects.
  • Projects saved and opened as plain JSON.
  • Standard web and print canvas formats (--format, --dpi).
  • Effects declare whether they need source images, so a chain led by blur renders with none loaded.

Changed

  • The chain comes first in the sidebar.

Fixed

  • The canvas size is checked before it is narrowed to an int.
  • Projects are written and read in the C locale, and keep the seed whole.

[0.1.0] - 2026-09-18

Added

  • The C++20 port of the Python prototype: a GTK 4 interface and a headless command line over pluggable effects, starting with scanlines.
  • Source images load in the background, with a progress window and Cancel.