@ubuligan/cli-player
v0.1.0
Published
UBULIGAN — matrix-style terminal music player. Scans your drives for music, plays it with mpv.
Downloads
34
Maintainers
Readme
UBULIGAN
By Javid Salimov
█ █ ████ █ █ █ █████ ████ ███ █ █
█ █ █ █ █ █ █ █ █ █ █ ██ █
█ █ ████ █ █ █ █ █ ██ █████ █ █ █
█ █ █ █ █ █ █ █ █ █ █ █ █ ██
█ █ █ █ █ █ █ █ █ █ █ █ █ █
██ ████ ██ █████ █████ ████ █ █ █ █Matrix-style terminal music player. Ink (React for CLI) ilə qurulub. Bütün disklərinizdəki musiqini tapır, keşləyir, terminaldan idarə etməyə imkan verir.
Xüsusiyyətlər
- Bütün qoşulmuş disklərdə musiqi fayllarını rekursiv skan edir (
.mp3 .flac .wav .ogg .m4a .aac .wma .opus) - Nəticələr
~/.cli-player/index.json-da keşlənir — sonrakı açılışlar sürətli olur - Səhifələnmiş (paginated) trek siyahısı, canlı axtarış
- Play / Pause / Resume / Stop / Next / Prev
- Volume up/down
- Shuffle
- Playlist yaratmaq, saxlamaq, yükləmək, silmək
- Matrix-style yaşıl UI, animasiyalı "rain" effekti
Tələblər
- Node.js ≥ 18
- mpv PATH-da quraşdırılmış olmalıdır (audio backend):
- Windows:
scoop install mpvvə yachoco install mpv - macOS:
brew install mpv - Linux:
sudo apt install mpv(və ya paket meneceriniz)
- Windows:
Quraşdırma
Publish olunduqdan sonra:
npm install -g cli-player
cli-playerLokal inkişaf üçün:
git clone <repo>
cd cli-player
npm install
npm run devSkriptlər
| Komanda | Nə edir |
|---|---|
| npm run dev | tsx ilə birbaşa run (TypeScript, build lazım deyil) |
| npm run build | dist/-ə compile edir (tsc) |
| npm start | compile olunmuş versiyanı run edir (node dist/index.js) |
| npm run typecheck | tip yoxlaması, build etmədən |
CLI seçim: cli-player --clear-cache — keşlənmiş fayl indeksini sıfırlayıb yenidən tam skan edir.
Klaviatura idarəetməsi
| Düymə | Əməliyyat |
|---|---|
| ↑ ↓ | Siyahıda naviqasiya |
| ← → | Səhifə arası |
| Enter | Seçilmiş trekı çal |
| Space | Pause / Resume |
| n / p | Next / Previous |
| + / - | Volume up / down |
| s | Shuffle aç/bağla |
| a | Seçilmiş trekı cari playlist-ə əlavə et |
| Ctrl+S | Cari playlist-i adla saxla |
| Tab | Kitabxana ↔ Playlistlər ekranı |
| / | Axtarış |
| r | Yenidən skan et |
| q | Çıxış |
Memarlıq
Ətraflı memarlıq qeydləri plan.md və CLAUDE.md fayllarında.
Qısaca: src/core/ — UI-dan asılı olmayan biznes məntiqi (scanner, mpv IPC, playlist, keş). src/state/usePlayerStore.ts — React Context vasitəsilə core-u UI-a bağlayır. src/components/ — Ink UI. Audio backend AudioEngine interfeysi arxasında gizlədilib (src/core/audioEngine.ts), hazırkı implementasiya MpvEngine.
Nəşr etmək (npm publish)
npm run build
npm login
npm publishpackage.json-da name sahəsini npm-də mövcud olmayan unikal ada dəyişdirməyi unutmayın.
Bilinən məhdudiyyətlər
- mpv PATH-da olmalıdır, əks halda proqram aydın xəta mesajı göstərir.
- İlk açılışda tam disk skanı vaxt apara bilər; nəticə keşlənir.
- İnteraktiv terminal (TTY) tələb olunur — pipe/redirect edilmiş şəraitdə işləmir.
