Remove ocont from with block. This obscures actual causes
Errors from pyav_transcode get propogated up to await.
Ideal case is that connection errors get caught and swallowed, while any
others are passed. Care is required as invalid state can cause PyAV to
segfault, killing the entire ComfyUI instance
Instantiate libvpx-vp9 decoder as required, Since the decoder has
history, this ensures there's no interference across or between requests
Some testing has been done at using BufferedWriter to limit overhead of
synchronization logic, but buffering over write size causes breakage
with PyAV calls. Might investigate time based batching in the future.
Prior ffmpeg implementation provided insufficient precision for frame
estimation and was heavier than desired. Regexes are no longer used
Round frame_rate annotation to at most 2 digits
The VHSINT and VHSFLOAT widget constructors failed to multiply the step
by 10. Since this step value is internal to VHS, this is instead fixed
by removing the x10 multiplier entirely from the logic
Integer seconds between 0 and 9 are now correctly padded in timestamps
Some nodes "hash" (actually just mtime) input files to determine if
re-execution is needed. A check has been added to not attempt this
hashing if no file exists.
Fix an incorrect bounds check in the newer frontend widget code.
Previously, detailed response codes were used to indicate what went
wrong on a failed server request. However, this produces un catchable
error messages which are undesirable. Instead, these responses now use
204 to indicate that the request was successfully processed, but returned
no content.
Previously displaying values was a mix of naive guesswork and giving up.
This display process has been rewritten to produce output that is much
more likely to be usable even under tight width restraints.
As part of this, the ordering in which different widget components are
drawn has been reworked.
The buttons added to reset to either reset to default value, reset to a
disabled value, or indicate that one of these is currently selected,
displaying poorly depending on availability of system fonts. This is
resolved by stroking the shapes manually.
Functionality already exists in Upload variant and backing util
function, so the change is negligible.
Also commit to minor version bump. Other concommitant changes also break
forwards compatibility, so it's a chance to roll multiple together even
if this bump doesn't accompany anything big or flashy.
Co-authored-by: Kaur Kuut <strom@nevermore.ee>
A single item list is now mapped as a template string later flattened to a
variable number of arguments. This handles the case of both no and
multiple arguments
Apply required ProRes fixes from xStrom. While the delays were
unfortunate, these changes should handle any future edge cases and
retains support for older workflows using the numbered ProRes profiles
Closes#451
Introduces two new dynamic arguments which do not generate new widgets
- ["string"]: string is evaluated as template string with kwargs for
values. This allows an argument to reference multiple widgets and
allows multiple arguments to reference a widget
- ["kwarg_key", {}]: This allows for verbose translating of a limited
set of values.
- Multiple dicts can be nested and reference different kwargs
Adds an extra_widgets field to video_formats for widgets do nothing
unless referenced by one of the two new argument types.
Pass has_alpha as a kwarg for reference with the new argument types
Older ffmpeg versions don't include the full option for color_range.
Documentation indicates that pc resolves to the same value and has been
swapped to.
Resolves#445
The format fix for gifski was improperly applied to all outputs. It has
now been properly restricted.
When preview data is sent to the fronted, a format field is sent back
to determine how it is displayed. Gifski and ffmpeg-gif formats use
video for the first term since they use the video_formats subsystem, but
this currently results in them being displayed in a <video> tag on the
frontend.
For now, any format using the gifski route has it's format hard coded to
be corrected to gif, but I'm considering a more thorough update in the
future which will use the video_formats subsystem for images as well and
provides a means for formats to them self specify output type.