RhythmBox a-t-il une interface de ligne de commande ou une méthode de communication interprocessus?

21

J'aimerais vraiment communiquer avec rhythmbox avec un serveur web pour pouvoir changer à distance la musique jouée depuis mon smartphone. Existe-t-il une interface de ligne de commande pour que rhythmbox fasse des choses comme les commandes (fictives) suivantes?

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

Existe-t-il une socket ou une interface de transmission de messages à la place? Existe-t-il des programmes de substitution qui pourraient faire le travail, comme Banshee ou un autre type de serveur?

Athan Clark
la source
Copie possible? askubuntu.com/questions/21494/…
fossfreedom
Copie possible? askubuntu.com/questions/150790/…
fossfreedom
2
@foss non, aucune des questions n'a une réponse similaire à celle de Geppetos.
Braiam

Réponses:

16

Fondamentalement, la réponse courte est "Oui" et le complément de cette réponse sera "Utilisez la rhythmbox-clientcommande à partir d'un terminal afin de contrôler votre Rhythmbox en cours d'exécution, s'il n'est pas déjà chargé, la première instance de vos commandes l'invoquera."

Dans l'exemple: rhythmbox-client --playfera la session Rhythmbox en cours pour commencer à jouer la chanson en cours (ou la première chanson de la liste). Si Rhythmbox est fermé, il l'ouvrira d'abord pour commencer à jouer.

De plus amples informations sur rhythmbox-clientet son utilisation sont disponibles dans la page de manuel rhythmbox-client . Je place ici une partie de la page de manuel juste pour référence.

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  <[email protected]>,  for  the
       Debian system (but may be used by others).

Éditer

Je me suis intéressé à ce sujet alors j'ai fait un test avec la commande suivante:

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

D'après la réponse originale publiée ici. Ce qui en effet fonctionne pour la tâche de rechercher sur la chanson en cours de lecture, (basé sur le commentaire du demandeur).

Bonne chance!

Geppettvs D'Constanzo
la source
Impressionnant! Cela me sauve tellement de maux de tête. Savez-vous s'il y a une --seekcapacité? Il ne l'inclut pas dans les pages de manuel.
Athan Clark
Malheureusement, les options du client rhythmbox sont limitées. J'ai ajouté les détails à cette réponse pour votre commodité.
Geppettvs D'Constanzo
Jetez un œil à cette réponse: unix.stackexchange.com/a/75680 , l'ancienne option --seek semble avoir été déconseillée mais il semble qu'il existe une autre solution. Veuillez nous informer si vous réussissez. Je vous remercie.
Geppettvs D'Constanzo
Eh bien ... j'ai laissé tomber un autre montage pour vous. Bonne chance!
Geppettvs D'Constanzo
Il s'avère que Banshee a la possibilité à la fois de rechercher des informations sur le joueur actuel (comme la lecture de la piste, la position du curseur, l'état du lecteur, etc.) et de contrôler la lecture! banshee --help'éclate tout! Merci pour votre aide, j'espère que vous passez une excellente journée!
Athan Clark