Clipping / init_defaults.py
aliSaac510's picture
save fix
7af5aaa
import os
import json
# إعداد المسار ليكون دائماً داخل مجلد Clipping
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
PRESETS_DIR = os.path.join(BASE_DIR, "temp_videos", "presets")
os.makedirs(PRESETS_DIR, exist_ok=True)
defaults = {
"youtube_casual": {
"name": "youtube_casual",
"font_name": "Arial",
"font_size": 48,
"primary_color": "#FFFFFF",
"secondary_color": "#FFFF00",
"outline_color": "#000000",
"back_color": "#000000",
"outline_width": 2.0,
"shadow_depth": 1.0,
"alignment": 2,
"margin_v": 100,
"pop_up_scale": 1.2,
"highlight_mode": "karaoke",
"back_box_enabled": True,
"display_mode": "sentence",
"max_words_per_line": 3,
"uppercase": False,
"letter_spacing": 0.0,
"background_opacity": 0.7,
"glow_intensity": 0,
"rotation_angle": 0.0,
"margin_h": 20
},
"gaming": {
"name": "gaming",
"font_name": "Impact",
"font_size": 60,
"primary_color": "#00FF00",
"secondary_color": "#FF00FF",
"outline_color": "#000000",
"back_color": "#000000",
"outline_width": 3.0,
"shadow_depth": 2.0,
"alignment": 2,
"margin_v": 120,
"pop_up_scale": 1.5,
"highlight_mode": "karaoke",
"back_box_enabled": True, # تفعيل البوكس للجيمنج أيضاً
"display_mode": "sentence",
"max_words_per_line": 2,
"uppercase": True,
"letter_spacing": 1.0,
"background_opacity": 0.6,
"glow_intensity": 2,
"rotation_angle": -3.0,
"margin_h": 20,
"box_highlight_type": "word",
"box_rounding": 15
},
"professional": {
"name": "professional",
"font_name": "Helvetica",
"font_size": 40,
"primary_color": "#FFFFFF",
"secondary_color": "#CCCCCC",
"outline_color": "#000000",
"back_color": "#000000",
"outline_width": 1.0,
"shadow_depth": 0.0,
"alignment": 2,
"margin_v": 80,
"pop_up_scale": 1.0,
"highlight_mode": "instant",
"back_box_enabled": True,
"display_mode": "sentence",
"max_words_per_line": 5,
"uppercase": False,
"letter_spacing": 0.5,
"background_opacity": 0.9,
"glow_intensity": 0,
"rotation_angle": 0.0,
"margin_h": 40,
"box_highlight_type": "sentence",
"box_rounding": 5
},
"storyteller": {
"name": "storyteller",
"font_name": "Arial",
"font_size": 52,
"primary_color": "#FFFFFF",
"secondary_color": "#FFD700", # Gold
"outline_color": "#000000",
"back_color": "#000000",
"outline_width": 2.5,
"shadow_depth": 1.5,
"alignment": 2,
"margin_v": 150,
"pop_up_scale": 1.3,
"highlight_mode": "karaoke",
"back_box_enabled": True,
"display_mode": "sentence",
"max_words_per_line": 4,
"uppercase": True,
"letter_spacing": 0.0,
"background_opacity": 1.0,
"glow_intensity": 1,
"rotation_angle": 2.0,
"margin_h": 30
}
}
def init_all_defaults():
"""الدالة التي سنستدعيها عند بدء تشغيل التطبيق"""
os.makedirs(PRESETS_DIR, exist_ok=True)
for name, data in defaults.items():
file_path = os.path.join(PRESETS_DIR, f"{name}.json")
# لا نعيد الكتابة إذا كان الملف موجوداً بالفعل إلا إذا أردت تحديثه
with open(file_path, "w", encoding="utf-8") as f:
json.dump(data, f, indent=4)
print(f"✅ Initialized preset: {name}")
if __name__ == "__main__":
init_all_defaults()