"""Configuration constants for Audio Video Generator.""" from typing import Dict, Tuple, List # Resolution presets RESOLUTION_MAP: Dict[str, Tuple[int, int]] = { "landscape": (1280, 720), # YouTube style "portrait": (720, 1280), "square": (1080, 1080) } # Image file extensions IMAGE_EXTENSIONS: Tuple[str, ...] = (".png", ".jpg", ".jpeg") # Audio file extensions AUDIO_EXTENSIONS: Tuple[str, ...] = (".mp3", ".wav", ".m4a", ".aac", ".flac", ".ogg", ".mp4") # Animation options ANIMATION_OPTIONS: List[str] = [ "none", "zoom_in", "zoom_out", "fade_in", "blink", "pulse", "fade_zoom_in" ] # Animation pool for random selection ANIMATION_RANDOM_POOL: List[str] = [ "zoom_in", "zoom_out", "fade_in", "blink", "pulse", "fade_zoom_in" ] # Transition options TRANSITION_OPTIONS: List[str] = [ "none", "fade", "crossfade", "slide_left", "slide_right", "dip_to_black", "flash" ] # Transition pool for random selection TRANSITION_RANDOM_POOL: List[str] = [ "fade", "crossfade", "slide_left", "slide_right", "dip_to_black", "flash" ] # Text animation options TEXT_ANIMATION_OPTIONS: List[str] = [ "zoom_in", "fade_in", "pop_in", "pulse", "slide_up", "glow_pop", "typewriter" ] # Text pattern options TEXT_PATTERN_OPTIONS: List[str] = [ "solid", "boxed", "highlighted" ] # Text case options TEXT_CASE_OPTIONS: List[str] = [ "original", "upper", "lower", "title" ] # Text alignment options TEXT_ALIGNMENT_OPTIONS: List[str] = [ "left", "center", "right" ] # Default settings DEFAULT_OUTPUT_NAME: str = "output.mp4" DEFAULT_WHISPER_MODEL: str = "base" MIN_EFFECT_DURATION: float = 2.0 DEFAULT_TEXT_PREVIEW_SIZE: Tuple[int, int] = (720, 405) DEFAULT_FONT_SIZE: int = 56 # Transition durations (seconds) TRANSITION_DURATIONS: Dict[str, float] = { "none": 0.0, "fade": 0.35, "crossfade": 0.55, "slide_left": 0.45, "slide_right": 0.45, "dip_to_black": 0.45, "flash": 0.30 } # Font path candidates (system-dependent) FONT_CANDIDATES: Dict[str, List[str]] = { "DejaVu Sans Bold": [ "/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf" ], "DejaVu Serif Bold": [ "/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf" ], "Liberation Sans Bold": [ "/usr/share/fonts/truetype/liberation2/LiberationSans-Bold.ttf", "/usr/share/fonts/truetype/liberation/LiberationSans-Bold.ttf" ] }