Implement MPRIS pause and play methods.
Till now we were only using the play_pause method and was enough for most of the usecases, but looks like some mpris clients only use the individual methods. https://specifications.freedesktop.org/mpris-spec/latest/Player_Interface.html#Method:PlayPause Close #115
This commit is contained in:
parent
a113ed049d
commit
68fa547b06
@ -588,7 +588,7 @@ impl PlayerWrapper {
|
||||
fn connect_mpris_buttons(&self, sender: &Sender<Action>) {
|
||||
let weak = Rc::downgrade(self);
|
||||
|
||||
// FIXME: Refference cycle with mpris
|
||||
// FIXME: Reference cycle with mpris
|
||||
let mpris = self.info.mpris.clone();
|
||||
self.info.mpris.connect_play_pause(clone!(weak => move || {
|
||||
let player = match weak.upgrade() {
|
||||
@ -605,6 +605,24 @@ impl PlayerWrapper {
|
||||
}
|
||||
}));
|
||||
|
||||
self.info.mpris.connect_play(clone!(weak => move || {
|
||||
let player = match weak.upgrade() {
|
||||
Some(s) => s,
|
||||
None => return
|
||||
};
|
||||
|
||||
player.play();
|
||||
}));
|
||||
|
||||
self.info.mpris.connect_pause(clone!(weak => move || {
|
||||
let player = match weak.upgrade() {
|
||||
Some(s) => s,
|
||||
None => return
|
||||
};
|
||||
|
||||
player.pause();
|
||||
}));
|
||||
|
||||
self.info.mpris.connect_next(clone!(weak => move || {
|
||||
weak.upgrade().map(|p| p.fast_forward());
|
||||
}));
|
||||
|
||||
Loading…
Reference in New Issue
Block a user