Spaces:
Sleeping
Sleeping
| import time | |
| from core.state import state | |
| from core.database import db_manager | |
| from services.audio_service import process_audio_file | |
| def run_audio_processing(task_id: str, file_path: str, isolate_vocals: bool, enhance_speech: bool, lyric_sync: bool, user_email: str): | |
| try: | |
| def progress_callback(progress_percent, message, **kwargs): | |
| update_data = { | |
| "progress": progress_percent, | |
| "message": message | |
| } | |
| update_data.update(kwargs) | |
| db_manager.upsert_task(task_id, update_data) | |
| zip_path = process_audio_file( | |
| file_path, | |
| task_id, | |
| progress_callback, | |
| isolate_vocals=isolate_vocals, | |
| enhance_speech=enhance_speech, | |
| lyric_sync=lyric_sync | |
| ) | |
| db_manager.upsert_task(task_id, { | |
| "status": "completed", | |
| "progress": 100, | |
| "message": "Processing complete! Ready to download.", | |
| "result_path": zip_path, | |
| "completed_time": time.time() | |
| }) | |
| except Exception as e: | |
| if str(e) == "Task cancelled by user": | |
| db_manager.upsert_task(task_id, { | |
| "status": "cancelled", | |
| "message": "Task cancelled by user" | |
| }) | |
| else: | |
| db_manager.upsert_task(task_id, { | |
| "status": "failed", | |
| "message": str(e) | |
| }) | |
| print(f"Error processing {task_id}: {e}") | |