Spaces:
Sleeping
Sleeping
| """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" | |
| ] | |
| } | |