Mercurial > beefweb_mpris
comparison src/beefweb.rs @ 6:482bd968725f default tip
beefweb: remove unnecessary (de)serialize derives
| author | Paper <paper@tflc.us> |
|---|---|
| date | Mon, 06 Apr 2026 09:54:05 -0400 |
| parents | 26f695129c86 |
| children |
comparison
equal
deleted
inserted
replaced
| 5:8f71820abe71 | 6:482bd968725f |
|---|---|
| 19 */ | 19 */ |
| 20 | 20 |
| 21 /* Fuck off, I don't care. */ | 21 /* Fuck off, I don't care. */ |
| 22 #![allow(nonstandard_style)] | 22 #![allow(nonstandard_style)] |
| 23 | 23 |
| 24 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 24 #[derive(serde::Deserialize, Debug)] |
| 25 pub struct PlayerInfo { | 25 pub struct PlayerInfo { |
| 26 pub name: String, | 26 pub name: String, |
| 27 pub title: String, | 27 pub title: String, |
| 28 pub version: String, | 28 pub version: String, |
| 29 // fuck camel case | 29 // fuck camel case |
| 30 #[serde(rename = "pluginVersion")] | 30 #[serde(rename = "pluginVersion")] |
| 31 pub plugin_version: String, | 31 pub plugin_version: String, |
| 32 } | 32 } |
| 33 | 33 |
| 34 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 34 #[derive(serde::Deserialize, Debug)] |
| 35 pub struct ActiveItemInfo { | 35 pub struct ActiveItemInfo { |
| 36 #[serde(rename = "playlistId")] | 36 #[serde(rename = "playlistId")] |
| 37 pub playlist_id: String, | 37 pub playlist_id: String, |
| 38 #[serde(rename = "playlistIndex")] | 38 #[serde(rename = "playlistIndex")] |
| 39 pub playlist_index: i64, | 39 pub playlist_index: i64, |
| 41 pub position: f64, | 41 pub position: f64, |
| 42 pub duration: f64, | 42 pub duration: f64, |
| 43 pub columns: Vec<String>, | 43 pub columns: Vec<String>, |
| 44 } | 44 } |
| 45 | 45 |
| 46 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 46 #[derive(serde::Deserialize, Debug)] |
| 47 pub enum VolumeType { | 47 pub enum VolumeType { |
| 48 #[serde(rename = "db")] | 48 #[serde(rename = "db")] |
| 49 DB, | 49 DB, |
| 50 #[serde(rename = "linear")] | 50 #[serde(rename = "linear")] |
| 51 LINEAR, | 51 LINEAR, |
| 52 #[serde(rename = "upDown")] | 52 #[serde(rename = "upDown")] |
| 53 UPDOWN, /* ??? */ | 53 UPDOWN, /* ??? */ |
| 54 } | 54 } |
| 55 | 55 |
| 56 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 56 #[derive(serde::Deserialize, Debug)] |
| 57 pub struct VolumeInfo { | 57 pub struct VolumeInfo { |
| 58 pub r#type: VolumeType, | 58 pub r#type: VolumeType, |
| 59 pub min: f64, | 59 pub min: f64, |
| 60 pub max: f64, | 60 pub max: f64, |
| 61 pub value: f64, | 61 pub value: f64, |
| 62 #[serde(rename = "isMuted")] | 62 #[serde(rename = "isMuted")] |
| 63 pub muted: bool, | 63 pub muted: bool, |
| 64 } | 64 } |
| 65 | 65 |
| 66 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 66 #[derive(serde::Deserialize, Debug)] |
| 67 pub struct ApiPermissions { | 67 pub struct ApiPermissions { |
| 68 #[serde(rename = "changePlaylists")] | 68 #[serde(rename = "changePlaylists")] |
| 69 pub change_playlists: bool, | 69 pub change_playlists: bool, |
| 70 #[serde(rename = "changeOutput")] | 70 #[serde(rename = "changeOutput")] |
| 71 pub change_output: bool, | 71 pub change_output: bool, |
| 72 #[serde(rename = "changeClientConfig")] | 72 #[serde(rename = "changeClientConfig")] |
| 73 pub change_client_config: bool, | 73 pub change_client_config: bool, |
| 74 } | 74 } |
| 75 | 75 |
| 76 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 76 #[derive(serde::Deserialize, Debug)] |
| 77 pub enum PlaybackState { | 77 pub enum PlaybackState { |
| 78 #[serde(rename = "stopped")] | 78 #[serde(rename = "stopped")] |
| 79 STOPPED, | 79 STOPPED, |
| 80 #[serde(rename = "playing")] | 80 #[serde(rename = "playing")] |
| 81 PLAYING, | 81 PLAYING, |
| 93 SHUFFLE_TRACKS, | 93 SHUFFLE_TRACKS, |
| 94 SHUFFLE_ALBUMS, | 94 SHUFFLE_ALBUMS, |
| 95 SHUFFLE_FOLDERS, | 95 SHUFFLE_FOLDERS, |
| 96 } | 96 } |
| 97 | 97 |
| 98 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 98 #[derive(serde::Deserialize, Debug)] |
| 99 #[serde(tag = "type")] | 99 #[serde(tag = "type")] |
| 100 pub enum Options { | 100 pub enum Options { |
| 101 #[serde(rename = "enum")] | 101 #[serde(rename = "enum")] |
| 102 Enumeration { | 102 Enumeration { |
| 103 #[serde(rename = "enumNames")] | 103 #[serde(rename = "enumNames")] |
| 112 name: String, | 112 name: String, |
| 113 value: bool, | 113 value: bool, |
| 114 }, | 114 }, |
| 115 } | 115 } |
| 116 | 116 |
| 117 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 117 #[derive(serde::Deserialize, Debug)] |
| 118 pub struct Player { | 118 pub struct Player { |
| 119 pub info: PlayerInfo, | 119 pub info: PlayerInfo, |
| 120 #[serde(rename = "activeItem")] | 120 #[serde(rename = "activeItem")] |
| 121 pub active_item: ActiveItemInfo, | 121 pub active_item: ActiveItemInfo, |
| 122 /* XXX actually an enum */ | 122 /* XXX actually an enum */ |
| 135 #[serde(skip_serializing_if = "Option::is_none")] | 135 #[serde(skip_serializing_if = "Option::is_none")] |
| 136 playbackModes: Option<Vec<String>>, | 136 playbackModes: Option<Vec<String>>, |
| 137 } | 137 } |
| 138 | 138 |
| 139 /* {"player": {struct Player}} */ | 139 /* {"player": {struct Player}} */ |
| 140 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 140 #[derive(serde::Deserialize, Debug)] |
| 141 struct PlayerHelper { | 141 struct PlayerHelper { |
| 142 player: Player, | 142 player: Player, |
| 143 } | 143 } |
| 144 | 144 |
| 145 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 145 #[derive(serde::Serialize, Debug)] |
| 146 #[serde(untagged)] | 146 #[serde(untagged)] |
| 147 enum SetPlayerOption { | 147 enum SetPlayerOption { |
| 148 Integer { id: String, value: i64 }, | 148 Integer { id: String, value: i64 }, |
| 149 Boolean { id: String, value: bool }, | 149 Boolean { id: String, value: bool }, |
| 150 } | 150 } |
| 151 | 151 |
| 152 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 152 #[derive(serde::Serialize, Debug)] |
| 153 #[serde_with::skip_serializing_none] | 153 #[serde_with::skip_serializing_none] |
| 154 struct SetPlayer { | 154 struct SetPlayer { |
| 155 /* dB */ | 155 /* dB */ |
| 156 volume: Option<f64>, | 156 volume: Option<f64>, |
| 157 /* ??? */ | 157 /* ??? */ |
| 164 relative_position: Option<f64>, | 164 relative_position: Option<f64>, |
| 165 /* teehee */ | 165 /* teehee */ |
| 166 options: Option<Vec<SetPlayerOption>>, | 166 options: Option<Vec<SetPlayerOption>>, |
| 167 } | 167 } |
| 168 | 168 |
| 169 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 169 #[derive(serde::Deserialize, Debug)] |
| 170 pub struct PlaylistItem { | 170 pub struct PlaylistItem { |
| 171 pub columns: Vec<String> | 171 pub columns: Vec<String> |
| 172 } | 172 } |
| 173 | 173 |
| 174 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 174 #[derive(serde::Deserialize, Debug)] |
| 175 pub struct PlaylistItems { | 175 pub struct PlaylistItems { |
| 176 pub offset: i64, | 176 pub offset: i64, |
| 177 #[serde(rename = "totalCount")] | 177 #[serde(rename = "totalCount")] |
| 178 pub total_count: i64, | 178 pub total_count: i64, |
| 179 pub items: Vec<PlaylistItem>, | 179 pub items: Vec<PlaylistItem>, |
| 180 } | 180 } |
| 181 | 181 |
| 182 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 182 #[derive(serde::Deserialize, Debug)] |
| 183 struct PlaylistItemsHelper { | 183 struct PlaylistItemsHelper { |
| 184 #[serde(rename = "playlistItems")] | 184 #[serde(rename = "playlistItems")] |
| 185 playlist_items: PlaylistItems, | 185 playlist_items: PlaylistItems, |
| 186 } | 186 } |
| 187 | 187 |
| 188 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 188 #[derive(serde::Deserialize, Debug)] |
| 189 pub struct Playlist { | 189 pub struct Playlist { |
| 190 pub id: String, | 190 pub id: String, |
| 191 pub index: i64, | 191 pub index: i64, |
| 192 pub title: String, | 192 pub title: String, |
| 193 #[serde(rename = "isCurrent")] | 193 #[serde(rename = "isCurrent")] |
| 196 pub item_count: i64, | 196 pub item_count: i64, |
| 197 #[serde(rename = "totalTime")] | 197 #[serde(rename = "totalTime")] |
| 198 pub total_time: f64, | 198 pub total_time: f64, |
| 199 } | 199 } |
| 200 | 200 |
| 201 #[derive(serde::Serialize, serde::Deserialize, Debug)] | 201 #[derive(serde::Deserialize, Debug)] |
| 202 pub struct Playlists { | 202 pub struct Playlists { |
| 203 pub playlists: Vec<Playlist>, | 203 pub playlists: Vec<Playlist>, |
| 204 } | 204 } |
| 205 | 205 |
| 206 /* --- NOW, THE ACTUAL BEEFWEB THING */ | 206 /* --- NOW, THE ACTUAL BEEFWEB THING */ |
