87 lines
2.4 KiB
Markdown
87 lines
2.4 KiB
Markdown
# features
|
||
|
||
## frontend
|
||
|
||
- Ribbon menu
|
||
- [x] Show mpd connection state
|
||
- [ ] Display config dialog (is this even needed?)
|
||
- [x] `Update DB` button
|
||
- [x] Disable if running update is detected
|
||
- [x] `Previous Track` button
|
||
- [x] `Next Track` button
|
||
- [x] `Stop` button
|
||
- [x] `Play` button
|
||
- [x] `Pause` button
|
||
- [x] Track seeker
|
||
- [x] `Repeat` toggle
|
||
- [x] `Shuffle` toggle
|
||
- [ ] xfade
|
||
- [ ] decrease
|
||
- [ ] increase
|
||
- [x] Volume
|
||
- [x] increase
|
||
- [x] decrease
|
||
- [x] set with bar
|
||
- [x] `Now playing`
|
||
- [x] shows current track
|
||
- [x] marquee effect
|
||
- [x] `Time`
|
||
- Queue
|
||
- [x] Show queue
|
||
- [x] Highlight current track
|
||
- [ ] Move track up
|
||
- [ ] Move track down
|
||
- [ ] Remove track
|
||
- [ ] `Clear queue` button?
|
||
- File browser
|
||
- [ ] List all directories
|
||
- [ ] Selected folder has different icon (📂 vs 📁)
|
||
- [ ] Folders with subfolders have a ➕ or ➖ sign
|
||
- [ ] Clicked folders contents are displayed in the results
|
||
- [ ] Select tracks in results
|
||
- [ ] `Add` selected tracks to queue button
|
||
- Search
|
||
- [ ] Search files results
|
||
- [ ] Select tracks in results
|
||
- [ ] `Add` selected tracks to queue button
|
||
- Playlist browser
|
||
- [x] Show current playlists
|
||
- [x] `Replace` current queue with playlist button
|
||
- [x] `Attach` playlist to current queue button
|
||
- [x] `Save` current queue as playlist button
|
||
- [x] Show dialog
|
||
- [x] `Delete` selected playlist button
|
||
|
||
## backend
|
||
|
||
- Websocket
|
||
- [x] `#status` requests mpd infos:
|
||
- `status`
|
||
- `currentsong`
|
||
- `playlistinfo` (queue)
|
||
- [ ] `#download` requests download of URL (`yt-dlp`)
|
||
- *TBA*
|
||
- API endpoints
|
||
- [x] GET `/api/update_db`
|
||
- [x] GET `/api/previous_track`
|
||
- [x] GET `/api/next_track`
|
||
- [x] GET `/api/stop`
|
||
- [x] GET `/api/play`
|
||
- [x] GET `/api/pause`
|
||
- [x] GET `/api/seek/:seconds`
|
||
- [x] GET `/api/repeat`
|
||
- [x] GET `/api/random`
|
||
- [x] GET `/api/volume/:level`
|
||
- [ ] `/api/xfade/:seconds`
|
||
- [ ] `/api/queue_clear`
|
||
- [ ] POST `/api/queue` `{"song_id": 123}`
|
||
- [x] GET `/api/queue/:song_id/delete`
|
||
- [x] GET `/api/queue/:song_id/move/:position`
|
||
- [x] GET `/api/queue/replace/:playlist_name`
|
||
- [x] GET `/api/queue/attach/:playlist_name`
|
||
- [ ] GET `/api/database/:path`
|
||
- [x] GET `/api/playlists`
|
||
- [x] POST `/api/playlists/:name`
|
||
- [x] GET `/api/playlists/:name`
|
||
- [x] DELETE `/api/playlists/:name`
|