Есть ли в RhythmBox какой-либо интерфейс командной строки или метод межпроцессного взаимодействия?

21

Мне бы очень хотелось общаться с Rhythmbox с веб-сервером, чтобы я мог удаленно менять музыку, воспроизводимую на моем смартфоне. Существует ли интерфейс командной строки для rhythmbox для выполнения следующих действий (вымышленных) команд?

rhythmbox next
rhythmbox shuffle=false
rhythmbox change album='Dark Side of the Moon' artist='Pink Floyd' song='Time' 

Есть ли сокет или интерфейс для передачи сообщений? Существуют ли какие-либо программы-заменители, которые могли бы выполнить работу, например, Banshee или какой-либо другой тип сервера?

Атан Кларк
источник
Возможный дубликат? askubuntu.com/questions/21494/…
fossfreedom
Возможный дубликат? askubuntu.com/questions/150790/…
fossfreedom
2
@foss нет, ни один из вопросов не имеет такого же ответа, как Геппетос.
Брайам

Ответы:

16

По сути, краткий ответ «Да», и дополнением к такому ответу будет «Используйте rhythmbox-clientкоманду из терминала для управления текущим запущенным Rhythmbox, если он еще не загружен, первый экземпляр ваших команд вызовет его».

Например: rhythmbox-client --playтекущий сеанс Rhythmbox запустит воспроизведение текущей песни (или первой песни в списке). Если Rhythmbox закрыт, он сначала откроет его, чтобы начать играть.

Дополнительную информацию о rhythmbox-clientи его использовании можно найти на странице руководства клиента rhythmbox . Я размещаю здесь часть справочной страницы только для справки.

NAME
       rhythmbox-client - controls a running instance of rhythmbox

SYNOPSIS
       rhythmbox-client [option...][file...]

DESCRIPTION
       rhythmbox-client  is a tool for controlling an already running instance
       of  rhythmbox.   It's  useful  for  remote  control  scripting,  adding
       specific  files  to  the library from the shell, or printing details of
       what's playing. It also has an interactive mode, useful for controlling
       playback  remotely  via  ssh.  Any  files  specified  after  the option
       arguments will be added to the library.  If  the  --enqueue  option  is
       given, the files will also be added to the play queue.

OPTIONS
       -?,--help
              Show help options

       --debug
              Enable debug output

       --no-start
              Do not start a new instance of rhythmbox

       --quit Quit rhythmbox

       -i,--interactive
              Start  interactive  mode  --no-present Don't present an existing
              rhythmbox window

       --next Jump to next song

       --previous
              Jump to previous song

       --play Resume playback if currently paused

       --pause
              Pause playback if currently playing

       --play-pause
              Toggle play/pause mode

       --stop Stop playback if currently playing

       --play-uri=URI
              Play a specified URI, importing it if necessary

       --enqueue
              Add specified tracks already in the library to the play queue

       --clear-queue
              Empty the play queue before adding new tracks

       --print-playing
              Print the title and artist of the playing song

       --print-playing-format=format
              Print formatted details of the song (see FORMAT OPTIONS below).

       --set-volume
              Set the playback volume

       --volume-up
              Increase the playback volume

       --volume-down
              Decrease the playback volume

       --print-volume
              Print the current playback volume

       --select-source=URI
              Select the source corresponding to a URI (device or mount point)

       --activate-source=URI
              Select the source corresponding to a URI (device or mount point)
              and start playing from it if not already playing.

       --play-source=URI
              Select the source corresponding to a URI (device or mount point)
              and start playing from it.

FORMAT OPTIONS
       %at    album title

       %aa    album artist

       %aA    album artist (lowercase)

       %as    album artist sortname

       %aS    album artist sortname (lowercase)

       %ay    album year

       %ag    album genre

       %aG    album genre (lowercase)

       %an    album disc number

       %aN    album disc number, zero padded

       %st    stream title

       %tn    track number (i.e 8)

       %tN    track number, zero padded (i.e 08)

       %tt    track title

       %ta    track artist

       %tA    track artist (lowercase)

       %ts    track artist sortname

       %tS    track artist sortname (lowercase)

       %td    track duration

       %te    track elapsed time

       Variables can be combined using quotes. For example "%tn %aa %tt", will
       print  the  track  number  followed  by the artist and the title of the
       track.

AUTHOR
       This manual page was written by Sven Arvidsson  <sa@whiz.se>,  for  the
       Debian system (but may be used by others).

редактировать

Я заинтересовался этим вопросом, поэтому я выполнил тест с помощью следующей команды:

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Seek int64:60000000

Из оригинального ответа, размещенного прямо здесь. Который действительно работает для задачи поиска текущей воспроизводимой песни (на основе комментария автора).

Удачи!

Geppettvs D'Constanzo
источник
Потрясающие! Это избавляет меня от головной боли. Вы знаете, есть ли --seekвозможность? Это не включает его в справочные страницы.
Атан Кларк
К сожалению, возможности rhythmbox-client ограничены. Я добавил детали к этому ответу для вашего удобства.
Geppettvs D'Constanzo
Посмотрите на этот ответ: unix.stackexchange.com/a/75680 , предыдущая опция --seek, кажется, устарела, но, похоже, есть другое решение. Пожалуйста, дайте нам знать, если вам это удастся. Спасибо.
Geppettvs D'Constanzo
О, хорошо ... Я бросил еще одну правку для вас. Удачи!
Geppettvs D'Constanzo
Оказывается, у Banshee есть возможность запрашивать текущую информацию об игроке (например, воспроизведение дорожки, положение курсора, состояние игрока и т. Д.) И управлять воспроизведением! banshee --helpвсе это! Спасибо за вашу помощь, хотя, я надеюсь, у вас есть отличный день!
Атан Кларк