Skip to content

Releases: Menely/L-MPV

L-MPV v2.5.3

Choose a tag to compare

@github-actions github-actions released this 21 Sep 23:45

Палитры Свечения, Идеальная Портативность и Чистый UI

🚀 Нововведения

изображение

Интерактивный Поиск и Окно Субтитров

  • Мгновенный полнотекстовый поиск: живой поиск по всей дорожке субтитров с моментальной подсветкой совпадений, счетчиком найденных реплик и быстрой навигацией клавишами Вверх / Вниз / Enter.
  • Интерактивная навигация и переход: клик по любой строке диалога мгновенно перематывает воспроизведение на точный таймкод фразы.
  • Режим «Следить за речью» (Follow Playback): автоматическое отслеживание произносимой реплики во время воспроизведения в реальном времени с адаптивным плавным автоскроллом (rAF-цикл).
  • Два режима отображения:
    • Обычный (Текст): чистый отформатированный текст диалогов без мусора разметки, таймкод начала, длительность и имя персонажа/актёра.
    • Технический (ASS-инспектор): профессиональный разбор разметки ASS ([Ht] HTML-превью, [Ae] Raw ASS), подробные бейджи стилей (название стиля, актёр, шрифт, размер, цвет HEX/BGR, слой MarginV/Layer, координаты и теги эффектов).
  • Тонкая регулировка задержки (Sub Delay): точная подстройка смещения тайминга субтитров с шагом 50/100 мс прямо из строки поиска.
  • Быстрый селектор дорожек (Track Picker): переключение между встроенными и внешними дорожками, подключение новых файлов .srt/.ass и отключение субтитров в 1 клик.
  • Свободная геометрия и позиционирование: изменение ширины окна перетаскиванием границ (Resize), горизонтальное перемещение окна (Drag & Drop за шапку), автоподстройка ширины под режим и сохранение геометрии.
  • Настройка непрозрачности (Glass / Solid): выбор между полупрозрачным Glassmorphism стилем и контрастным плотным фоном для комфортного чтения поверх ярких сцен.
  • Высокопроизводительная DOM-виртуализация: моментальная плавная прокрутка тысяч строк субтитров без лагов и с минимальной нагрузкой на процессор.

🎨 Расширенная Акцентная Палитра и Свечение

  • +16 новых акцентных цветов: в каждую цветовую группу (Холодные, Тёплые, Неон, Пастель) добавлено по 4 выверенных гармоничных оттенка.
  • Исправлена обрезка свечения (Drop-Shadow Fix): устранены границы отсечения размытия вокруг круглых ползунков громкости и таймлайна. Свечение теперь распределяется мягко и без артефактов.

✨ Очистка и Эргономика Интерфейса (UX Polish)

  • Минималистичные модальные окна: убраны лишние второстепенные серые подписи снизу настроек и панелей — оставлены только ключевые управляющие элементы и акценты.
  • Чёткая визуальная иерархия: улучшена читаемость карточек, вкладок и пресетов.

🛡️ 100% True Portable и Сохранность Темы

  • Никаких сбросов темы: исправлена проблема, при которой после обновления у некоторых пользователей сбрасывалась активная тема и цвет оформления.
  • Отказоустойчивое сохранение (config/settings.json): внедрена интеллектуальная fallback-десериализация конфигурации на бэкенде Rust. При появлении новых полей в конфиге все существующие настройки пользователя сохраняются в первозданном виде.

⚡ Оптимизация и Стабильность Кода

  • Проведён аудит на утечки ресурсов, излишние ререндеры в React 19 и таймеры.
  • Оптимизировано освобождение нативных дескрипторов libmpv и окон WebView2.
  • Архитектура IPC-команд Rust полностью модулирована для мгновенного отклика.

📦 Инструкция по скачиванию

1 - Если вы скачиваете приложение впервые, скачайте и запустите установщик L-MPV_2.5.2_x64-setup.exe, далее следуя инструкциям на экране, либо скачайте архив L-MPV-v2.5.2-portable.zip и распакуйте его содержимое в любую удобную папку (например, L-MPV).

2 - Если плеер уже установлен, просто обновите его через интерфейс приложения

