Python 女妖:我如何通过DBus设置女妖上特定轨道的等级?
我想通过DBus接口在Banshee上设置特定曲目(即不仅是当前播放的曲目)的“分级”?Banshee不通过DBus公开分级功能 您可以使用d-feet等应用程序快速查看它公开的所有函数[1]。确保您感兴趣的应用程序实例(如本例中的Banshee)正在运行 已经有一个bug报告请求将评级功能[2]添加到DBus接口。你可能想订阅它Python 女妖:我如何通过DBus设置女妖上特定轨道的等级?,python,linux,dbus,banshee,Python,Linux,Dbus,Banshee,我想通过DBus接口在Banshee上设置特定曲目(即不仅是当前播放的曲目)的“分级”?Banshee不通过DBus公开分级功能 您可以使用d-feet等应用程序快速查看它公开的所有函数[1]。确保您感兴趣的应用程序实例(如本例中的Banshee)正在运行 已经有一个bug报告请求将评级功能[2]添加到DBus接口。你可能想订阅它 Banshee不通过DBU公开评级功能 您可以使用d-feet等应用程序快速查看它公开的所有函数[1]。确保您感兴趣的应用程序实例(如本例中的Banshee)正在
Banshee不通过DBU公开评级功能 您可以使用d-feet等应用程序快速查看它公开的所有函数[1]。确保您感兴趣的应用程序实例(如本例中的Banshee)正在运行 已经有一个bug报告请求将评级功能[2]添加到DBus接口。你可能想订阅它
自去年以来,女妖确实支持通过命令行进行评级
banshee --set-rating={1;2;3;4;5}
有关更多选项,请参见错误报告:
自去年以来,女妖确实支持通过命令行进行评级
banshee --set-rating={1;2;3;4;5}
有关更多选项,请参见错误报告:
遗憾的是,开发人员没有实现GET方法,因此没有通用的方法来执行“rate current track 1 star up/down”(速率当前磁道1 star up/down)命令,远低于特定磁道。 是否有人编写了提供此功能的脚本? 然而,我还没有找到任何通过命令行修改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->如果可能,将评级提高1
- 12月->如果可能,将额定值降低一
- res->将评级重置为三星级
- 最小->将额定值设置为零星
- 最大->将评级设置为五星
由于Banshee不会提供特定曲目的操作数据,这是我的最佳选择。遗憾的是,开发人员没有实现GET方法,因此没有通用的方法来执行“rate current Track 1 star up/down”命令,远低于特定曲目。 是否有人编写了提供此功能的脚本? 然而,我还没有找到任何通过命令行修改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->如果可能,将评级提高1
- 12月->如果可能,将额定值降低一
- res->将评级重置为三星级
- 最小->将额定值设置为零星
- 最大->将评级设置为五星
就Banshee不会提供特定轨迹的操纵数据而言,这是我的最佳选择。Banshee 1.5.3中修复了引用的错误。Banshee 1.5.3中修复了引用的错误。