banshee:我如何通过DBus设置女妖特定曲目的评分?

问题描述:

我想通过DBus界面在Banshee上设置特定曲目(即不仅是当前播放的曲目)的'评分'?banshee:我如何通过DBus设置女妖特定曲目的评分?

Banshee不通过DBus公开评分函数。

您可以使用像d-feet [1]这样的应用程序快速查看它公开的所有功能。确保您感兴趣的应用程序实例(如本例中的Banshee)正在运行。

有一个错误报告已经要求添加额定功能[2] DBus接口。您可能想要订阅它。

  1. https://fedorahosted.org/d-feet/
  2. https://bugzilla.gnome.org/show_bug.cgi?id=579754
+0

感谢您的d-feet链接! – jldupont 2009-10-13 15:19:42

+0

引用的bug在Banshee 1.5.3中修复。 – 2010-02-12 16:54:17

女妖通过去年以来的命令行不支持评级。

banshee --set-rating={1;2;3;4;5} 

更多选项查看错误报告: Add item rating to DBus interface

可悲的是开发商还没有实现一个GET方法,所以执行“利率当前曲目1星级向上/向下”没有共同的办法 - 命令,远不及特定的轨道。 有没有人编写过提供此功能的脚本? 但是,我还没有找到任何解决方案通过命令行修改D-Bus属性。 最后,这里是我对当前播放曲目进行评分的解决方法。

#!/bin/bash 

#read current TrackRating 
R=$(qdbus org.mpris.MediaPlayer2.banshee /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get org.mpris.MediaPlayer2.Player Metadata | grep 'userRating' | tr -d '/xesam:userRating: ') 

case $R in 
'') R=0 ;; 
'0.2') R=1 ;; 
'0.4') R=2 ;; 
'0.6') R=3 ;; 
'0.8') R=4 ;; 
'1' ) R=5 ;; 
esac 

case $1 in 
'inc') [ $R -lt 5 ] 
      banshee --set-rating=$(($R+1)) ;; 
'dec') [ $R -gt 0 ] 
      banshee --set-rating=$(($R-1)) ;; 
'res') banshee --set-rating=3 ;; 
'min') banshee --set-rating=0 ;; 
'max') banshee --set-rating=5 ;; 
esac 

选项:

  • INC - >增加等级的,如果可能的
  • 月 - >降低等级的,如果可能的
  • 资源 - >复位评级为三颗星
  • min - >将评分设为零星
  • max - >将评分设为五星

至于Banshee不会提供特定曲目的操纵数据,这是我最好的选择。