Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

pympris is a Python library used
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)

Source distribution for pympris 1.4
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)

Table of built distributions (wheels) for pympris 1.4
File Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page