Banshee で DBus インターフェイスを介して特定のトラック (つまり、現在再生中のトラックだけでなく) の「評価」を設定したいですか?
3 に答える
Banshee は、昨年からコマンドラインによる評価をサポートしています。
banshee --set-rating={1;2;3;4;5}
その他のオプションについては、バグ レポートを参照してください: DBus インターフェイスに項目評価を追加します。
Banshee は DBus 経由で評価関数を公開しません。
d-feet[1] などのアプリケーションを使用して、公開されているすべての機能をすばやく表示できます。関心のあるアプリケーション (この場合は Banshee など) のインスタンスが実行されていることを確認してください。
レーティング機能[2]を DBus インターフェイスに追加することを要求するバグ レポートが既にあります。あなたはそれを購読したいかもしれません。
残念ながら、開発者はGETメソッドを実装していないため、特定のトラックよりもはるかに少ない「rate current track 1 starup/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つ上げる
- dec->可能であれば評価を1つ下げる
- res->評価を3つ星にリセット
- min->評価を星ゼロに設定
- 最大->評価を5つ星に設定
Bansheeが特定のトラックの操作データを提供しない限り、これが私の最善の策です。