L-MPV v2.5.2

Choose a tag to compare

@github-actions github-actions released this 20 Sep 13:59

Интерактивный менеджер версий, откат релизов и адаптивный чейнджлог

✨ Что нового в v2.5.2:

🔄 1. Интерактивный менеджер версий и откат (Downgrade Engine)

  • Выбор любой версии в 1 клик: в окно информации о релизе добавлен выпадающий список со связкой до 30 последних релизов плеера с GitHub и датами их публикации.
  • Интеллектуальная индикация:
    • Откат (Downgrade): при выборе более раннего релиза плашка окрашивается в тёплые янтарные тона и отображает наглядный переход вида 2.5.2 -> 1.6.8 со статусом «откат версии» и кнопкой «Откатить до v...».
    • Обновление (Upgrade): при выборе более новой версии плашка отображает 2.5.2 -> 2.5.3 в фирменном акцентном синем цвете со статусом «доступно обновление».
    • Актуальная версия: лаконичный бейдж v2.5.2 со статусом «актуальная версия».
  • Безопасная установка: подмена исполняемых файлов происходит через фоновый скрипт update.bat, исключая блокировки файлов операционной системой Windows.

🎨 2. Адаптивный Markdown-рендеринг и улучшение UpdateModal

  • Растягивание чейнджлога на 100% высоты: окно описания релиза теперь динамически занимает всю доступную высоту до самого низа футера, полностью убирая неиспользуемые пустые зоны.
  • Поддержка медиаконтента в описаниях: нативная поддержка скриншотов, бейджей, таблиц, чекбоксов и форматирования кода в списках изменений (MarkdownRenderer).
  • Устойчивость к спецсимволам: корректная токенизация технических идентификаторов (snake_case, системные переменные) без нежелательного искажения в курсив.
  • Прямой переход: удобная кнопка «Открыть на GitHub» над списком изменений для быстрого перехода к релизу в браузере.

🎯 3. Стабилизация геометрии интерфейса (Zero-Jitter Architecture)

  • Монолитный футер настроек: устранено микро-подпрыгивание плашек при наведении курсора в футере окна Настроек (F2). Все элементы переведены на строгий Flexbox без использования тяжелых графических фильтров яркости.
  • Чистота минимализма: сняты навязчивые всплывающие подсказки (tooltip) при наведении на версию плеера и имя открытого файла в заголовке окна (Titlebar).

⚡ 4. Производительность и надёжность

  • Интеллектуальный OOM Fallback в TensorRT: автоматическая двухэтапная компиляция с безопасным откатом на базовый профиль оптимизации Level 3 и ограничением рабочего пула VRAM 1024M при нехватке памяти видеокарты.
  • Очистка ресурсов: полное устранение утечек памяти, таймеров и слушателей событий.

📦 5. Инструкция по скачиванию

1 - Если вы скачиваете приложение впервые, скачайте и запустите установщик L-MPV_2.5.2_x64-setup.exe, далее следуя инструкциям на экране, либо скачайте архив L-MPV-v2.5.2-portable.zip и распакуйте его содержимое в любую удобную папку (например, L-MPV).

2 - Если плеер уже установлен, просто обновите его через интерфейс приложения

L-MPV v2.5.1

Choose a tag to compare

@github-actions github-actions released this 20 Sep 02:05

L-MPV v2.5.1 — фикс бага окна плейлиста

L-MPV v2.5.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 23:04

L-MPV v2.5.0 — Большое обновление: Real-Time AI Upscaling, Улучшенный Дизайн

L-MPV - Banner Watercolor -  07  v2

