moped_shared/
lib.rs

1use serde::{Serialize, Deserialize};
2
3// Rexports
4pub 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}