Skip to content

timespan

Classes:

Attributes:

VTS_FRAMERATE module-attribute

VTS_FRAMERATE = {1: framerate, 3: framerate}

TimeSpan dataclass

TimeSpan(hours: int, minutes: int, seconds: int, frames: int)

Methods:

Attributes:

Source code
23
24
25
26
27
28
29
30
31
32
33
34
35
def __init__(self, hours: int, minutes: int, seconds: int, frames: int):
    if ((frames >> 6) & 0x01) != 1:
        raise ValueError

    fps = frames >> 6

    if fps not in VTS_FRAMERATE:
        raise ValueError

    self.hour = hours
    self.minute = minutes
    self.second = seconds
    self.frame_u = frames

frame_u instance-attribute

frame_u: int = frames

hour instance-attribute

hour: int = hours

minute instance-attribute

minute: int = minutes

second instance-attribute

second: int = seconds

bcd_to_int staticmethod

bcd_to_int(bcd: int) -> int
Source code
37
38
39
@staticmethod
def bcd_to_int(bcd: int) -> int:
    return ((0xFF & (bcd >> 4)) * 10) + (bcd & 0x0F)

get_seconds_float

get_seconds_float() -> float
Source code
41
42
43
44
45
def get_seconds_float(self) -> float:
    # + frames / framerate
    return float(
        ((self.bcd_to_int(self.hour) * 60) + self.bcd_to_int(self.minute)) * 60 + self.bcd_to_int(self.second)
    )