Files
xmplayer/README.md
T
alexandClaude Sonnet 5 ecf52d60c8 docs: README + ВНИМАНИЕ - конфликт со стандартным ftview по .XM/.XMZ
Стандартный ftview сам регистрируется на .XM/.XMZ - те же расширения,
что и xmplay. Таблица "расширение -> плагин" в WC статическая, так что
при совместной установке они конфликтуют. Нужно использовать
переработанную версию ftview (расширения убраны):
https://git.alexkorochinskiy.ru/alex/ftview.git

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-07 12:33:12 +03:00

77 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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](http://sdcc.sourceforge.net/) версии 4.6.0 (зафиксирована в
`build.bat`) и `hex2bin` — оба есть в тулчейне SDK ZX Evolution.
```
build.bat
```
Результат — `xmplay.wmf` в корне проекта.
## Благодарности
Собран на основе `wc_api.lib` из `demyanenko-d/VGMPLAY.WMF` — используется
для доступа к API Wild Commander (окна, вывод текста, клавиатура, ini-параметры).
## Статус
Проверено на реальном железе: воспроизведение, живая статистика,
прогресс-бар, обработка ошибок и управление с клавиатуры.