tangled
alpha
login
or
join now
tsiry-sandratraina.com
/
rockbox-zig
2
fork
atom
A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
2
fork
atom
overview
issues
pulls
pipelines
server: return playlist entries
tsiry-sandratraina.com
2 years ago
b29da434
76662a9a
+13
-10
2 changed files
expand all
collapse all
unified
split
crates
server
src
lib.rs
sys
src
types
playlist_info.rs
+10
-10
crates/server/src/lib.rs
···
94
94
rb::playback::hard_stop();
95
95
}
96
96
"/current_playlist" => {
97
97
-
let playlist = rb::playlist::get_current();
98
98
-
let info = rb::playlist::get_track_info(0);
99
99
-
println!("info: {:?}", info);
100
100
-
let info = rb::playlist::get_track_info(1);
101
101
-
println!("info: {:?}", info);
102
102
-
let info = rb::playlist::get_track_info(2);
103
103
-
println!("info: {:?}", info);
97
97
+
let mut playlist = rb::playlist::get_current();
98
98
+
let mut entries = vec![];
104
99
let amount = rb::playlist::amount();
105
105
-
println!("amount: {}", amount);
106
106
-
let entry = rb::metadata::get_metadata(-1, &info.filename);
107
107
-
println!("entry: {:?}", entry);
100
100
+
101
101
+
for i in 0..amount {
102
102
+
let info = rb::playlist::get_track_info(i);
103
103
+
let entry = rb::metadata::get_metadata(-1, &info.filename);
104
104
+
entries.push(entry);
105
105
+
}
106
106
+
107
107
+
playlist.entries = entries;
108
108
109
109
let response = format!(
110
110
"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{}",
+3
crates/sys/src/types/playlist_info.rs
···
1
1
+
use crate::types::mp3_entry::Mp3Entry;
1
2
use serde::{Deserialize, Serialize};
2
3
3
4
use crate::cast_ptr;
···
22
23
pub filename: String, // char filename[MAX_PATH]
23
24
pub control_filename: String, // char control_filename[sizeof(PLAYLIST_CONTROL_FILE) + 8]
24
25
pub dcfrefs_handle: i32, // int dcfrefs_handle
26
26
+
pub entries: Vec<Mp3Entry>,
25
27
}
26
28
27
29
impl From<crate::PlaylistInfo> for PlaylistInfo {
···
53
55
.into_owned()
54
56
},
55
57
dcfrefs_handle: info.dcfrefs_handle,
58
58
+
entries: vec![],
56
59
}
57
60
}
58
61
}