A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
1use crate::schema::objects::track::Track;
2use async_graphql::*;
3use serde::Serialize;
4
5#[derive(Default, Clone, Serialize)]
6pub struct Playlist {
7 pub amount: i32,
8 pub index: i32,
9 pub max_playlist_size: i32,
10 pub first_index: i32,
11 pub last_insert_pos: i32,
12 pub seed: i32,
13 pub last_shuffled_start: i32,
14 pub tracks: Vec<Track>,
15}
16
17#[Object]
18impl Playlist {
19 async fn amount(&self) -> i32 {
20 self.amount
21 }
22
23 async fn index(&self) -> i32 {
24 self.index
25 }
26
27 async fn max_playlist_size(&self) -> i32 {
28 self.max_playlist_size
29 }
30
31 async fn first_index(&self) -> i32 {
32 self.first_index
33 }
34
35 async fn last_insert_pos(&self) -> i32 {
36 self.last_insert_pos
37 }
38
39 async fn seed(&self) -> i32 {
40 self.seed
41 }
42
43 async fn last_shuffled_start(&self) -> i32 {
44 self.last_shuffled_start
45 }
46
47 async fn tracks(&self) -> &Vec<Track> {
48 &self.tracks
49 }
50}