Inverted Classic Visualizer and Quiet FFmpeg
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:

* Visualizer with purple, inverted:
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)