Skip to content

v2.2.4 - Quiet FFmpeg; add "invert" option to Classic Vis; fix CLI parsing for Image component#96

Merged
tassaron merged 26 commits intomasterfrom
dev-2.2.4
Feb 12, 2026
Merged

v2.2.4 - Quiet FFmpeg; add "invert" option to Classic Vis; fix CLI parsing for Image component#96
tassaron merged 26 commits intomasterfrom
dev-2.2.4

Conversation

@tassaron
Copy link
Collaborator

@tassaron tassaron commented Feb 8, 2026

New features

  • FFmpeg output no longer prints to stdout unless avp is in --verbose/-v mode
  • Added new "invert" option to Classic Visualizer: this makes the bars transparent, using user-selected color as background instead
    • Visualizer with purple color, not inverted:
Screenshot_20260208_130713 * Visualizer with purple, inverted: Screenshot_20260208_130631

Fixed bugs

  • Image component now parses path=myfile.jpg args without raising an exception (regression due to stretch checkbox being replaced with a combobox in a prior version)
  • Tests now store config in /tmp if using pytest-xdist to run multiple tests in parallel (note: the single-process behaviour has not changed)
  • Added a tooltip to the second color selection in the Color component, explaining that gradient must be selected to enable the option
  • Non-existent components are properly ignored if opening a "corrupt" (likely newer version) project file
  • Alternative names for components now actually do something
  • Exceptions raised by components during rendering now show tracebacks similar to other errors (as "details" the user can expand) as well as printing them to stdout
  • Image component now applies file-extension allowlist to CLI arguments for consistency with the GUI. These extensions are stored on Core and were never intended to be more lenient in CLI mode, but the CLI parsing within components is very basic at the moment.

Technical changes

  • original.py, original.ui, and test_comp_original.py were all renamed, changing original to classic
  • component.py moved into libcomponent subpackage, moving all classes within that file into separate Python files
  • The Component class inherited by all components is now named BaseComponent
  • Numerous instances of core.Core were changed to just Core
  • Removed unused imports from various components
  • Fixed asymmetrical ascii art in comments (this one is super important)

ffmpeg no longer prints everything into the terminal unless we're in `--verbose` mode. percentage progress text stays on one line while not in verbose mode. Also added hint to run `avp --verbose` if `avp --log` is run with no avp_debug.log file present
avp core stores its config (location of `settings.ini`) in temp directories if using multiple workers to run tests, so they don't interfere with each other. when using a single worker, the tests/data/config directory is still used
if a component returns "composite" then it will receive a frame to draw on during calls to previewRender and frameRender
this ensures that these log messages will show up or not show up as appropriate for the arguments provided to avp, instead of happening too early
I did think FFmpeg version was the more logical reason for this bug, but I somehow tricked myself into thinking the previous change made sense :)
@tassaron tassaron merged commit f03a3a6 into master Feb 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant