A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
at master 70 lines 1.6 kB view raw
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}