1

Banshee で DBus インターフェイスを介して特定のトラック (つまり、現在再生中のトラックだけでなく) の「評価」を設定したいですか?

4

3 に答える 3

2

Banshee は、昨年からコマンドラインによる評価をサポートしています。

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

その他のオプションについては、バグ レポートを参照してください: DBus インターフェイスに項目評価を追加します。

于 2011-08-22T06:52:13.240 に答える
2

Banshee は DBus 経由で評価関数を公開しません。

d-feet[1] などのアプリケーションを使用して、公開されているすべての機能をすばやく表示できます。関心のあるアプリケーション (この場合は Banshee など) のインスタンスが実行されていることを確認してください。

レーティング機能[2]を DBus インターフェイスに追加することを要求するバグ レポートが既にあります。あなたはそれを購読したいかもしれません。

  1. https://fedorahosted.org/d-feet/
  2. https://bugzilla.gnome.org/show_bug.cgi?id=579754
于 2009-10-13T14:54:18.460 に答える
1

残念ながら、開発者は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が特定のトラックの操作データを提供しない限り、これが私の最善の策です。

于 2012-08-08T10:26:46.557 に答える