Metadata-Version: 2.1
Name: python-vlc
Version: 3.0.21203
Summary: VLC bindings for python.
Home-page: http://wiki.videolan.org/PythonBinding
Author: Olivier Aubert
Author-email: Olivier Aubert <contact@olivieraubert.net>
Maintainer: Olivier Aubert
Maintainer-email: Olivier Aubert <contact@olivieraubert.net>
License: LGPL-2.1+
Project-URL: Homepage, https://wiki.videolan.org/PythonBinding
Project-URL: Documentation, https://python-vlc.readthedocs.io/en/latest/
Project-URL: Repository, https://github.com/oaubert/python-vlc.git
Project-URL: Alternate repository, https://git.videolan.org/?p=vlc/bindings/python.git;a=summary
Project-URL: Bug Tracker, https://github.com/oaubert/python-vlc/issues
Keywords: vlc,video
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: POSIX :: Other
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia
Classifier: Topic :: Multimedia :: Sound/Audio
Classifier: Topic :: Multimedia :: Video
Description-Content-Type: text/x-rst
License-File: COPYING

Python ctypes-based bindings libvlc
===================================

The bindings use ctypes to directly call the libvlc dynamic lib, and
the code is generated from the include files defining the public
API. The same module should be compatible with various versions of
libvlc 3.*. However, there may be incompatible changes between major
versions.

License
-------

The generated module is licensed, like libvlc, under the GNU Lesser
General Public License 2.1 or later.

Installing the module
---------------------

You can install the module through PyPI:

    pip install python-vlc

Using the module
----------------

Documentation building needs epydoc. An online build is available at
<http://olivieraubert.net/vlc/python-ctypes/>

The module offers two ways of accessing the API - a raw access to all
exported methods, and more convenient wrapper classes.

Using wrapper classes
+++++++++++++++++++++

Most major structures of the libvlc API (Instance, Media, MediaPlayer,
  etc) are wrapped as classes, with shorter method names and some
  adaptations to provide a more pythonic API:

   >>> import vlc
   >>> p=vlc.MediaPlayer('file:///tmp/foo.avi')
   >>> p.play()
   >>> p.get_instance() # returns the corresponding instance

In this case, a default ``vlc.Instance`` will be instanciated and
stored in ``vlc._default_instance``. It will be used to instanciate
the various classes (``Media``, ``MediaList``, ``MediaPlayer``, etc).

You also can use wrapper methods closer to the original libvlc API:

   >>> import vlc
   >>> i=vlc.Instance('--no-audio', '--fullscreen')
   >>> p=i.media_player_new()
   >>> p.audio_get_volume()
   50
   >>> m=i.media_new('file:///tmp/foo.avi')
   >>> m.get_mrl()
   'file:///tmp/foo.avi'
   >>> p.set_media(m)
   >>> p.play()

Using raw access
++++++++++++++++

Libvlc methods are available as attributes of the vlc module (as
  vlc.libvlc_*). Use their docstring (any introspective shell like
  ipython is your friend) to explore them, or refer to the online
  documentation at http://olivieraubert.net/vlc/python-ctypes/

    >>> import vlc
    >>> vlc.libvlc_get_version()
    '3.0.0-rc2 Vetinari'
    >>> e=vlc.VLCException()
    >>> i=vlc.libvlc_new(0, [], e)
    >>> i
    <vlc.Instance object at 0x8384a4c>
    >>> vlc.libvlc_audio_get_volume(i,e)
    50
