170 lines
7.0 KiB
Markdown
170 lines
7.0 KiB
Markdown
# 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.
|
||
- 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
|
||
- 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.
|
||
|
||
## [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.
|