summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-03-06Explicit license-files (#99)HEADmasterAeliton G. Silva
This entry indicates which files need to distributed with the package. Closes #98.
2026-02-12v2.2.4 - Quiet FFmpeg; add "invert" option to Classic Vis; fix CLI parsing ↵Brianna Rainey
for Image component (#96) * change noisiness of terminal output 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. * Added hint to run `avp --verbose` if `avp --log` is run with no avp_debug.log file present * Classic Visualizer: add invert option * Image component: fix path commandline option * Image component: restrict file formats in CLI to match GUI * Color component: add tooltip to color2 picker (second color of gradients) * change tests to work with pytest-xdist 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 * check alt comp names when parsing cmdline * rename `original.py` to `classic.py` * move `component.py` into subpackage * rename comp_original to comp_classic * show traceback if renderFrame() raises exception * do not try to insert non-existent components from project files * add "composite" property for components if a component returns "composite" then it will receive a frame to draw on during calls to previewRender and frameRender * more tests of projects, actions, waveform, spectrum, image, color, classic * do not change presetDir to "projects" within PresetManager
2026-02-08docs: add macOS installation instructions (#95)Ingenium23
2026-01-29fix `settings.ini` not located in correct pathBrianna Rainey
2026-01-29v2.2.2 - fix flaky tests, fix UnboundLocalError in ↵Brianna Rainey
MainWindow.createNewProject (#94) * search more than one filename for compName * remove extra QVBoxLayout * insert default components using name instead of index * bump version 2.2.1 to 2.2.2 * tests do not use `.config` for settings Core.storeSettings() is no longer called as a side effect any time avp.core is imported. Thus the tests use a new `initCore` method and the normal user path now relies on entering via `cli.py`. This means certain toolkit functions (e.g., ones using `FFMPEG_BIN`) no longer work if imported from a different python script, unless they call Core.storeSettings() themselves to initialize the settings.ini file * fix UnboundLocalError in createNewProject
2026-01-28v2.2.1 - fix #74, fix #92, add optional 64th bar to Classic Visualizer, ↵Brianna Rainey
improve Conway default (#93) * update gitignore ignore profiling and coverage data * F1 opens help window, create appName variable, move undostack class * fix kaleidoscope effect, increase default Y values by +4 the increased y values allow the cells to continue animating for more than 60 minutes instead of 30 (at default 60f/t) * update version number * add minimumWidth to undo history window * Classic Visualizer: option to include 64th bar * Waveform component: fix #74 - new animation speed option * move shared visualizer code into toolkit * Waveform component: compress audio by default * Waveform component: fix 100% animation speed * new components receive random color * update to Qt 6 * fix pushbutton stylesheet * fix #92: replace ok/cancel with save/discard/cancel * remove obsolete PaintColor subclass * mv common shadow code into addShadow func * add 3rd option of ok/cancel back to showMessage the 3 options are: - ok - ok/cancel - save/discard/cancel * Image component: add shadow option * small test of rgbFromString * fix color tuple string * test another way to get comp names from CLI * rename component tests, add some more * Image component: scale shadow based on resolution * catch AttributeError if previewRender returns None * Text component: fix blur radius only able to increase the relativeWidgets system causes QDoubleSpinbox to only allow increases, because it really only works with integeres, so I changed the blur radius into a normal QSpinBox. I noted where the problem exists within component.py for future reference. This commit also removes an unneeded VerticalLayout from the ui file * remove unnecessary QVBoxLayout * paste shadow at x,y instead of using offset method * fix tests due to shadow change * don't print warning in connectWidget due to QFontComboBox
2026-01-22add GitHub Action to run testsBrianna Rainey
2026-01-22bump version for PyPI releaseBrianna Rainey
2026-01-22make Life component respond to audioBrianna Rainey
also adds a dissolve effect between frames and a kaleidoscope effect the fancier shape types ignore audio for now. Fixes #91
2026-01-22fix #89 with Image component v2.0 + 23 tests (#90)Brianna Rainey
* qtbot is needed in any test that uses a QObject previously these tests would fail if they ran before qtbot was initialized by another test. I'm now running tests in a random order * add tests for drawBars, readAudioFile, BlankFrame * replace numpy.seterr with numpy.errstate * fix incorrect comment * add MockVideoWorker and imageDataSum * test further into visualization (less likely to be a false positive) * test FloodFrame function * add failing test for Image component one step towards fixing #89 * test component name CLI parsing * prevent log warning when 1 setting changed * correct tests to use widgets when needed * test undo and blockSignals * remove stretch_scale (use scale only) * image ignores scale if stretch checkbox checked fixes #89 * test Title Text component, ffmpeg command * Image v2: replace stretched setting with resizeMode 3 resize modes are scale, cover, and stretch. Scale only applies when resizeMode is set to scale. Cover uses ImageOps.fit() to stretch while maintaining aspect ratio. Also, spinBox_scale was moved to be underneath comboBox_resizeMode. * change transformData into staticmethod the purpose is to allow easier reuse in other components * add respondToAudio option to Image component this causes the image to scale up and down slightly based on the input audio file * cache static portion of image when animating increases rendering speed of a 1-minute video by 12 seconds (based on two manual tests anyway)
2026-01-15rename variables for claritytassaron
2026-01-15update .gitignoretassaron
2026-01-15explain pipx install, explain PATH variabletassaron
2026-01-15rename 'test report' to 'log file' in comments/errorstassaron
2026-01-15remove unused filestassaron
2026-01-15add email addressestassaron
2026-01-14fix file logging for main program logtassaron
2026-01-14bump version numbertassaron
2026-01-14fix CLI test (renamed `--debug` to `--verbose`)tassaron
2026-01-14change Python >=3.13 to >=3.12tassaron
2026-01-14rename `--test` and `--debug` args && add `--version` argtassaron
2026-01-14log PyQt version && update ffmpeg version checktassaron
2026-01-13crush png filesizetassaron
2026-01-13update readme: recommend pipx and uv + change headerstassaron
2026-01-13Merge pull request #85 from aeliton/add-pyprojectBrianna Rainey
Use pyproject.toml + uv_build
2026-01-13Use pyproject.toml + uv_buildAeliton G. Silva
This replaces setup.py by a modern pyproject.toml using uv_build backend. Dependencies are being also managed by uv, so to install dependencies and run the project one can execute: ``` uv sync uv run pytest # optional python -m avp ``` To build the both source and binary (wheel) distribution package run: ``` uv build ``` Uv can be installed with `pip install uv`. The directory structure has been changed to reflect best practices. - src/* -> src/avp/ - src/tests -> ../tests
2026-01-12update readme and create requirements.txt for v2.1.0tassaron
2026-01-12update for Pillow 12 and Qt 6tassaron
2026-01-11update to Qt 6 and Pillow 12tassaron
and yeah, I accidentally ran black on the codebase. I don't want to spend more free time fixing that. All of these changes are simple renames or removals, nothing too major.
2024-09-15fix #78tassaron
2024-04-10update readme for Ubuntu 24.04Brianna Rainey
also remove outdated macOS instructions, which probably don't work anymore
2024-04-10pin pillow version to one with qt5 supportBrianna Rainey
2023-02-17fix #75 by computing evolution during frameRenderBrianna Rainey
instead of pre-computing the entire evolution during preFrameRender, it creates 60 ticks' worth of grid data at a time during the rendering process, deleting old data as it goes. This works with the current render process and should still work if the render process changes, as long as render threads don't become extremely de-synchronized (which would probably be an issue anyway)
2023-02-17ignore cells that are 40+ coords out of frameBrianna Rainey
2023-02-17fix typoBrianna Rainey
2023-02-17Add comments to Life componentBrianna Rainey
added comments to preFrameRender and gridForTick methods
2022-05-10change screenshot, remove unused filetassaron
2022-05-10log name of missing/unreadable audio filetassaron
2022-05-09move variable declaration closer to usage.tassaron
2022-05-09use pytest-qt to test actual export processtassaron
2022-05-09no components on commandline adds a default visualizertassaron
2022-05-09include test data in package, pytest-qt plugin for testing Qt event loop, ↵tassaron
remove useless pytest fixtures
2022-05-09rename visualisation to visualizationtassaron
2022-05-09demote error message to debug messagetassaron
it's worth noting, but not important enough for 'error'
2022-05-08reorganize Classic Visualizer widgets to be more left-alignedtassaron
Looks less weird when window is maximized
2022-05-08Add sensitivity option to classic visualizertassaron
Allows to decide how balanced the up/down smoothing is. The default (0) is the same as before; increasing sensitivity makes the up/down values closer to each other (less smooth, more sensitive)
2022-05-07fixtassaron
2022-05-07concatenate trimmed ffmpeg logs to the test reporttassaron
2022-05-07--export-project uses -i and -o if providedtassaron
Also remove unneeded instance variables `parser` and `args`, and quit if input/output can't be determined. Also, --debug and --test are now mutually exclusive
2022-05-07Fix drawing of "peace" shape. Rename a shape to pietassaron