This project has been archived by its maintainers, and is no longer receiving any updates.
to control media players using MPRIS2 interfaces.
Usage
=====
::
import gobject
import dbus
from dbus.mainloop.glib import DBusGMainLoop
import pympris
dbus_loop = DBusGMainLoop()
bus = dbus.SessionBus(mainloop=dbus_loop)
# get unique ids for all available players
players_ids = list(pympris.available_players())
mp = pympris.MediaPlayer(players_ids[1], bus)
# mp.root implements org.mpris.MediaPlayer2 interface
# mp.player implements org.mpris.MediaPlayer2.Player
# mp.track_list implements org.mpris.MediaPlayer2.TrackList
# mp.playlists implements org.mpris.MediaPlayer2.Playlists
# print player Identity
print mp.root.Identity
if mp.root.CanRaise:
mp.root.Raise()
if mp.player.CanPlay and mp.player.CanPause:
mp.player.PlayPause()
mp.player.Volume = mp.player.Volume*2
if mp.player.CanGoNext:
mp.player.Next()
tracks = mp.track_list.Tracks
for track_id in tracks:
print track_id
if len(tracks) > 1:
mp.track_list.RemoveTrack(tracks[-1])
mp.track_list.GoTo(tracks[0])
n = mp.playlists.PlaylistCount
ordering = pympris.PlaylistOrdering.LastPlayDate
playlists = mp.playlists.GetPlaylists(0, n, ordering, reversed=False)
pl_id, pl_name, pl_icon = playlists[-2]
mp.playlists.ActivatePlaylist(pl_id)
# setup signal handlers
def seeked(x):
print(x)
def PlaylistChanged(arg):
print "PlaylistChanged", arg
def TrackMetadataChanged(track_id, metadata):
print "TrackMetadataChanged", track_id, metadata
def TrackListReplaced(tracks, current_track):
print "TrackListReplaced", tracks, current_track
def TrackAdded(metadata, after_track):
print "TrackAdded", metadata, after_track
def TrackRemoved(track_id):
print "TrackRemoved", track_id
mp.player.register_signal_handler('Seeked', seeked)
mp.playlists.register_signal_handler('PlaylistChanged', PlaylistChanged)
mp.track_list.register_signal_handler('TrackMetadataChanged',
TrackMetadataChanged)
mp.track_list.register_signal_handler('TrackListReplaced', TrackListReplaced)
mp.track_list.register_signal_handler('TrackAdded', TrackAdded)
mp.track_list.register_signal_handler('TrackRemoved', TrackRemoved)
loop = gobject.MainLoop()
loop.run()
Metadata
Release files for pympris 1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pympris-1.4.tar.gz | 8.9 kB | Without provenance | Details for pympris-1.4.tar.gz |
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| pympris-1.4-py32-none-any.whl | Python 3.2 | none | any | Details for pympris-1.4-py32-none-any.whl |
| pympris-1.4-py27-none-any.whl | Python 2.7 | none | any | Details for pympris-1.4-py27-none-any.whl |
| pympris-1.4-py3.2.egg | Legacy Egg format | - | - | Details for pympris-1.4-py3.2.egg |
| pympris-1.4-py2.7.egg | Legacy Egg format | - | - | Details for pympris-1.4-py2.7.egg |
Total release size: 94.1 kB
Release files / pympris-1.4.tar.gz
| Download URL | pympris-1.4.tar.gz |
|---|---|
| Size | 8.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
96d3e374da2878dc50c66981aa5f6b978a209d8d99f276546665b62bfd180b02
|
|
BLAKE2b-256 checksum How to use checksums |
8e68ee563db51e657f4479e62e42040555469ba89fddc4c9b7c01ab4dfbe8880
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / pympris-1.4-py32-none-any.whl
| Download URL | pympris-1.4-py32-none-any.whl |
|---|---|
| Size | 14.7 kB |
| Tags | Python 3.2 |
|
SHA-256 checksum How to use checksums |
337992ecdda9bcc8f5dde0695fdb9557545601486039b3b6770da3e0142ca6de
|
|
BLAKE2b-256 checksum How to use checksums |
16f3c7017f103cf6ac15800593c589859f45832b0333375ea9a89bc67945615c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / pympris-1.4-py27-none-any.whl
| Download URL | pympris-1.4-py27-none-any.whl |
|---|---|
| Size | 14.7 kB |
| Tags | Python 2.7 |
|
SHA-256 checksum How to use checksums |
02c521b52eedc197279b96789b55d07076f19ff3eddbf1ab8436c9838f5ed06e
|
|
BLAKE2b-256 checksum How to use checksums |
7a9e854b495bc0577210a0f50c8a396e16f4006c87db8e644cc783cafc6c64d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / pympris-1.4-py3.2.egg
| Download URL | pympris-1.4-py3.2.egg |
|---|---|
| Size | 28.2 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
0c00b32b66e9bbc15886e73e0ff69713b92afd0e3eab7a45ad17699ac7ddd118
|
|
BLAKE2b-256 checksum How to use checksums |
f3df8a6a445b1b4672f23e440c07ba197b162cb76152cb6d7fd7c722a04fd959
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / pympris-1.4-py2.7.egg
| Download URL | pympris-1.4-py2.7.egg |
|---|---|
| Size | 27.7 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
c8f492d0e2747ae670ff59462f4d096a2c3078f82f059afbcc412d58cadc27e1
|
|
BLAKE2b-256 checksum How to use checksums |
b32c0f22d2a47c38bc645aea99e1f545b18bf0d2a32c9513c7634a7162c33a65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for pympris 1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.