aboutsummaryrefslogtreecommitdiff
path: root/src/avp/components/image.py
diff options
context:
space:
mode:
authorBrianna Rainey2026-02-12 15:38:54 -0500
committerGitHub2026-02-12 15:38:54 -0500
commitf03a3a686c7304588dd434322c73506531e53595 (patch)
treeee41d920873e9a77c41f4a65857af019e71a4754 /src/avp/components/image.py
parent48a9105eab94e64101470402427564203e1d8970 (diff)
v2.2.4 - Quiet FFmpeg; add "invert" option to Classic Vis; fix CLI parsing 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
Diffstat (limited to 'src/avp/components/image.py')
-rw-r--r--src/avp/components/image.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/avp/components/image.py b/src/avp/components/image.py
index e012cec..a082092 100644
--- a/src/avp/components/image.py
+++ b/src/avp/components/image.py
@@ -1,14 +1,13 @@
from PIL import Image, ImageOps, ImageEnhance
from PyQt6 import QtWidgets
import os
-from copy import copy
-from ..component import Component
+from ..libcomponent import BaseComponent
from ..toolkit.frame import BlankFrame, addShadow
from ..toolkit.visualizer import createSpectrumArray
-class Component(Component):
+class Component(BaseComponent):
name = "Image"
version = "2.1.0"
@@ -177,17 +176,22 @@ class Component(Component):
self.mergeUndo = True
def command(self, arg):
+ def fail():
+ print("Not a supported image format")
+ quit(1)
+
if "=" in arg:
key, arg = arg.split("=", 1)
if key == "path" and os.path.exists(arg):
+ if f"*{os.path.splitext(arg)[1]}" not in self.core.imageFormats:
+ fail()
try:
Image.open(arg)
self.page.lineEdit_image.setText(arg)
- self.page.checkBox_stretch.setChecked(True)
+ self.page.comboBox_resizeMode.setCurrentIndex(2)
return
except OSError as e:
- print("Not a supported image format")
- quit(1)
+ fail()
super().command(arg)
def commandHelp(self):