🎨 Редизайн настроек и эргономики интерфейса

  • Унифицированный дизайн селекторов: Все активные элементы (чипы хоткеев, плитки моделей нейросетей, пресеты, вкладки, темы, кнопки визуализатора) приведены к единому стандарту. Добавлена рамка 1.5px solid var(--accent), внутреннее и внешнее свечение box-shadow inset 1.5px, фоновая тонировка rgba(var(--accent-rgb), 0.16) и контрастный текст
  • Глубина и объем: Карточкам внешнего вида, палитрам и сворачиваемым аккордеонам добавлена парящая тень (box-shadow: 0 4px 14px) и полупрозрачная тематическая подложка rgba(255, 255, 255, 0.025), просвечивающая цвет выбранной темы. Раскрытые заголовки секций получили выразительную тень и аккуратный нижний разделитель
  • Эргономика сетки: Блок настроек интерфейса разделен на 3 колонки (Скругление, Масштаб, Шрифты) со строгим стандартом высоты заголовков — 22px. Карточки выбора стиля панели управления избавлены от круглых радио-индикаторов, а интерактивное мини-превью плеера увеличено до 148x64 px.
  • Премиальные ползунки:
    • Внедрен тонкий слайдер прозрачности (ui-premium-slider) с высотой трека 3px, свечением и динамической заливкой акцентным цветом. Отступы (от надписи до слайдера и до процентов) идеально отцентрированы — строго по 14px.
    • Разработан кастомный компонент VerticalSlider для масштаба и скругления. Он предотвращает вылезание бегунка за границы, изолирован в центрированном flex-контейнере 20px и имеет плавную интерактивную анимацию (scale 1.25 с неоновым акцентом), синхронизированную с горизонтальными слайдерами. Текущие числовые значения теперь вынесены прямо в шапку карточек.
  • Zero Layout Shift: Полностью устранен сдвиг макета при выборе опций в настройках. Появление и скрытие кнопок сброса переведено на плавную CSS-анимацию (opacity, scale, visibility) без пересборки DOM. Под кнопку сброса зарезервировано постоянное место (26x22px).

🖱️ Продвинутый редактор контекстного меню (ПКМ)

  • Drag-and-Drop конфигуратор (ContextMenuSettingsTab): Внедрен стек @dnd-kit (core, sortable, utilities) для создания визуального двухколоночного редактора меню с поддержкой тач-событий, добавлением/удалением разделителей и сбросом к дефолту.
  • Новые разделы в меню:
    • Пресеты: динамический список пользовательских и встроенных пресетов с переключением в реальном времени.
    • Апскейлинг: список доступных моделей с переключением режимов и слотов.
    • Кнопки панели: быстрое управление видимостью отдельных кнопок нижней панели.
  • Портативность бэкенда: Конфигурация меню (contextMenuLayout) сохраняется строго локально в config/context_menu.json без использования системного реестра. Добавлены команды get_context_menu_layout и save_context_menu_layout в Tauri.
  • Архитектура: Создан модульный реестр MENU_ITEM_REGISTRY, добавлена валидация схемы раскладки. Динамическая сборка меню теперь работает за O(1) благодаря поиску через структуру Map.

⏱️ Элементы управления и вкладка «Общие»

  • Новые позиции времени воспроизведения: Добавлены 3 новых стиля позиционирования (оформлены в компактную сетку 3x2 в настройках):
    1. Плавающий стеклянный бейдж по центру над таймлайном (timeline_floating_center).
    2. Справа в тулбаре перед служебными кнопками (toolbar_right).
    3. В верхнем заголовке окна (Titlebar) слева от кнопок окна (titlebar)
    • Фича: При выборе позиций вне полосы, таймлайн автоматически раскрывается на 100% ширины.
  • Генеральная уборка вкладки «Общие» (GeneralSettingsTab): 7 мелких разрозненных аккордеонов заменены на 3 крупные логические категории, которые теперь стилизованы под единый дизайн карточек и открыты по умолчанию:
    1. Воспроизведение и окна: сегментный селектор окончания видео, Multi-instance, авто-скрытие UI сверху в полном экране.
    2. Аудиодорожки и субтитры: автоподхват из папки, авто-переключение, Drag & Drop загрузка (хотлоад), сохранение извлеченных дорожек.
    3. Скриншоты и медиатека: выбор папки сохранения через проводник, подсказки по горячим клавишам (S / Shift+S), сброс к дефолту.

