@echo off setlocal EnableExtensions cd /d "%~dp0" REM Prefer real Python + real Gyan FFmpeg bin over WindowsApps Store stubs and REM WinGet\Links symlinks (symlink type disabled → Access Denied → static fireworks). set "PY=" if exist "%~dp0runtime\Python311\python.exe" set "PY=%~dp0runtime\Python311\python.exe" if not defined PY if exist "%~dp0runtime\Python312\python.exe" set "PY=%~dp0runtime\Python312\python.exe" if not defined PY if exist "%ProgramFiles%\Python311\python.exe" set "PY=%ProgramFiles%\Python311\python.exe" if not defined PY if exist "%ProgramFiles%\Python312\python.exe" set "PY=%ProgramFiles%\Python312\python.exe" if not defined PY if exist "%LocalAppData%\Programs\Python\Python311\python.exe" set "PY=%LocalAppData%\Programs\Python\Python311\python.exe" if not defined PY if exist "%LocalAppData%\Programs\Python\Python312\python.exe" set "PY=%LocalAppData%\Programs\Python\Python312\python.exe" set "FFMPEG_BIN=" if exist "%~dp0runtime\ffmpeg\bin\ffmpeg.exe" set "FFMPEG_BIN=%~dp0runtime\ffmpeg\bin" if not defined FFMPEG_BIN for /d %%P in ("%ProgramFiles%\WinGet\Packages\Gyan.FFmpeg_*") do ( for /d %%V in ("%%P\ffmpeg-*") do ( if exist "%%V\bin\ffmpeg.exe" set "FFMPEG_BIN=%%V\bin" ) ) if not defined FFMPEG_BIN for /d %%P in ("%LocalAppData%\Microsoft\WinGet\Packages\Gyan.FFmpeg_*") do ( for /d %%V in ("%%P\ffmpeg-*") do ( if exist "%%V\bin\ffmpeg.exe" set "FFMPEG_BIN=%%V\bin" ) ) set "PATH=%~dp0runtime\Python311;%~dp0runtime\Python311\Scripts;%ProgramFiles%\Python311;%ProgramFiles%\Python311\Scripts;%ProgramFiles%\Python312;%ProgramFiles%\Python312\Scripts;%PATH%" if defined FFMPEG_BIN set "PATH=%FFMPEG_BIN%;%PATH%" if not exist "%~dp0run" mkdir "%~dp0run" if not exist "%~dp0log" mkdir "%~dp0log" if not exist "%~dp0config.ini" ( if exist "%~dp0config.win11.ini" ( echo Copying config.win11.ini to config.ini — edit progressives_source if needed. copy /y "%~dp0config.win11.ini" "%~dp0config.ini" >nul ) else ( echo FATAL: config.ini missing. Copy config.win11.ini to config.ini first. exit /b 1 ) ) if not defined PY ( echo FATAL: no Python found ^(runtime\Python311 or Program Files^) exit /b 1 ) echo START %DATE% %TIME% >> "%~dp0log\log.txt" "%PY%" "%~dp0DyzineFrame.py" >> "%~dp0log\log.txt" 2>&1 if errorlevel 1 ( echo DyzineFrame exited with error — see log\log.txt pause )