Так. Вторая попытка:
Мод
Плагин
С Гитхабом пока повременим, так как потребуется время, чтобы разобраться.
(05.01.2025 02:14)Berserker Wrote: Можно же собрать dll без зависимостей. Всё время забываю этот флаг, /MT или MultiThreading, если верно помню.
У
daemon_n в сборке лежит файл msvcr100.dll.
По идее, его должно быть достаточно даже без установки c++ 2010 x86 redistributable.
Мне просто не очень нравится идея тащить в плагин библиотечные функции c++, которые и так есть в общих библиотеках.
Эти библиотеки требуются постоянно для самого разного софта, и лучше всегда иметь их на компьютере просто на всякий случай.
Могу попробовать пересобрать, но чтобы протестировать, нужна будет виртуальная машина, чтобы не удалять Visual Studio, а потом опять устанавливать, это довольно много лишних движений.
(05.01.2025 02:14)Berserker Wrote: А не было возможности сделать так, чтобы композитные png не были нужны вообще для главного меню?
Такая возможность есть.
Я и пытался так сделать первоначально, но это утяжелило код и сделало его довольно запутанным из-за множества проверок условий типа видео есть/видео нет, полноэкранное/нет.
Это почти неизбежно, когда пытаешься сделать код универсальным, охватывающим все возможные случаи.
Дело в том, что если кнопка отрисовывается не поверх видео,
то в любом случае нужно сначала нарисовать что-то под ней, чтобы убрать этот эффект множественных отрисовок поверх себя.
То есть принципиальных отличий от использования композитных png нет, и я подумал, что зря усложнил себе задачу, раз уже существует один нормально работающий механизм, который решает эту проблему.
Но если я придумаю, как сделать это максимально эффективно и просто, то вернусь к этому варианту.
Текущий вариант плагина хорошо работает с полноэкранным видео, в этом случае композитные png не нужны.
Также, как и раньше, он отвязывает показ титров от воспроизведения видео, если видео отсутствует.
Но нужны либо кнопки без полупрозрачности, либо композитные png.
По сути единственный недостаток композитных png - это что требуется громоздкий json для настройки.