⚙️ Глубокая оптимизация и багфиксы

  • Тотальный аудит утечек памяти: Обеспечена строгая очистка всех таймеров (clearTimeout), слушателей событий (removeEventListener), IPC-подписок Tauri (unlisten), а также циклов cancelAnimationFrame Canvas и ResizeObserver. Константа SETTINGS_TABS вынесена на уровень модуля, наборы данных мемоизированы через useMemo.
  • Безопасность VerticalSlider: Компонент обернут в React.memo с useCallback. Добавлена защита от деления на ноль, точный расчет дробного шага (0.05) и поддержка клавиатурной навигации стрелками (a11y).
  • Защита localStorage: В слайдерах добавлена фильтрация избыточных вызовов onChange при микро-движениях курсора, что предотвращает лавину сохранений в локальное хранилище.
  • Исправление багов Drag-and-Drop: Внедрен компонент ScrollSync для мгновенного обновления геометрии dnd-kit через requestAnimationFrame при автоскролле вверх/вниз. Разработана прецизионная 1D-стратегия коллизий на базе getClientRect (ignoreTransform: true) для исключения искажений от временных CSS-анимаций.
  • Фиксы интерфейса:
    • Исправлены приплюснутые карточки пресетов: удалены пустые распорки и заданы правильные minHeight.
    • Исправлена утечка таймера подменю, гарантирована уникальность ключей генерации и защита от саморерендеров через isSelfUpdateRef.
    • Устранен визуальный выход скроллбара за границы карточек (margin трека 4px).
    • В редакторе контекстного меню заголовки колонок очищены от затемнений, текст переведен на var(--text-primary).
    • Устранен дублирующий блок стилей settings-accordion в CSS-модуле modals.css.
    • Устранена утечка состояния захвата перетаскивания через onLostPointerCapture и безопасную проверку hasPointerCapture.

L-MPV Inference Engines v1

Choose a tag to compare

@github-actions github-actions released this 17 Sep 23:01

Автоматически собранные зависимости для апскейлинга L-MPV: оптимизированные библиотеки TensorRT/aji и скомпилированный нативный конвертер l-mpv_convert_fp16.

L-MPV v2.0.1 Beta

Choose a tag to compare

@github-actions github-actions released this 16 Sep 22:24
L-MPV - Banner Watercolor -  04  v1

Фиксы

  • Исправил ошибку компиляции файла .engine

L-MPV v2.0.0 Beta

Choose a tag to compare

@github-actions github-actions released this 16 Sep 20:12
L-MPV - Banner Watercolor -  04  v1

🚀 L-MPV v2.0.0 — Глобальное обновление: Real-Time AI Upscaling, Новый Дизайн & Эргономика

🧠 1. Интеллектуальный апскейлинг кадра (Real-Time 4K AI Upscaling)

  • Предкомпиляция движков TensorRT (.engine) в 1 клик:
    • В карточке каждой ONNX-модели добавлена быстрая компиляция под целевое разрешение 1080p → 4K. Предварительная сборка устраняет зависания, фризы и микропаузы при первом запуске воспроизведения.
  • Устранение ошибок Out Of Memory (OOM):
    • Сборщик trtexec оптимизирован сбалансированным профилем --builderOptimizationLevel=3, исключающим ресурсоемкий поиск Myelin-графа во время рендеринга видео.
    • Установлен жесткий лимит рабочего пула памяти --memPoolSize=workspace:4096, защищающий от исчерпания VRAM на видеокартах NVIDIA GeForce RTX 30 / 40 / 50 серий.
  • Прямой запуск компилятора:
    • Исключены промежуточные harness-процессы — устранены любые конфликты за ресурсы видеопамяти с активным Direct3D 11 конвейером плеера.
  • Самовосстановление и контроль целостности:
    • Добавлена строгая проверка скомпилированных файлов (> 0 байт). Если компиляция была прервана, нулевые или поврежденные .engine файлы автоматически удаляются, а статус модели в интерфейсе возвращается в исходное состояние с возможностью повторной сборки.
  • Экранная статистика OSD (Ctrl + J):
    • Интерактивный HUD реального времени поверх видео: активный бэкенд (DirectML / TensorRT), выбранный слот модели, текущий FPS, время генерации кадра и счетчик пропущенных кадров (dropped frames).
  • Аппаратный рендеринг Direct3D 11 (vo=gpu-next):
    • Полный переход на современный нативный бэкенд Direct3D 11 с аппаратным декодированием NVDEC/D3D11VA и WASAPI аудио. Моментальное применение апскейлинга даже при остановке видео на паузе.

