Запуск внешнего приложения

Автор V0lt, 21 ноября 2023, 20:19:19

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

V0lt

Сделал сборку - mpc-be_1.6.10.98_external_tools_1.x64.7z

После начала воспроизведения можно запустить другое приложение, передав ему путь открытого файла (или URL). Управление только через реестр или файл настроек.
По умолчанию в настройках пропишется следующее:
[ExternalTools\Tool_0]
Name=Windows Media Player
Program=C:\Program Files (x86)\Windows Media Player\wmplayer.exe
Arguments="%(mainpath)"
Это только рабочий пример для понимания принципа работы.

Откуда появилась идея такой фичи?
Раньше в MPC-BE была хромая функция поиска и скачивания субтитров (досталось в наследство). Она толком ничего не находила, но некоторые пользователи каким-то образом ей пользовались. После изменений на сервере "opensubtitles.org", это вообще перестало работать. Было несколько баг репортов, нам это надоело и мы убрали поиск субтитров вообще.
Прошло время и нашелся человек, который решил помочь в этом. Но нормально реализовывать все это в плеере утомительно (интерфейс на MFC), да и у разработчиков нет интереса к этому функционалу. Поэтому мною была предложена идея сделать это с помощью внешней утилиты, которая может быть написана на любом языке программирования.

Допустим, существует утилита SubtitleDownloader для поиска и скачивания субтитров. Пропишем такие строки:
[ExternalTools\Tool_0]
Name=Find subtitles
Program=SubtitleDownloader.exe
Arguments="%(mainpath)"
Запускаем плеер и открываем видеофайл. Затем File > External Tools > Find subtitles. Запустится SubtitleDownloader, который через командную строку получит путь к воспроизводимому файлу. Дальше утилита автоматически или через диалог найдет и скачает субтитры и разместит их рядом с видеофайлом. После чего останется перезапустить воспроизведение. Это можно сделать вручную, либо сама утилита этом может сделать по завершению работы.


В будущем External Tools может быть использован и для других целей.