Skip to content

Commit 01f169e

Browse files
committed
feat(mpris): Add debug logging
1 parent f2985e0 commit 01f169e

File tree

1 file changed

+38
-10
lines changed

1 file changed

+38
-10
lines changed

src/mpris_event_handler.rs

Lines changed: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -577,6 +577,7 @@ impl MprisPlayerService {
577577
///
578578
/// If self.can_go_next is `false`, attempting to call this method should have no effect.
579579
async fn next(&self) {
580+
log::debug!("org.mpris.MediaPlayer2.Player::Next");
580581
if let Some(spirc) = &self.spirc {
581582
let _ = spirc.next();
582583
}
@@ -591,6 +592,7 @@ impl MprisPlayerService {
591592
//
592593
// If `self.can_go_previous` is `false`, attempting to call this method should have no effect.
593594
async fn previous(&self) {
595+
log::debug!("org.mpris.MediaPlayer2.Player::Previous");
594596
if let Some(spirc) = &self.spirc {
595597
let _ = spirc.prev();
596598
}
@@ -604,6 +606,7 @@ impl MprisPlayerService {
604606
//
605607
// If `self.can_pause` is `false`, attempting to call this method should have no effect.
606608
async fn pause(&self) {
609+
debug!("org.mpris.MediaPlayer2.Player::Pause");
607610
// FIXME: This should return an error if can_pause is false
608611
if let Some(spirc) = &self.spirc {
609612
let _ = spirc.pause();
@@ -619,6 +622,7 @@ impl MprisPlayerService {
619622
// If `self.can_pause` is `false`, attempting to call this method should have no effect and
620623
// raise an error.
621624
async fn play_pause(&self) {
625+
debug!("org.mpris.MediaPlayer2.Player::PlayPause");
622626
// FIXME: This should return an error if can_pause is false
623627
if let Some(spirc) = &self.spirc {
624628
let _ = spirc.play_pause();
@@ -635,6 +639,7 @@ impl MprisPlayerService {
635639
// If `CanControl` is `false`, attempting to call this method should have no effect and raise
636640
// an error.
637641
async fn stop(&self) {
642+
debug!("org.mpris.MediaPlayer2.Player::Stop");
638643
// FIXME: This should return an error if can_control is false
639644
if let Some(spirc) = &self.spirc {
640645
let _ = spirc.pause();
@@ -652,6 +657,7 @@ impl MprisPlayerService {
652657
//
653658
// If `self.can_play` is `false`, attempting to call this method should have no effect.
654659
async fn play(&self) {
660+
debug!("org.mpris.MediaPlayer2.Player::Play");
655661
if let Some(spirc) = &self.spirc {
656662
let _ = spirc.activate();
657663
let _ = spirc.play();
@@ -672,6 +678,7 @@ impl MprisPlayerService {
672678
//
673679
// * `offset`: The number of microseconds to seek forward.
674680
async fn seek(&self, offset: TimeInUs) {
681+
debug!("org.mpris.MediaPlayer2.Player::Seek({offset:?})");
675682
if let Some(spirc) = &self.spirc {
676683
let _ = spirc.seek_offset((offset / 1000) as i32);
677684
}
@@ -699,7 +706,8 @@ impl MprisPlayerService {
699706
// `/org/mpris/MediaPlayer2/TrackList/NoTrack` is _not_ a valid value for this
700707
// argument.
701708
// * `position`: Track position in microseconds. This must be between 0 and `track_length`.
702-
async fn set_position(&self, _track_id: zbus::zvariant::ObjectPath<'_>, position: TimeInUs) {
709+
async fn set_position(&self, track_id: zbus::zvariant::ObjectPath<'_>, position: TimeInUs) {
710+
debug!("org.mpris.MediaPlayer2.Player::SetPosition({track_id:?}, {position:?})");
703711
// FIXME: handle track_id
704712
if position < 0 {
705713
return;
@@ -730,7 +738,8 @@ impl MprisPlayerService {
730738
// * `uri`: Uri of the track to load. Its uri scheme should be an element of the
731739
// `org.mpris.MediaPlayer2.SupportedUriSchemes` property and the mime-type should
732740
// match one of the elements of the `org.mpris.MediaPlayer2.SupportedMimeTypes`.
733-
async fn open_uri(&self, _uri: &str) -> zbus::fdo::Result<()> {
741+
async fn open_uri(&self, uri: &str) -> zbus::fdo::Result<()> {
742+
debug!("org.mpris.MediaPlayer2.Player::OpenUri({uri:?})");
734743
Err(zbus::fdo::Error::NotSupported(
735744
"OpenUri not supported".to_owned(),
736745
))
@@ -741,6 +750,7 @@ impl MprisPlayerService {
741750
// May be "Playing", "Paused" or "Stopped".
742751
#[zbus(property(emits_changed_signal = "true"))]
743752
async fn playback_status(&self) -> PlaybackStatus {
753+
debug!("org.mpris.MediaPlayer2.Player::PlaybackStatus");
744754
self.playback_status
745755
}
746756

@@ -756,11 +766,13 @@ impl MprisPlayerService {
756766
//
757767
#[zbus(property(emits_changed_signal = "true"))]
758768
async fn loop_status(&self) -> LoopStatus {
769+
debug!("org.mpris.MediaPlayer2.Player::LoopStatus");
759770
self.repeat
760771
}
761772

762773
#[zbus(property)]
763774
async fn set_loop_status(&mut self, value: LoopStatus) -> zbus::fdo::Result<()> {
775+
debug!("org.mpris.MediaPlayer2.Player::LoopStatus({value:?})");
764776
match value {
765777
LoopStatus::None => {
766778
if let Some(spirc) = &self.spirc {
@@ -806,11 +818,13 @@ impl MprisPlayerService {
806818
// position.
807819
#[zbus(property(emits_changed_signal = "true"))]
808820
async fn rate(&self) -> PlaybackRate {
821+
debug!("org.mpris.MediaPlayer2.Player::Rate");
809822
1.0
810823
}
811824

812825
#[zbus(property)]
813-
async fn set_rate(&mut self, _value: PlaybackRate) {
826+
async fn set_rate(&mut self, value: PlaybackRate) {
827+
debug!("org.mpris.MediaPlayer2.Player::Rate({value:?})");
814828
// ignore
815829
}
816830

@@ -822,11 +836,13 @@ impl MprisPlayerService {
822836
//
823837
#[zbus(property(emits_changed_signal = "true"))]
824838
async fn shuffle(&self) -> bool {
839+
debug!("org.mpris.MediaPlayer2.Player::Shuffle");
825840
self.shuffle
826841
}
827842

828843
#[zbus(property)]
829844
async fn set_shuffle(&mut self, value: bool) {
845+
debug!("org.mpris.MediaPlayer2.Player::Shuffle({value:?})");
830846
if let Some(spirc) = &self.spirc {
831847
let _ = spirc.shuffle(value);
832848
}
@@ -842,6 +858,7 @@ impl MprisPlayerService {
842858
async fn metadata(
843859
&self,
844860
) -> zbus::fdo::Result<std::collections::HashMap<String, zbus::zvariant::OwnedValue>> {
861+
debug!("org.mpris.MediaPlayer2.Player::Metadata");
845862
self.metadata
846863
.clone()
847864
.try_into()
@@ -856,11 +873,13 @@ impl MprisPlayerService {
856873
// an error.
857874
#[zbus(property(emits_changed_signal = "true"))]
858875
async fn volume(&self) -> Volume {
876+
debug!("org.mpris.MediaPlayer2.Player::Volume");
859877
self.volume as f64 / u16::MAX as f64
860878
}
861879

862880
#[zbus(property)]
863881
async fn set_volume(&mut self, value: Volume) -> zbus::fdo::Result<()> {
882+
debug!("org.mpris.MediaPlayer2.Player::Volume({value})");
864883
if let Some(spirc) = &self.spirc {
865884
// As of rust 1.45, cast is guaranteed to round to 0 and saturate.
866885
// MPRIS volume is expected to range between 0 and 1, see
@@ -884,6 +903,7 @@ impl MprisPlayerService {
884903
// `Seeked` signal is emited.
885904
#[zbus(property(emits_changed_signal = "false"))]
886905
async fn position(&self) -> zbus::fdo::Result<TimeInUs> {
906+
debug!("org.mpris.MediaPlayer2.Player::Position");
887907
// todo!("fetch up-to-date position from player")
888908
Ok(0)
889909
}
@@ -897,6 +917,7 @@ impl MprisPlayerService {
897917
// This value should always be 1.0 or less.
898918
#[zbus(property(emits_changed_signal = "true"))]
899919
async fn minimum_rate(&self) -> PlaybackRate {
920+
debug!("org.mpris.MediaPlayer2.Player::MinimumRate");
900921
// Setting minimum and maximum rate to 1 disallow client to set rate.
901922
1.0
902923
}
@@ -907,6 +928,7 @@ impl MprisPlayerService {
907928
// This value should always be 1.0 or greater.
908929
#[zbus(property(emits_changed_signal = "true"))]
909930
async fn maximum_rate(&self) -> PlaybackRate {
931+
debug!("org.mpris.MediaPlayer2.Player::MaximumRate");
910932
// Setting minimum and maximum rate to 1 disallow client to set rate.
911933
1.0
912934
}
@@ -925,6 +947,7 @@ impl MprisPlayerService {
925947
// always be a next track to move to.
926948
#[zbus(property(emits_changed_signal = "true"))]
927949
async fn can_go_next(&self) -> bool {
950+
debug!("org.mpris.MediaPlayer2.Player::CanGoNext");
928951
true
929952
}
930953

@@ -942,6 +965,7 @@ impl MprisPlayerService {
942965
// always be a next previous to move to.
943966
#[zbus(property(emits_changed_signal = "true"))]
944967
async fn can_go_previous(&self) -> bool {
968+
debug!("org.mpris.MediaPlayer2.Player::CanGoPrevious");
945969
true
946970
}
947971

@@ -960,6 +984,7 @@ impl MprisPlayerService {
960984
// "current track".
961985
#[zbus(property(emits_changed_signal = "true"))]
962986
async fn can_play(&self) -> bool {
987+
debug!("org.mpris.MediaPlayer2.Player::CanPlay");
963988
self.metadata.mpris.track_id.is_some()
964989
}
965990

@@ -978,6 +1003,7 @@ impl MprisPlayerService {
9781003
// streamed media, for example.
9791004
#[zbus(property(emits_changed_signal = "true"))]
9801005
async fn can_pause(&self) -> bool {
1006+
debug!("org.mpris.MediaPlayer2.Player::CanPause");
9811007
self.metadata.mpris.track_id.is_some()
9821008
}
9831009

@@ -992,6 +1018,7 @@ impl MprisPlayerService {
9921018
// playing some streamed media, for example.
9931019
#[zbus(property(emits_changed_signal = "true"))]
9941020
async fn can_seek(&self) -> bool {
1021+
debug!("org.mpris.MediaPlayer2.Player::CanSeek");
9951022
true
9961023
}
9971024

@@ -1010,6 +1037,7 @@ impl MprisPlayerService {
10101037
// advance of attempting to call methods and write to properties.
10111038
#[zbus(property(emits_changed_signal = "const"))]
10121039
async fn can_control(&self) -> bool {
1040+
debug!("org.mpris.MediaPlayer2.Player::CanControl");
10131041
true
10141042
}
10151043

@@ -1095,7 +1123,7 @@ impl MprisEventHandler {
10951123
Err(zbus::Error::NameTaken) => {
10961124
let pid_name =
10971125
format!("org.mpris.MediaPlayer2.librespot.instance{}", process::id());
1098-
log::warn!("MPRIS: zbus name taken, trying with pid specific name: {pid_name}");
1126+
warn!("zbus name taken, trying with pid specific name: {pid_name}");
10991127

11001128
Self::connection_builder(name, &pid_name)?.build().await
11011129
}
@@ -1216,7 +1244,7 @@ impl MprisTask {
12161244
if meta.mpris.track_id.as_ref() != Some(&track_id) {
12171245
*meta = Metadata::default();
12181246
meta.mpris.track_id = Some(track_id);
1219-
// TODO: Fetch all metadata from AudioItem
1247+
warn!("Missed TrackChanged event, metadata missing");
12201248
iface.metadata_changed(iface_ref.signal_context()).await?;
12211249
}
12221250

@@ -1238,7 +1266,7 @@ impl MprisTask {
12381266
if meta.mpris.track_id.as_ref() != Some(&track_id) {
12391267
*meta = Metadata::default();
12401268
meta.mpris.track_id = Some(track_id);
1241-
// TODO: Fetch all metadata from AudioItem
1269+
warn!("Missed TrackChanged event, metadata missing");
12421270
iface.metadata_changed(iface_ref.signal_context()).await?;
12431271
}
12441272

@@ -1260,7 +1288,7 @@ impl MprisTask {
12601288
if meta.mpris.track_id.as_ref() != Some(&track_id) {
12611289
*meta = Metadata::default();
12621290
meta.mpris.track_id = Some(track_id);
1263-
// TODO: Fetch all metadata from AudioItem
1291+
warn!("Missed TrackChanged event, metadata missing");
12641292
iface.metadata_changed(iface_ref.signal_context()).await?;
12651293
}
12661294

@@ -1300,7 +1328,7 @@ impl MprisTask {
13001328
if meta.mpris.track_id.as_ref() != Some(&track_id) {
13011329
*meta = Metadata::default();
13021330
meta.mpris.track_id = Some(track_id);
1303-
// TODO: Fetch all metadata from AudioItem
1331+
warn!("Missed TrackChanged event, metadata missing");
13041332
iface.metadata_changed(iface_ref.signal_context()).await?;
13051333
}
13061334
}
@@ -1316,7 +1344,7 @@ impl MprisTask {
13161344
if meta.mpris.track_id.as_ref() != Some(&track_id) {
13171345
*meta = Metadata::default();
13181346
meta.mpris.track_id = Some(track_id);
1319-
// TODO: Fetch all metadata from AudioItem
1347+
warn!("Missed TrackChanged event, metadata missing");
13201348
iface.metadata_changed(iface_ref.signal_context()).await?;
13211349
}
13221350
}
@@ -1328,7 +1356,7 @@ impl MprisTask {
13281356
if meta.mpris.track_id.as_ref() != Some(&track_id) {
13291357
*meta = Metadata::default();
13301358
meta.mpris.track_id = Some(track_id);
1331-
// TODO: Fetch all metadata from AudioItem
1359+
warn!("Missed TrackChanged event, metadata missing");
13321360
iface.metadata_changed(iface_ref.signal_context()).await?;
13331361
}
13341362
}

0 commit comments

Comments
 (0)