🎨 2. Новый Дизайн, 11 Цветовых Тем & Шрифтовая Экосистема

  • 11 Кинематографичных Цветовых Тем:
    • Доступны темы на любой вкус: Тёмный графит, Discord Gray, Глубокий OLED, Сапфировая полночь, Холодный Норд, Лавандовый индиго, Тёмный изумруд, Лесной шалфей, Мятный нефрит, Аметист и Коралловый закат.
    • Компактная горизонтальная палитра с анимированными выкатными Pill-метками при выборе.
    • Точная калибровка индикаторов dotColor под реальные фоновые оттенки интерфейса (включая матовый Discord Gray #4e535e).
  • Шрифтовая Экосистема из 6 Гарнитур:
    • Мгновенное переключение шрифта интерфейса в 1 клик без перезапуска:
      1. Inter — классический эталон четкости и читаемости;
      2. Системный — нативный шрифт ОС (Segoe UI / Roboto);
      3. Outfit — технологичный геометрический стиль;
      4. Plus Jakarta Sans — мягкий европейский нео-гротеск;
      5. Manrope — сбалансированный современный гротеск;
      6. JetBrains Mono — строгий моноширинный стиль для ценителей кода.
  • Динамический Уровень Скругления (UI Corner Radius):
    • 4 градации скругления: Без скругления (0px), Умеренное (8px), Закругленное (14px) и Овальное (20px / Pill) со сквозной синхронизацией по всем модальным окнам, выпадающим меню, кнопкам и бейджам.
  • Дизайн-система Elevation Surfaces:
    • Три стандартизированных уровня глубины стеклянных поверхностей (.glass-panel, .glass-section, .glass-tile) с микроанимациями физического отклика и отсутствием мерцаний при навигации по настройкам.
  • Новая фирменная векторная иконка:
    • Обновлены все иконки приложения для панели задач, окон и исполняемых файлов (дизайн от LANKETT).

⏱️ 3. Эргономика, Таймлайн & Умное Управление

  • Оптимизированная строка таймлайна (.timeline-row):
    • Текущая позиция и общая длительность видео перенесены из нижней панели непосредственно на строку таймлайна — справа от индикатора прогресса. Панель кнопок разгрузилась от лишнего текста, а таймлайн плавно адаптируется под ширину окна.
  • Умное скрытие интерфейса в полноэкранном режиме:
    • В настройки добавлена функция скрытия интерфейса при наведении курсора на верхний край плеера. Позволяет мгновенно убрать контролы с экрана легким движением мыши вверх, не дожидаясь тайм-аута.
  • Многоуровневая адаптивность (Container Queries):
    • Контролы плеера получили гибкую систему адаптивности (пороги 1040px, 920px, 780px, 580px, 460px, 340px): кнопки второстепенных действий аккуратно группируются, исключая переполнение тулбара и наплыв элементов друг на друга даже в ультраузких окнах.

🔊 4. Звук и Аудио-подсистема

  • Усиление звука до 150%:
    • Ползунок громкости и горячие клавиши теперь позволяют поднимать уровень громкости до 150% благодаря встроенному софтверному преампу softvol без клиппинга и искажений.
  • Аудио-визуализатор спектра:
    • Спектральный визуализатор оптимизирован и остается активным дольше при переключении аудиодорожек для комфортного визуального контроля звучания.
  • Bit-Perfect звук:
    • Вывод через эксклюзивный/разделяемый режим WASAPI с 32-tap sinc фильтрацией ресемплинга.

🛡️ 5. Приватность, Стабильность и Архитектура

  • Режим скрытия названий моделей (Privacy Mode):
    • В шапку карточки «Папка нейросетей (models/onnx/)» добавлена кнопка маскирования (Eye / EyeOff).
    • Реальные имена файлов, названия сетей и их размер маскируются точками (••••••••••••••••), предотвращая случайный показ личной информации при демонстрации экрана или скриншотах. Состояние сохраняется в localStorage.
  • Стабильный прогресс-бар компилятора:
    • Ширина блока зафиксирована на 175px, а счетчик процентов получил фиксированную область 38px с моноширинными цифрами (tabular-nums). Прогресс-бар больше не смещает соседние кнопки.
  • Кэширование данных GPU:
    • Информация об установленных видеокартах кэшируется при старте, ускоряя открытие окна настроек.
  • Модульная архитектура бэкенда на Rust:
    • Логика ядра изолирована по модулям: config, controller, downloader, hardware, mpv_manager с соблюдением принципов SOLID и надежным логированием исключений.

L-MPV v1.6.8

Choose a tag to compare

@github-actions github-actions released this 15 Sep 01:55

изображение 1 изображение 2

🚀 L-MPV v1.6.8 — Улучшение кастомизации

🎉 Что нового в версии 1.6.8

Нововведения

  • Единая категория «Настройки интерфейса» — объединили скругление углов, масштаб и прозрачность плеера в один удобный и компактный раздел.
  • Кастомное скругление — добавлен ползунок точной регулировки радиуса (от 0 до 34 px)
  • Живой предпросмотр — компактный интерактивный мини-плеер в шапке раздела, отражающий скругление, масштаб и прозрачность в реальном времени.
  • Новая секция Цветовое оформление в настройках с живым предпросмотром плеера.
  • Семь тем оформления фона плеера: Тёмный графит, Глубокий OLED, Сапфировая полночь, Тёмный изумруд, Аметист, Вулканический мокко и Холодный Норд.
  • Автоматическая адаптация цвета текста, поверхностей и акцентов под каждую тему.

Фиксы

  • Оптимизация и чистка — переработан код компонента предпросмотра, сожимая бандл, устранены утечки памяти и ускорена работа интерфейса.
  • Убрана лишняя подсветка с кружка темы плеера — теперь выделяется только сама кнопка.

L-MPV v1.6.6

Choose a tag to compare

@github-actions github-actions released this 14 Sep 15:50

Релиз v1.6.6 — Сохранение размеров окна, управление пресетами и аудит безопасности

🚀 Новые функции и улучшения

🪟 Сохранение размеров окна в сессии

  • Удержание размеров: Плеер теперь сохраняет пользовательский размер окна при переключении файлов через плейлист, кнопки навигации или при подключении внешних аудиодорожек и субтитров (хотлоад).
  • Чистый холодный запуск: Автоматическая подгонка окна под разрешение медиафайла происходит только при холодном старте приложения, сохраняя подстроенный размер в течение всей текущей сессии.

⏯️ Настройка поведения по окончании видео

  • Выбор действия: В настройки воспроизведения добавлена опция действия при завершении видео:
    • Переключать на следующее видео (keep-open=yes, по умолчанию).
    • Ничего не делать / оставаться на последнем кадре (keep-open=always).
  • Мгновенный перезапуск: Если видео остановилось на последнем кадре, нажатие на воспроизведение (пробел, ЛКМ по видео или кнопка "Старт") автоматически перезапускает файл с самого начала (0:00).

🗂 Независимые пресеты и нативные диалоги

  • Раздельное хранение: Каждый пресет настроек сохраняется в отдельный JSON-файл в папке config/presets/<имя_пресета>.json.
  • Нативный экспорт: При экспорте пресетов выводится нативный проводник Windows для выбора произвольного места сохранения и имени файла.
  • Быстрый доступ: В настройки добавлена кнопка открытия папки пресетов в Проводнике.

🛠 Аудит кода и исправление ошибок

  • Устранение утечек слушателей: Внедрены механизмы очистки (dragCleanupRef и isMounted) в React-компонентах, предотвращающие утечки глобальных обработчиков мыши и слушателей Tauri Webview при размонтировании.
  • Защита от ложного сброса позиции: Уточнены проверки конца файла в командах управления паузой (duration > 0.0), что исключает нежелательный сброс позиции при воспроизведении сетевых трансляций (live-стримов).
  • Аудит FFI и памяти: Подтверждено гарантированное освобождение C-строк (mpv_free) в Rust-слое взаимодействии с libmpv и корректное управление буферами захвата звука WASAPI Loopback.
  • Актуализация документации: Обновлена структура проекта и описания модулей в PROJECT_KNOWLEDGE.md и README.md.

L-MPV v1.6.5

Choose a tag to compare

@github-actions github-actions released this 14 Sep 12:59

🎬 Релиз L-MPV v1.6.5 — Presets Manager, Visualizer Preview, Performance Boost & Hotkeys Expansion

🎨 Менеджер пресетов оформления («Мои пресеты» и «Готовые стили»)

  • В окне Настроек появился новый раздел «Пресеты»:
    • Сохранение в 1 клик: сохраняйте ваши индивидуальные комбинации акцентных цветов, векторного неонового свечения (Glow), прозрачности, стиля визуализатора и видимости элементов панели управления.
    • «Мои пресеты»: список ваших сохраненных стилей с возможностью переименования, перезаписи и быстрого применения.
    • «Готовые стили»: набор готовых дизайнерских предустановок (аккуратно свёрнуты по умолчанию).
    • Экспорт и импорт: делитесь настройками с друзьями или переносите их между компьютерами через файлы .json.

🎵 Интерактивный Live-предпросмотр аудио-визуализатора

  • В настройках визуализатора добавлен живой интерактивный Canvas-предпросмотр в реальном времени.
  • Теперь можно наглядно переключать все 9 стилей визуализации (Waveform, Spectrum, Bars, Matrix, Ribbon, Particles, Circular, Blob, Strings), менять цветовые палитры (Accent, Pastel, Neon, Sunset, Aurora) и настраивать интенсивность неонового свечения, сразу видя итоговый результат без необходимости закрывать настройки.

⚡ Глубокая оптимизация производительности (Performance Boost)

  • Устранение паразитных перерисовок React (на 90–95% меньше нагрузки):
    • Ранее динамические показатели воспроизведения (liveState) обновлялись каждые 100 мс в общем контексте плеера, вызывая перерисовку панелей управления, шапки и визуализатора 10 раз в секунду.
    • Создан изолированный легковесный контекст LiveStateContext (useLiveState()), благодаря чему интерфейс плеера теперь находится в абсолютном покое во время просмотра видео.
  • Троттлинг опроса DOM-дерева:
    • Обработка активности курсора мыши (mousemove) переведена на 120-мс троттлинг. Это устранило сотни вызовов .closest() и querySelector() в секунду на высокогерцовых игровых мышах (до 1000 Гц), предотвратив микрофризы интерфейса.
  • Высокоскоростное БПФ (Rust / WASAPI Loopback):
    • Алгоритм 1024-точечного быстрого преобразования Фурье (Radix-2 FFT) оптимизирован: поворотные коэффициенты вынесены из внутреннего цикла бабочек.
    • Внедрены статические предрасчитанные таблицы битовой перестановки (bit_rev) и оконной функции Ханна (hann_window), что полностью исключило сотни тысяч ресурсоемких тригонометрических вычислений .cos() и побитовых сдвигов в секунду в фоновом аудиопотоке.

⌨️ Новые горячие клавиши и улучшенное меню

  • В реестр хоткеев и окно настроек добавлены новые удобные комбинации по умолчанию:
    • C — Быстрое открытие панели навигации по главам видео (Chapters).
    • F2 — Мгновенный вызов окна Настроек.
    • W — Включение / отключение аудио-визуализатора на лету.
    • Shift + W — Быстрая циклическая смена стиля визуализатора прямо во время просмотра с красивым OSD-уведомлением.
    • Alt + R — Поворот видео на 90 градусов.
  • В контекстное меню (ПКМ) добавлен пункт «Главы (Chapters)...» с отображением шортката C и подсказка горячей клавиши F2 для «Настройки...».

🛠️ Исправления и улучшения интерфейса (Bug Fixes & Polish)

  • MediaInfo из контекстного меню: окно подробных свойств файла теперь всегда открывается в независимом многооконном режиме ОС Windows независимо от того, включен ли параметр «Режим нескольких окон» в настройках.
  • Анимация кнопки закрытия: устранено вращение иконки крестика при наведении в шапке окна, интерфейс сохраняет строгий и выверенный вид.
  • Документация: актуализированы README.md и PROJECT_KNOWLEDGE.md (актуализировано дерево проекта, реестр хоткеев и список всех 74 IPC-команд).