Compare commits

...

3 commits

Author SHA1 Message Date
f2f6c67383 playlist remove 2024-11-04 12:37:46 +01:00
40612729a1 hm 2024-11-04 12:35:38 +01:00
e262d31261 logging for mpv commands 2024-11-04 12:33:57 +01:00
4 changed files with 14 additions and 9 deletions

View file

@ -103,6 +103,7 @@ impl Handle {
.map(CString::new) .map(CString::new)
.map(Result::unwrap) .map(Result::unwrap)
.collect(); .collect();
event!(Level::DEBUG, "sending command to mpv: {:?}", args);
let mut args: Vec<*const c_char> = args let mut args: Vec<*const c_char> = args
.iter() .iter()
.map(CString::as_c_str) .map(CString::as_c_str)

View file

@ -89,7 +89,7 @@ mod imp {
#[template_callback] #[template_callback]
fn on_row_activated(&self, position: u32) { fn on_row_activated(&self, position: u32) {
self.obj().window().play_index(position as i64); self.obj().window().playlist_play_index(position as i64);
} }
} }

View file

@ -8,8 +8,8 @@ mod imp {
#[template(resource = "/eu/callcc/audrey/play_queue_song.ui")] #[template(resource = "/eu/callcc/audrey/play_queue_song.ui")]
#[properties(wrapper_type = super::Song)] #[properties(wrapper_type = super::Song)]
pub struct Song { pub struct Song {
#[property(get, set = Self::set_playlist_pos)] #[property(type = i64, set = Self::set_playlist_pos)]
playlist_pos: Cell<i64>, _playlist_pos: (),
#[property(set, get)] #[property(set, get)]
draggable: Cell<bool>, draggable: Cell<bool>,
@ -60,13 +60,10 @@ mod imp {
#[weak(rename_to = self_)] #[weak(rename_to = self_)]
self, self,
move |_, _, _| { move |_, _, _| {
/*
self_ self_
.obj() .obj()
.window() .window()
.playbin() .playlist_remove(self_.obj().position() as i64)
.remove_entry(self_.obj().displayed_position() as usize - 1)*/
todo!()
} }
)) ))
.build(); .build();
@ -167,7 +164,6 @@ mod imp {
} }
fn set_playlist_pos(&self, playlist_pos: i64) { fn set_playlist_pos(&self, playlist_pos: i64) {
self.playlist_pos.set(playlist_pos);
self.obj() self.obj()
.set_current(playlist_pos == self.position.get() as i64); .set_current(playlist_pos == self.position.get() as i64);
} }

View file

@ -390,10 +390,18 @@ impl Window {
todo!() todo!()
} }
pub fn play_index(&self, index: i64) { pub fn playlist_play_index(&self, index: i64) {
self.imp() self.imp()
.mpv .mpv
.command(["playlist-play-index", &index.to_string()]) .command(["playlist-play-index", &index.to_string()])
.unwrap(); .unwrap();
} }
pub fn playlist_remove(&self, index: i64) {
self.imp()
.mpv
.command(["playlist-remove", &index.to_string()])
.unwrap();
self.playlist_model().remove(index as u32);
}
} }