<feed xmlns='http://www.w3.org/2005/Atom'>
<title>audio-visualizer-python/src/avp/command.py, branch master</title>
<subtitle>(forked from djfun) a little GUI tool to render visualization videos of audio files
</subtitle>
<id>https://git.aedrielkylejavier.me/audio-visualizer-python/atom?h=master</id>
<link rel='self' href='https://git.aedrielkylejavier.me/audio-visualizer-python/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.aedrielkylejavier.me/audio-visualizer-python/'/>
<updated>2026-02-12T20:38:54+00:00</updated>
<entry>
<title>v2.2.4 - Quiet FFmpeg; add "invert" option to Classic Vis; fix CLI parsing for Image component (#96)</title>
<updated>2026-02-12T20:38:54+00:00</updated>
<author>
<name>Brianna Rainey</name>
</author>
<published>2026-02-12T20:38:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.aedrielkylejavier.me/audio-visualizer-python/commit/?id=f03a3a686c7304588dd434322c73506531e53595'/>
<id>urn:sha1:f03a3a686c7304588dd434322c73506531e53595</id>
<content type='text'>
* 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</content>
</entry>
<entry>
<title>v2.2.2 - fix flaky tests, fix UnboundLocalError in MainWindow.createNewProject (#94)</title>
<updated>2026-01-29T19:50:29+00:00</updated>
<author>
<name>Brianna Rainey</name>
</author>
<published>2026-01-29T19:50:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.aedrielkylejavier.me/audio-visualizer-python/commit/?id=71a22c6a121d1294a05ef35020c525fa70cae2fd'/>
<id>urn:sha1:71a22c6a121d1294a05ef35020c525fa70cae2fd</id>
<content type='text'>
* 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</content>
</entry>
<entry>
<title>rename 'test report' to 'log file' in comments/errors</title>
<updated>2026-01-15T15:36:53+00:00</updated>
<author>
<name>tassaron</name>
</author>
<published>2026-01-15T15:36:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.aedrielkylejavier.me/audio-visualizer-python/commit/?id=e51cbd2fa134d7156e81a99598595fbfc6c839c3'/>
<id>urn:sha1:e51cbd2fa134d7156e81a99598595fbfc6c839c3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix file logging for main program log</title>
<updated>2026-01-15T02:56:50+00:00</updated>
<author>
<name>tassaron</name>
</author>
<published>2026-01-15T02:56:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.aedrielkylejavier.me/audio-visualizer-python/commit/?id=a2c11b6ca727ece4f2f0bd09c6cdaf8705bde9cd'/>
<id>urn:sha1:a2c11b6ca727ece4f2f0bd09c6cdaf8705bde9cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rename `--test` and `--debug` args &amp;&amp; add `--version` arg</title>
<updated>2026-01-14T18:59:33+00:00</updated>
<author>
<name>tassaron</name>
</author>
<published>2026-01-14T18:59:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.aedrielkylejavier.me/audio-visualizer-python/commit/?id=025db7a468f14405fb8d7ea6ab38f73b54a54feb'/>
<id>urn:sha1:025db7a468f14405fb8d7ea6ab38f73b54a54feb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use pyproject.toml + uv_build</title>
<updated>2026-01-13T07:22:25+00:00</updated>
<author>
<name>Aeliton G. Silva</name>
</author>
<published>2026-01-13T01:39:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.aedrielkylejavier.me/audio-visualizer-python/commit/?id=f975144f25d34f97329b2d4e52891061573cea08'/>
<id>urn:sha1:f975144f25d34f97329b2d4e52891061573cea08</id>
<content type='text'>
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/* -&gt; src/avp/
- src/tests -&gt; ../tests
</content>
</entry>
</feed>
