Files
effector/CHANGELOG.md
T
SiandClaude Opus 5.5 8acf85ddb8 Show progress while loading reads the image sizes
Before decoding, loadImages reads every header to size the batch against
the free memory. That pass was serial, silent and could not be cancelled,
so the loading window sat at "0 of N". LoadProgress gains onSized, the
headers are read in parallel on the same cursor-driven workers as the
decodes, and a cancel stops the pass. The window's bar runs twice,
"Checking sizes" then "Decoding", and the CLI prints a sizing line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 22:42:30 +02:00

205 lines
9.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.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.