nightly
This commit is contained in:
49
bin/ffx/track_disposition.py
Normal file
49
bin/ffx/track_disposition.py
Normal file
@@ -0,0 +1,49 @@
|
||||
from enum import Enum
|
||||
import difflib
|
||||
|
||||
class TrackDisposition(Enum):
|
||||
|
||||
DEFAULT = {"name": "default", "index": 0}
|
||||
FORCED = {"name": "forced", "index": 1}
|
||||
|
||||
DUB = {"name": "dub", "index": 2}
|
||||
ORIGINAL = {"name": "original", "index": 3}
|
||||
COMMENT = {"name": "comment", "index": 4}
|
||||
LYRICS = {"name": "lyrics", "index": 5}
|
||||
KARAOKE = {"name": "karaoke", "index": 6}
|
||||
HEARING_IMPAIRED = {"name": "hearing_impaired", "index": 7}
|
||||
VISUAL_IMPAIRED = {"name": "visual_impaired", "index": 8}
|
||||
CLEAN_EFFECTS = {"name": "clean_effects", "index": 9}
|
||||
ATTACHED_PIC = {"name": "attached_pic", "index": 10}
|
||||
TIMED_THUMBNAILS = {"name": "timed_thumbnails", "index": 11}
|
||||
NON_DIEGETICS = {"name": "non_diegetic", "index": 12}
|
||||
CAPTIONS = {"name": "captions", "index": 13}
|
||||
DESCRIPTIONS = {"name": "descriptions", "index": 14}
|
||||
METADATA = {"name": "metadata", "index": 15}
|
||||
DEPENDENT = {"name": "dependent", "index": 16}
|
||||
STILL_IMAGE = {"name": "still_image", "index": 17}
|
||||
|
||||
def label(self):
|
||||
return str(self.value['name'])
|
||||
|
||||
def index(self):
|
||||
return int(self.value['index'])
|
||||
|
||||
|
||||
@staticmethod
|
||||
def toFlags(dispositionList):
|
||||
"""Flags stored in integer bits (2**index)"""
|
||||
|
||||
flags = 0
|
||||
for d in dispositionList:
|
||||
flags += 2 ** d.index()
|
||||
return flags
|
||||
|
||||
@staticmethod
|
||||
def toList(flags):
|
||||
|
||||
dispositionList = []
|
||||
for d in TrackDisposition:
|
||||
if flags & int(2 ** d.index()):
|
||||
dispositionList += [d]
|
||||
return dispositionList
|
||||
Reference in New Issue
Block a user