mp.app — 25 функций
| Функция | Возврат | Описание |
|---|---|---|
version() | string | Версия MultiProg (например "2.3.0") |
script_api_version() | string | Версия API скриптов (например "1.7.10", формат major.minor.patch) — увеличивается на любом изменении API |
build_info() | table | {git_hash, build_time, qt_version, compiler, platform, script_api} |
os_info() | table | {os, os_version, kernel, kernel_version, cpu_arch, hostname} |
exe_dir() | string | Папка MultiProg.exe |
exe_path() | string | Полный путь к MultiProg.exe |
config_dir() | string | Папка пользовательских конфигов |
scripts_dir() | string | Папка скриптов |
temp_dir() | string | Системная temp |
home_dir() | string | Домашняя папка пользователя |
desktop_dir() | string | Desktop пользователя |
documents_dir() | string | Documents пользователя |
get_env(name) | string | Переменная окружения |
args() | table | Массив аргументов командной строки |
log_path() | string | Сегодняш ний лог MultiProg (тот же, что в панели логов) |
log_tail(n?) | string | Последние n строк этого лога (по умолчанию 200, максимум 10000) |
add_script_shortcut(path) | ok, err | Добавить .lua-путь в меню Script (сохраняется между запусками). Принимает абсолютный путь ИЛИ голое имя файла |
remove_script_shortcut(path) | ok, err | Удалить путь из меню Script |
list_script_shortcuts() | table | Массив текущих ярлыков скриптов |
cleanup_ipc_dir(names) | int, table | Удалить файлы в IPC-папке моста; names — Lua-массив имён файлов (без / или \). Жёсткий whitelist защищает критичные файлы |
Пример
mp.log.info(mp.app.version()) -- "2.3.0"
mp.log.info(mp.app.script_api_version()) -- "1.7.10"
local b = mp.app.build_info()
mp.log.infof("git=%s qt=%s build=%s",
b.git_hash, b.qt_version, b.build_time)
local o = mp.app.os_info()
mp.log.infof("os=%s arch=%s host=%s",
o.os, o.cpu_arch, o.hostname)
mp.log.info("scripts: " .. mp.app.scripts_dir())
mp.log.info("config: " .. mp.app.config_dir())
mp.log.info("сегодняшний лог: " .. mp.app.log_path())
-- Сделать кастомный скрипт видимым в меню Script после рестарта
mp.app.add_script_shortcut("C:/scripts/my_flow.lua")
for _, p in ipairs(mp.app.list_script_shortcuts()) do
mp.log.info(p)
end