RU
Проверки перед выпуском
О программе · Руководство · Консольная команда · Замеры
Содержание
Что прогоняется перед выпуском и чем. Всё запускается из папки программы.
Кодировка .cmd
Все .cmd программы — UTF-8 без BOM и строго CRLF:
install\Check-CmdEncoding.cmd -Fix
Тот же шаг — пункт [72] сборщика builder_main.cmd; сборка окружения проверяет кодировку сама.
Окружение
install\verify_portable_env.cmd
Пункт [71] сборщика. Проверяет Python программы (runtime\) и его пакеты, кодировку .cmd, что консольная
команда читает манифест, что Start.exe и окно в App\ на месте и собранное окно проходит свою самопроверку.
Движок
runtime\python.exe -m pytest -q -p no:cacheprovider tests system_core\tests
Около пяти минут: обёртки и нарезки гоняют настоящий FFmpeg. Что держат тесты:
- консольная команда: вызовы, коды выхода, файл итога, отказ
--dry-runтам, где операция не умеет только назвать команды; - модель формы: что ставит пресет и что выключает выбор — одно правило для окна и консоли;
- 95 обёрток
Scripts\— их команды FFmpeg и yt-dlp сверяются с записанными; - нарезка, частота кадров, звук, пробы источника — на настоящих файлах;
- карта программы: у каждой операции, поля, варианта, пресета и обёртки есть текст на двух языках;
- документы из карты (
Docs\OPERATIONS_*,Docs\SCRIPTS_*, таблицы руководств) совпадают с данными; устаревшие переписываются.
Окно
install\Build-App.cmd
Проверки окна (консольная команда, раскладка, сервер форм, карта, документы, четыре темы, значки, словарь — у каждой
русской подписи есть английская пара), сборка App\ и самопроверка собранной копии. После сборки Source\bin,
Source\obj, Source\Ps\bin, Source\Ps\obj убираются — пункт [70] сборщика.
pwsh -File Source\Tools\release-walk.ps1 -Stand C:\Temp\media_stand
Нужен установленный PowerShell 7 (pwsh): UI Automation живёт в сборках WindowsDesktop, а PowerShell программы
(App\AudionPs.exe) собран без них.
Проход собранной программы без мыши: копия программы в пустой папке, окно вне экрана, кнопки нажимаются через UI Automation — раздел и режим, выбор формы, КОМАНДА, ЗАПУСТИТЬ, СВЕДЕНИЯ, закрепление, В ИСТОЧНИК и ОЧИСТИТЬ с их вопросами, плеер нарезки, СТОП, закрытие во время работы. Файлы и настройки рабочей копии не читаются и не пишутся.
СЕРВИС
В окне, меню СЕРВИС, или media_cli.cmd run --operation ...:
- Самопроверка (
selftest) — FFmpeg, ffprobe, yt-dlp, Deno. - Возможности оборудования (
hardware_capabilities) — какие аппаратные пути работают на этой машине. - Проверка профилей (
profile_doctor) — манифест, обёртки и каталог профилей. - Тест матрицы пресетов (
preset_test_matrix) — секундные прогоны пресетов всех разделов.
Ожидаемые MISS — нормальный ответ на машине без соответствующего железа.
Живой прогон
По операции из каждого раздела на коротком материале — камерном, а не сгенерированном: результат проверяется ffprobe
(кодек, размер, частота, длительность, звук), у нарезки — числом кадров. СКАЧАТЬ — одной ссылкой и списком ссылок.
Консольные меню
set AUDION_LAUNCHER_SMOKE=1
cli\launcher-fps.cmd
С этой переменной меню cli\launcher-*.cmd выбирают «назад» сами и проверяют, что открываются. launcher_project.cmd
и launcher_tools.cmd открываются и находят обёртку набором букв.
Установщики
install\Install-Portable-FFmpeg-Gyan.cmd,-BtbN.cmd,install\Install-Portable-yt-dlp.cmd(вместе с Deno),install\Install-Portable-mpv.cmd,install\Install-Portable-7Zip.cmdпосле успешной загрузки очищают свою папку вTools\целиком и кладут свежую: старые EXE и DLL не остаются поверх.- До скачивания каждый называет файлы, источник и размер — то же говорит
media_cli.cmd plan --operation install_ffmpeg.
Чистка
cleanup_project.cmd возвращает программу к исходникам: очищает input, output (кроме output\Download), logs,
report, workspace, runtime, wheelhouse, кэш установщиков, содержимое Tools\ffmpeg, Tools\mpv,
Tools\yt-dlp, Tools\deno, Tools\7zip, кэши Python, состояние окна и cookies; затем install\init_folders.cmd
создаёт рабочие папки заново. Остаются output\Download, LUTs, обёртки, документы, постоянные настройки и лицензии.
Папка, которая сама ссылка (junction, символическая ссылка), не очищается — её содержимое лежит в другом месте; ссылка
внутри очищаемой папки снимается как ссылка, внутрь неё очистка не заходит.