Терминальный музыкальный плеер
TDCMPR
Кроссплатформенный терминальный музыкальный плеер на Rust с TUI, локальной медиатекой и интеграцией с Yandex Music.
Обзор
TDCMPR — кроссплатформенный терминальный музыкальный плеер на Rust с полноэкранным TUI-интерфейсом. Проект объединяет локальную медиатеку и Yandex Music, синхронизирует треки, кэширует аудио, обложки и тексты песен и работает как автономный CLI-клиент.
Архитектура
Плеер построен вокруг ratatui и crossterm, использует собственный аудиопайплайн на базе cpal и ffmpeg, хранит метаданные в SQLite и загружает контент через Yandex Music API.
Внутри интерфейса предусмотрены поиск, управление плейлистом, режим лирики, ASCII- и палитровое отображение обложек, FFT-визуализация и встроенная командная строка.
Ключевые особенности
- Спроектирован как desktop-first CLI-плеер с полноценным TUI-сценарием работы.
- Интегрирован с Yandex Music: поиск, синхронизация лайков, загрузка треков, обложек и текстов.
- Имеет собственный аудиомодуль на
ffmpeg+cpalс визуализацией спектра. - Использует локальное хранение и кэширование через SQLite и файловую структуру
content/. - Поддерживает автообновление через отдельный updater-сервис TDCUPD.
- Включает расширяемую внутреннюю командную подсистему.
Стек
Rust, Tokio, Ratatui, Crossterm, FFmpeg, CPAL, Rusqlite, SQLite, Reqwest, Yandex Music API, Rayon, RealFFT.