1use serde::{Serialize, Deserialize};
2
3pub use async_mpd::{Status, Track};
5
6#[derive(Serialize, Deserialize, Debug)]
7pub struct PlayQueueGoto {
8 pub id: u32,
9}
10
11#[derive(Copy, Clone, Serialize, Deserialize, Debug)]
12pub enum Action {
13 Play,
14 Pause,
15 Stop,
16 Prev,
17 Next,
18}
19
20#[derive(Serialize, Deserialize, Debug)]
21pub struct PlayControl {
22 pub action: Action,
23}
24
25#[derive(Serialize, Deserialize, Debug)]
26pub struct VolumeControl {
27 pub volume: u32,
28}
29
30#[derive(Serialize, Deserialize, Debug)]
31pub struct PlayerOptions {
32 pub repeat: Option<bool>,
33 pub random: Option<bool>,
34 pub consume: Option<bool>,
35}
36#[derive(Copy, Clone, Serialize, Deserialize, Debug)]
37pub enum LsFilter {
38 File,
39 Dir,
40 Playlist,
41 None,
42}
43
44#[derive(Serialize, Deserialize, Debug)]
45pub struct DatabaseLs {
46 pub path: String,
47 pub filter: LsFilter,
48}
49
50#[derive(Serialize, Deserialize, Debug)]
51pub struct DatabaseLsRes {
52 pub dirs: Vec<String>,
53}
54
55#[derive(Serialize, Deserialize, Debug)]
56pub struct PlayQueueAddPath {
57 pub path: String,
58}