feat: add phone-style PySide6 desktop player
This commit is contained in:
25
README.md
25
README.md
@@ -1,7 +1,8 @@
|
||||
# MTS Music CLI
|
||||
|
||||
Минимальный клиент для **своего** аккаунта MTS Music: «Моя волна», поиск,
|
||||
избранное, тексты песен, воспроизведение и скачивание в MP3.
|
||||
избранное, тексты песен, воспроизведение и скачивание в MP3. Есть компактный
|
||||
TUI-плеер и настольное Qt-приложение в стиле телефона.
|
||||
|
||||
Внутри используется тот же путь, что и в веб-клиенте: MTS SSO выдаёт
|
||||
OAuth-токен Яндекс.Музыки, дальше запросы идут на `api.music.yandex.net`.
|
||||
@@ -14,6 +15,12 @@ python3 -m venv .venv
|
||||
PLAYWRIGHT_BROWSERS_PATH="$PWD/.playwright" .venv/bin/playwright install chromium
|
||||
```
|
||||
|
||||
Для Qt-приложения дополнительно:
|
||||
|
||||
```bash
|
||||
.venv/bin/pip install -r requirements-qt.txt
|
||||
```
|
||||
|
||||
Всё локальное лежит рядом с проектом:
|
||||
- `.venv/` — зависимости
|
||||
- `.playwright/` — браузер Chromium
|
||||
@@ -63,6 +70,22 @@ PLAYWRIGHT_BROWSERS_PATH="$PWD/.playwright" .venv/bin/playwright install chromiu
|
||||
`SIGSTOP`/`SIGCONT`, а перемотка перезапускает поток с нужной секунды,
|
||||
поэтому отдельный демон не нужен.
|
||||
|
||||
## Qt-приложение
|
||||
|
||||
```bash
|
||||
.venv/bin/python mtsmusic.py qt
|
||||
```
|
||||
|
||||
Отдельное окно в стиле телефона: большая обложка, кнопка play/pause,
|
||||
переключение треков, перемотка, текст песни и избранное. Кнопка «☰» открывает
|
||||
боковую панель с «Моей волной», избранным, историей и поиском.
|
||||
|
||||
Воспроизведение — через `QMediaPlayer`/FFmpeg из PySide6, поэтому работает
|
||||
перемотка и системный звук. Окно можно растягивать, списки прокручиваются,
|
||||
двойной клик по строке запускает трек. Горячие клавиши те же, что в TUI:
|
||||
`Space`, `←`/`→`, `N`/`P`, `L`, `T`, `M`, `F`, `H`, `S`, `W`; `Esc` закрывает
|
||||
меню/экран, `Ctrl+Q` — выход.
|
||||
|
||||
## Команды
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user