Skip to content

stubs

Classes:

PropEnumT module-attribute

PropEnumT = TypeVar('PropEnumT', bound=PropEnum)

PropEnum

Bases: CustomIntEnum

Methods:

  • apply

    Applies the property to the VideoNode.

  • ensure_presence

    Ensure the presence of the property in the VideoNode.

  • ensure_presences

    Ensure the presence of multiple PropEnums at once.

  • from_param

    Get the enum member from its int representation.

  • from_param_or_video

    Get the enum member from a value that can be casted to this prop value

  • from_res

    Get an enum member from the video resolution with heuristics.

  • from_video

    Get an enum member from the frame properties or optionally fall back to resolution when strict=False.

  • is_unknown

    Whether the value represents an unknown value.

  • is_valid

    Check if the given value is a valid int value of this enum.

  • prop_key

    The key used in props to store the enum.

Attributes:

  • pretty_string (str) –

    Get a pretty, displayable string of the enum member.

  • string (str) –

    Get the string representation used in resize plugin/encoders.

pretty_string property

pretty_string: str

Get a pretty, displayable string of the enum member.

string property

string: str

Get the string representation used in resize plugin/encoders.

apply

apply(clip: VideoNodeT) -> VideoNodeT

Applies the property to the VideoNode.

Source code
127
128
129
130
def apply(self, clip: VideoNodeT) -> VideoNodeT:
    """Applies the property to the VideoNode."""

    return vs.core.std.SetFrameProp(clip, self.prop_key, self.value)

ensure_presence classmethod

ensure_presence(
    clip: VideoNodeT, value: int | Self | None, func: FuncExceptT | None = None
) -> VideoNodeT

Ensure the presence of the property in the VideoNode.

Source code
117
118
119
120
121
122
123
124
125
@classmethod
def ensure_presence(
    cls, clip: VideoNodeT, value: int | Self | None, func: FuncExceptT | None = None
) -> VideoNodeT:
    """Ensure the presence of the property in the VideoNode."""

    enum_value = cls.from_param_or_video(value, clip, True, func)

    return vs.core.std.SetFrameProp(clip, enum_value.prop_key, enum_value.value)

ensure_presences staticmethod

ensure_presences(
    clip: VideoNodeT,
    prop_enums: Iterable[type[PropEnumT] | PropEnumT],
    func: FuncExceptT | None = None,
) -> VideoNodeT

Ensure the presence of multiple PropEnums at once.

Source code
132
133
134
135
136
137
138
139
140
141
142
143
144
@staticmethod
def ensure_presences(
    clip: VideoNodeT, prop_enums: Iterable[type[PropEnumT] | PropEnumT], func: FuncExceptT | None = None
) -> VideoNodeT:
    """Ensure the presence of multiple PropEnums at once."""

    return vs.core.std.SetFrameProps(clip, **{
        value.prop_key: value.value
        for value in [
            cls if isinstance(cls, PropEnum) else cls.from_video(clip, True, func)
            for cls in prop_enums
        ]
    })

from_param classmethod

from_param(value: None, func_except: FuncExceptT | None = None) -> None
from_param(value: int | Self, func_except: FuncExceptT | None = None) -> Self
from_param(
    value: int | Self | None, func_except: FuncExceptT | None = None
) -> Self | None
from_param(value: Any, func_except: Any = None) -> Self | None

Get the enum member from its int representation.

Source code
68
69
70
@classmethod
def from_param(cls, value: Any, func_except: Any = None) -> Self | None:
    """Get the enum member from its int representation."""

from_param_or_video classmethod

from_param_or_video(
    value: Any,
    src: VideoNode | VideoFrame | FrameProps,
    strict: bool = False,
    func_except: FuncExceptT | None = None,
) -> Self

Get the enum member from a value that can be casted to this prop value or grab it from frame properties.

If strict=False, gather the heuristics using the clip's size or format.

Parameters:

  • value

    (Any) –

    Value to cast.

  • src

    (VideoNode | VideoFrame | FrameProps) –

    Clip to get prop from.

  • strict

    (bool, default: False ) –

    Be strict about the frame properties. Default: False.

  • func_except

    (FuncExceptT | None, default: None ) –

    Function returned for custom error handling.

Source code
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
@classmethod
def from_param_or_video(
    cls, value: Any,
    src: vs.VideoNode | vs.VideoFrame | vs.FrameProps,
    strict: bool = False, func_except: FuncExceptT | None = None
) -> Self:
    """
    Get the enum member from a value that can be casted to this prop value
    or grab it from frame properties.

    If `strict=False`, gather the heuristics using the clip's size or format.

    :param value:           Value to cast.
    :param src:             Clip to get prop from.
    :param strict:          Be strict about the frame properties. Default: False.
    :param func_except:     Function returned for custom error handling.
    """
    value = cls.from_param(value, func_except)

    if value is not None:
        return value

    return cls.from_video(src, strict, func_except)

from_res classmethod

from_res(frame: VideoNode | VideoFrame) -> Self

Get an enum member from the video resolution with heuristics.

Source code
78
79
80
81
82
@classmethod
def from_res(cls, frame: vs.VideoNode | vs.VideoFrame) -> Self:
    """Get an enum member from the video resolution with heuristics."""

    raise NotImplementedError

from_video classmethod

from_video(
    src: VideoNode | VideoFrame | FrameProps,
    strict: bool = False,
    func: FuncExceptT | None = None,
) -> Self

Get an enum member from the frame properties or optionally fall back to resolution when strict=False.

Source code
84
85
86
87
88
89
90
91
@classmethod
def from_video(
    cls, src: vs.VideoNode | vs.VideoFrame | vs.FrameProps, strict: bool = False,
    func: FuncExceptT | None = None
) -> Self:
    """Get an enum member from the frame properties or optionally fall back to resolution when strict=False."""

    raise NotImplementedError

is_unknown classmethod

is_unknown(value: int | Self) -> bool

Whether the value represents an unknown value.

Source code
29
30
31
32
33
@classmethod
def is_unknown(cls, value: int | Self) -> bool:
    """Whether the value represents an unknown value."""

    return False

is_valid classmethod

is_valid(value: int) -> bool

Check if the given value is a valid int value of this enum.

Source code
160
161
162
163
@classmethod
def is_valid(cls, value: int) -> bool:
    """Check if the given value is a valid int value of this enum."""
    return int(value) in map(int, cls.__members__.values())

prop_key

prop_key() -> str

The key used in props to store the enum.

Source code
35
36
37
38
39
@classproperty
def prop_key(cls) -> str:
    """The key used in props to store the enum."""

    return f'_{cls.__name__}'