Стандартный ftview сам регистрируется на .XM/.XMZ - те же расширения, что и xmplay. Таблица "расширение -> плагин" в WC статическая, так что при совместной установке они конфликтуют. Нужно использовать переработанную версию ftview (расширения убраны): https://git.alexkorochinskiy.ru/alex/ftview.git Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
4.5 KiB
XM Player
Плагин для Wild Commander (ZX Evolution / TS-Conf), проигрывающий XM, XMZ (запакованный gzip'ом XM) и S3M модули через ESP32-сопроцессор платы. Z80 только передаёт файл на ESP32 и отображает окно со статусом; сам разбор модуля и синтез звука выполняет прошивка ESP32.
⚠️ Несовместим со стандартным ftview. Оригинальный (стандартный) плагин
ftviewсам регистрируется на расширения.XMи.XMZ— ровно те же, что и у этого плагина. У Wild Commander таблица "расширение → плагин" статическая, зашита в заголовок при сборке, и если файл поставить вместе со стандартнымftview, они будут конфликтовать за одни и те же расширения. Используйте переработанную версиюftview(расширения.XMи.XMZиз неё убраны, воспроизведение вынесено в этот плагин) — она лежит отдельным репозиторием: https://git.alexkorochinskiy.ru/alex/ftview.git
Требования
- ZX Evolution / TS-Conf с прошитым ESP32-сопроцессором
- Wild Commander (заголовок плагина версии 10+, есть в текущих сборках)
- переработанная версия
ftview(см. предупреждение выше), а не стандартная
Возможности
- Проигрывание
.XM,.XMZ,.S3M - Окно с живым статусом: имя файла, статус загрузки/воспроизведения, паттерн, строка, BPM, прошедшее/общее время, прогресс-бар
- Ошибки выводятся прямо в строке статуса (с кодом ошибки ESP32, например
Playback error (0x90)), без отдельного всплывающего окна - Автоматический переход к следующему файлу по окончании трека
- Параметр
stoponerrorв ini — остановка на ошибке вместо автоперехода, удобно, чтобы найти, какой именно файл в подборке вызывает проблему
Управление
| Клавиша | Действие |
|---|---|
| PgDn, Enter | Следующий файл |
| PgUp | Предыдущий файл |
| Esc | Остановить воспроизведение и выйти |
| Space | Выйти, не останавливая текущее воспроизведение |
Установка
Скопировать xmplay.wmf в каталог плагинов Wild Commander. Плагин сам
регистрируется на расширения .XM, .XMZ и .S3M.
Чтобы при ошибке воспроизведения плагин останавливался, а не переходил
сразу к следующему файлу, добавить в wc.ini:
XMPLAY.WMF -stoponerror=1
(0 или отсутствие параметра — поведение по умолчанию: автопереход при ошибке.)
Сборка
Нужен SDCC версии 4.6.0 (зафиксирована в
build.bat) и hex2bin — оба есть в тулчейне SDK ZX Evolution.
build.bat
Результат — xmplay.wmf в корне проекта.
Благодарности
Собран на основе wc_api.lib из demyanenko-d/VGMPLAY.WMF — используется
для доступа к API Wild Commander (окна, вывод текста, клавиатура, ini-параметры).
Статус
Проверено на реальном железе: воспроизведение, живая статистика, прогресс-бар, обработка ошибок и управление с клавиатуры.