93 lines
2.3 KiB
Markdown
93 lines
2.3 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
|
||
- [ ] `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
|
||
- [ ] Highlight current track
|
||
- [ ] Move track up
|
||
- [ ] Move track down
|
||
- [ ] Remove track
|
||
- [ ] `Clear queue` button?
|
||
- File browser
|
||
- [ ] List all directories
|
||
- [ ] Open folders have different icon (📂 vs 📁)
|
||
- [ ] Folders with subfolders have a ➕ 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
|
||
- [ ] Show current playlists
|
||
- [ ] `Replace` current queue with playlist button
|
||
- [ ] `Attach` playlist to current queue button
|
||
- [ ] `Save` current queue as playlist button
|
||
- [x] Show dialog
|
||
- [ ] `Delete` selected playlist button
|
||
|
||
## backend
|
||
|
||
- Websocket
|
||
- [ ] `#status` requests mpd infos:
|
||
- `status`
|
||
- `currentsong`
|
||
- `playlistinfo`
|
||
- [ ] `#download` requests download of URL (`yt-dlp`)
|
||
- *TBA*
|
||
- API endpoints
|
||
- [x] `/api/update_db`
|
||
- [x] `/api/previous_track`
|
||
- [x] `/api/next_track`
|
||
- [x] `/api/stop`
|
||
- [x] `/api/play`
|
||
- [ ] `/api/pause`
|
||
- [x] `/api/seek/:seconds`
|
||
- [ ] `/api/repeat`
|
||
- [ ] `/api/random`
|
||
- [x] `/api/volume/:level`
|
||
- [ ] `/api/xfade/:seconds`
|
||
- [ ] `/api/queue_clear`
|
||
- [ ] `/api/queue_add/:songid`
|
||
- [ ] `/api/queue_del/:songid`
|
||
- [ ] `/api/queue_move/:songid/:pos`
|
||
- [ ] `/api/list_database/:path`
|
||
- [ ] `/api/list_playlists`
|
||
- [ ] `/api/save_playlist`
|
||
- [ ] `/api/delete_playlist`
|
||
|
||
|
||
# foo
|
||
|
||
- client: connect websocket
|
||
- server: on_connect: send full state
|
||
- server: subscribe to changes
|
||
- server: on_change: send to client
|
||
|