A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
1use rockbox_search::artist::Artist;
2use rockbox_search::file::File;
3use rockbox_search::liked_album::LikedAlbum;
4use rockbox_search::liked_track::LikedTrack;
5use rockbox_search::{album::Album, track::Track};
6use serde::{Deserialize, Serialize};
7
8pub mod device;
9
10#[derive(Debug, Serialize, Deserialize)]
11pub struct NewPlaylist {
12 pub name: Option<String>,
13 pub tracks: Vec<String>,
14}
15
16#[derive(Debug, Serialize, Deserialize)]
17pub struct InsertTracks {
18 pub position: i32,
19 pub tracks: Vec<String>,
20 pub directory: Option<String>,
21 pub shuffle: Option<bool>,
22}
23
24#[derive(Debug, Serialize, Deserialize)]
25pub struct LoadTracks {
26 pub tracks: Vec<String>,
27 pub directory: Option<String>,
28 pub album_id: Option<String>,
29 pub shuffle: Option<bool>,
30}
31
32#[derive(Debug, Serialize, Deserialize)]
33pub struct NewVolume {
34 pub steps: i32,
35}
36
37#[derive(Debug, Serialize, Deserialize)]
38pub struct DeleteTracks {
39 pub positions: Vec<i32>,
40}
41
42#[derive(Debug, Serialize, Deserialize)]
43pub struct StatusCode {
44 pub code: i32,
45}
46
47#[derive(Default, Serialize, Deserialize)]
48pub struct SearchResults {
49 pub artists: Vec<Artist>,
50 pub albums: Vec<Album>,
51 pub tracks: Vec<Track>,
52 pub liked_tracks: Vec<LikedTrack>,
53 pub liked_albums: Vec<LikedAlbum>,
54 pub files: Vec<File>,
55}
56
57#[derive(Default, Serialize, Deserialize)]
58pub struct EqBandSetting {
59 pub cutoff: i32,
60 pub q: i32,
61 pub gain: i32,
62}
63
64#[derive(Default, Serialize, Deserialize)]
65pub struct ReplaygainSettings {
66 pub enabled: bool,
67 pub preamp: i32,
68 pub peak: i32,
69 pub clip: i32,
70}