Skip to content

Property

Property dataclass

Property(match_name: str, name: str, enabled: bool | None = None, property_control_type: PropertyControlType = unknown, expression: list[str] | None = None, expression_enabled: bool | None = None, property_value_type: PropertyValueType = unknown, value: Any = None, last_value: Any = None, default_value: Any = None, max_value: Any = None, min_value: Any = None, nb_options: int | None = None, dimensions_separated: bool | None = None, is_spatial: bool | None = None, property_parameters: list[str] | None = None, locked_ratio: bool | None = None, keyframes: list[Keyframe] = list(), elided: bool = False, animated: bool = False, dimensions: int = 0, integer: bool = False, vector: bool = False, no_value: bool = False, color: bool = False)

Bases: PropertyBase

Property object of a layer or nested property.

Attributes:

Name Type Description
property_control_type PropertyControlType

The type of the property (scalar, color, enum).

expression list[str] | None

The expression for the named property.

expression_enabled bool | None

True if the expression is enabled.

property_value_type PropertyValueType

The type of value stored in this property.

value Any

The value of this property.

max_value Any

The maximum permitted value for this property.

min_value Any

The minimum permitted value for this property.

dimensions_separated bool | None

When true, the property's dimensions are represented as separate properties. For example, if the layer's position is represented as X Position and Y Position properties in the Timeline panel, the Position property has this attribute set to true.

is_spatial bool | None

When true, the property is a spatial property.

property_parameters list[str] | None

A list of parameters for this property.

locked_ratio bool | None

When true, the property's X/Y ratio is locked.

is_dropdown_effect property

is_dropdown_effect: bool

True if the property is the Menu property of a Dropdown Menu Control effect.

is_time_varying property

is_time_varying: bool

True if the named property has keyframes or an enabled expression.

has_max property

has_max: bool

True if there is a maximum permitted value for the named property.

has_min property

has_min: bool

True if there is a minimum permitted value for the named property.

get_separation_follower

get_separation_follower(dim: int) -> Property | None

Retrieve a specific follower property for a separated, multidimensional property.

For example, you can use this method on the Position property to access the separated X Position and Y Position properties.

Parameters:

Name Type Description Default
dim int

The dimension number (starting at 0).

required
Source code in src/aep_parser/models/properties/property.py
def get_separation_follower(self, dim: int) -> Property | None:
    """
    Retrieve a specific follower property for a separated, multidimensional property.

    For example, you can use this method on the Position property to access the
    separated X Position and Y Position properties.

    Args:
        dim: The dimension number (starting at 0).
    """
    return None  # TODO

nearest_key_index

nearest_key_index(time: float) -> int

Returns the index of the keyframe nearest to the specified time.

Parameters:

Name Type Description Default
time float

The time in seconds; a floating-point value. The beginning of the composition is 0.

required
Source code in src/aep_parser/models/properties/property.py
def nearest_key_index(self, time: float) -> int:
    """
    Returns the index of the keyframe nearest to the specified time.

    Args:
        time: The time in seconds; a floating-point value. The beginning
            of the composition is 0.
    """
    return min(
        range(len(self.keyframes)),
        key=lambda i: abs(self.keyframes[i].frame_time - time),
    )

nearest_key

nearest_key(time: float) -> Keyframe

Returns the keyframe nearest to the specified time.

Parameters:

Name Type Description Default
time float

The time in seconds; a floating-point value. The beginning of the composition is 0.

required
Source code in src/aep_parser/models/properties/property.py
def nearest_key(self, time: float) -> Keyframe:
    """
    Returns the keyframe nearest to the specified time.

    Args:
        time: The time in seconds; a floating-point value. The beginning
            of the composition is 0.
    """
    index = self.nearest_key_index(time)
    return self.keyframes[index]