Source code for vtc._premiere_ticks

from typing import Union, Tuple


[docs]class PremiereTicks(int): """ PremiereTicks signals than an int value represents an Adobe Premier Pro ticks value and can be used to wrap ints for parsing tc and doing mathematical operations. """ # We need to override all of the mathematical magic methods or math operations, # even on two PremiereTicks instances, will return a generic int. def __add__(self, other: Union["PremiereTicks", int]) -> "PremiereTicks": """__add__ applies the int operation then casts to the correct type.""" res = super().__add__(other) return self.__class__(res) def __radd__(self, other: Union["PremiereTicks", int]) -> "PremiereTicks": """__radd__ applies the int operation then casts to the correct type.""" res = super().__radd__(other) return self.__class__(res) def __sub__(self, other: Union["PremiereTicks", int]) -> "PremiereTicks": """__sub__ applies the int operation then casts to the correct type.""" res = super().__sub__(other) return self.__class__(res) def __rsub__(self, other: Union["PremiereTicks", int]) -> "PremiereTicks": """__rsub__ applies the int operation then casts to the correct type.""" res = super().__rsub__(other) return self.__class__(res) def __mul__(self, other: Union["PremiereTicks", int]) -> "PremiereTicks": """__mul__ applies the int operation then casts to the correct type.""" res = super().__mul__(other) return self.__class__(res) def __rmul__(self, other: Union["PremiereTicks", int]) -> "PremiereTicks": """__rmul__ applies the int operation then casts to the correct type.""" res = super().__rmul__(other) return self.__class__(res) def __floordiv__(self, other: Union["PremiereTicks", int]) -> "PremiereTicks": """__floordiv__ applies the int operation then casts to the correct type.""" res = super().__floordiv__(other) return self.__class__(res) def __rfloordiv__(self, other: Union["PremiereTicks", int]) -> "PremiereTicks": """__rfloordiv__ applies the int operation then casts to the correct type.""" res = super().__rfloordiv__(other) return self.__class__(res) def __mod__(self, other: Union["PremiereTicks", int]) -> "PremiereTicks": """__mod__ applies the int operation then casts to the correct type.""" res = super().__mod__(other) return self.__class__(res) def __rmod__(self, other: Union["PremiereTicks", int]) -> "PremiereTicks": """__rmod__ applies the int operation then casts to the correct type.""" res = super().__rmod__(other) return self.__class__(res) def __divmod__( self, other: Union["PremiereTicks", int], ) -> Tuple["PremiereTicks", "PremiereTicks"]: """__divmod__ applies the int operation then casts to the correct type.""" res = super().__divmod__(other) return self.__class__(res[0]), self.__class__(res[1]) def __rdivmod__( self, other: Union["PremiereTicks", int], ) -> Tuple["PremiereTicks", "PremiereTicks"]: """__rdivmod__ applies the int operation then casts to the correct type.""" res = super().__rdivmod__(other) return self.__class__(res[0]), self.__class__(res[1]) def __floor__(self) -> "PremiereTicks": """__floor__ applies the int operation then casts to the correct type.""" res = super().__floor__() return self.__class__(res) def __ceil__(self) -> "PremiereTicks": """__ceil__ applies the int operation then casts to the correct type.""" res = super().__ceil__() return self.__class__(res) def __neg__(self) -> "PremiereTicks": """__neg__ applies the int operation then casts to the correct type.""" res = super().__neg__() return self.__class__(res) def __abs__(self) -> "PremiereTicks": """__abs__ applies the int operation then casts to the correct type.""" res = super().__abs__() return self.__class__(res)