2024-01-23 12:16:21 +01:00
|
|
|
|
# features
|
2023-12-02 17:53:44 +01:00
|
|
|
|
|
2024-01-23 12:16:21 +01:00
|
|
|
|
## frontend
|
2023-12-02 17:53:44 +01:00
|
|
|
|
|
2024-01-23 12:16:21 +01:00
|
|
|
|
- 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
|
2024-02-25 11:09:44 +01:00
|
|
|
|
- [x] `Previous Track` button
|
|
|
|
|
- [x] `Next Track` button
|
2024-01-23 12:16:21 +01:00
|
|
|
|
- [x] `Stop` button
|
|
|
|
|
- [x] `Play` button
|
2024-02-25 11:09:44 +01:00
|
|
|
|
- [x] `Pause` button
|
2024-01-23 12:16:21 +01:00
|
|
|
|
- [x] Track seeker
|
2024-02-25 11:09:44 +01:00
|
|
|
|
- [x] `Repeat` toggle
|
2024-02-25 21:48:18 +01:00
|
|
|
|
- [x] `Shuffle` toggle
|
2024-01-23 12:16:21 +01:00
|
|
|
|
- [ ] 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
|
2024-04-04 21:23:41 +02:00
|
|
|
|
- [x] Highlight current track
|
2024-01-23 12:16:21 +01:00
|
|
|
|
- [ ] Move track up
|
|
|
|
|
- [ ] Move track down
|
|
|
|
|
- [ ] Remove track
|
|
|
|
|
- [ ] `Clear queue` button?
|
|
|
|
|
- File browser
|
|
|
|
|
- [ ] List all directories
|
2024-04-06 19:27:59 +02:00
|
|
|
|
- [ ] Selected folder has different icon (📂 vs 📁)
|
|
|
|
|
- [ ] Folders with subfolders have a ➕ or ➖ sign
|
2024-01-23 12:16:21 +01:00
|
|
|
|
- [ ] 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
|
2024-04-18 11:46:09 +02:00
|
|
|
|
- [x] Show current playlists
|
|
|
|
|
- [x] `Replace` current queue with playlist button
|
2024-04-18 12:12:52 +02:00
|
|
|
|
- [x] `Attach` playlist to current queue button
|
2024-04-18 15:06:12 +02:00
|
|
|
|
- [x] `Save` current queue as playlist button
|
2024-01-23 12:16:21 +01:00
|
|
|
|
- [x] Show dialog
|
2024-04-18 14:28:37 +02:00
|
|
|
|
- [x] `Delete` selected playlist button
|
2024-01-23 12:16:21 +01:00
|
|
|
|
|
|
|
|
|
## backend
|
2023-12-10 21:33:54 +01:00
|
|
|
|
|
2024-01-23 12:16:21 +01:00
|
|
|
|
- Websocket
|
2024-02-25 21:48:18 +01:00
|
|
|
|
- [x] `#status` requests mpd infos:
|
2024-01-23 12:16:21 +01:00
|
|
|
|
- `status`
|
|
|
|
|
- `currentsong`
|
2024-02-25 21:48:18 +01:00
|
|
|
|
- `playlistinfo` (queue)
|
2024-01-23 12:16:21 +01:00
|
|
|
|
- [ ] `#download` requests download of URL (`yt-dlp`)
|
|
|
|
|
- *TBA*
|
|
|
|
|
- API endpoints
|
2024-04-06 19:27:59 +02:00
|
|
|
|
- [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`
|
2024-01-23 12:16:21 +01:00
|
|
|
|
- [ ] `/api/xfade/:seconds`
|
|
|
|
|
- [ ] `/api/queue_clear`
|
2024-04-06 19:27:59 +02:00
|
|
|
|
- [ ] POST `/api/queue` `{"song_id": 123}`
|
|
|
|
|
- [x] GET `/api/queue/:song_id/delete`
|
|
|
|
|
- [x] GET `/api/queue/:song_id/move/:position`
|
2024-04-18 11:46:09 +02:00
|
|
|
|
- [x] GET `/api/queue/replace/:playlist_name`
|
2024-04-18 12:12:52 +02:00
|
|
|
|
- [x] GET `/api/queue/attach/:playlist_name`
|
2024-04-29 00:14:39 +02:00
|
|
|
|
- [ ] GET `/api/database/:path`
|
2024-04-18 11:46:09 +02:00
|
|
|
|
- [x] GET `/api/playlists`
|
2024-04-18 15:06:12 +02:00
|
|
|
|
- [x] POST `/api/playlists/:name`
|
2024-04-18 11:46:09 +02:00
|
|
|
|
- [x] GET `/api/playlists/:name`
|
2024-04-18 14:28:37 +02:00
|
|
|
|
- [x] DELETE `/api/playlists/:name`
|