Я хотел бы установить «рейтинг» определенного трека (т. Е. Не только тот, который сейчас играет) на Banshee через интерфейс DBus?banshee: Как установить рейтинг для определенного трека на Banshee через DBus?
ответ
Banshee не предоставляет функции оценки через DBus.
Вы можете быстро просмотреть все функции, которые он предоставляет, используя приложения типа d-feet [1]. Убедитесь, что экземпляр приложения, которое вас интересует (например, Banshee в этом случае), запущен.
Существует сообщение об ошибке, уже запрашивающем добавить функциональность оценки [2] в интерфейс DBus. Вы можете подписаться на него.
Banshee делает рейтинг поддержки с помощью командной строки с прошлого года.
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
Варианты:
- вкл -> повышение рейтинга на один, если это возможно
- разл -> снижение рейтинга по одному, если это возможно
- Рез -> рейтинг сброса до трех звезд
- мин -> установленный рейтинг до нуля звезды
- max -> установленный рейтинг до пяти звезд
Как далеко Banshee не обеспечит манипулирование данными конкретного трека, это мой лучший выбор.
Спасибо за ссылку d-feet! – jldupont
Исправлена ошибка, указанная в Banshee 1.5.3. –