forked from openlp/openlp
trunk
This commit is contained in:
commit
d402bf86cb
524
openlp/core/ui/media/vendor/vlc.py
vendored
524
openlp/core/ui/media/vendor/vlc.py
vendored
@ -48,7 +48,7 @@ import sys
|
||||
from inspect import getargspec
|
||||
|
||||
__version__ = "N/A"
|
||||
build_date = "Tue Jul 2 10:35:53 2013"
|
||||
build_date = "Wed Jun 25 13:46:01 2014"
|
||||
|
||||
if sys.version_info[0] > 2:
|
||||
str = str
|
||||
@ -110,7 +110,11 @@ def find_lib():
|
||||
p = find_library('libvlc.dll')
|
||||
if p is None:
|
||||
try: # some registry settings
|
||||
import _winreg as w # leaner than win32api, win32con
|
||||
# leaner than win32api, win32con
|
||||
if PYTHON3:
|
||||
import winreg as w
|
||||
else:
|
||||
import _winreg as w
|
||||
for r in w.HKEY_LOCAL_MACHINE, w.HKEY_CURRENT_USER:
|
||||
try:
|
||||
r = w.OpenKey(r, 'Software\\VideoLAN\\VLC')
|
||||
@ -365,6 +369,7 @@ class EventType(_Enum):
|
||||
3: 'MediaParsedChanged',
|
||||
4: 'MediaFreed',
|
||||
5: 'MediaStateChanged',
|
||||
6: 'MediaSubItemTreeAdded',
|
||||
0x100: 'MediaPlayerMediaChanged',
|
||||
257: 'MediaPlayerNothingSpecial',
|
||||
258: 'MediaPlayerOpening',
|
||||
@ -384,6 +389,7 @@ class EventType(_Enum):
|
||||
272: 'MediaPlayerSnapshotTaken',
|
||||
273: 'MediaPlayerLengthChanged',
|
||||
274: 'MediaPlayerVout',
|
||||
275: 'MediaPlayerScrambledChanged',
|
||||
0x200: 'MediaListItemAdded',
|
||||
513: 'MediaListWillAddItem',
|
||||
514: 'MediaListItemDeleted',
|
||||
@ -439,6 +445,7 @@ EventType.MediaPlayerPausableChanged = EventType(270)
|
||||
EventType.MediaPlayerPaused = EventType(261)
|
||||
EventType.MediaPlayerPlaying = EventType(260)
|
||||
EventType.MediaPlayerPositionChanged = EventType(268)
|
||||
EventType.MediaPlayerScrambledChanged = EventType(275)
|
||||
EventType.MediaPlayerSeekableChanged = EventType(269)
|
||||
EventType.MediaPlayerSnapshotTaken = EventType(272)
|
||||
EventType.MediaPlayerStopped = EventType(262)
|
||||
@ -447,6 +454,7 @@ EventType.MediaPlayerTitleChanged = EventType(271)
|
||||
EventType.MediaPlayerVout = EventType(274)
|
||||
EventType.MediaStateChanged = EventType(5)
|
||||
EventType.MediaSubItemAdded = EventType(1)
|
||||
EventType.MediaSubItemTreeAdded = EventType(6)
|
||||
EventType.VlmMediaAdded = EventType(0x600)
|
||||
EventType.VlmMediaChanged = EventType(1538)
|
||||
EventType.VlmMediaInstanceStarted = EventType(1539)
|
||||
@ -480,23 +488,35 @@ class Meta(_Enum):
|
||||
14: 'EncodedBy',
|
||||
15: 'ArtworkURL',
|
||||
16: 'TrackID',
|
||||
17: 'TrackTotal',
|
||||
18: 'Director',
|
||||
19: 'Season',
|
||||
20: 'Episode',
|
||||
21: 'ShowName',
|
||||
22: 'Actors',
|
||||
}
|
||||
Meta.Actors = Meta(22)
|
||||
Meta.Album = Meta(4)
|
||||
Meta.Artist = Meta(1)
|
||||
Meta.ArtworkURL = Meta(15)
|
||||
Meta.Copyright = Meta(3)
|
||||
Meta.Date = Meta(8)
|
||||
Meta.Description = Meta(6)
|
||||
Meta.Director = Meta(18)
|
||||
Meta.EncodedBy = Meta(14)
|
||||
Meta.Episode = Meta(20)
|
||||
Meta.Genre = Meta(2)
|
||||
Meta.Language = Meta(11)
|
||||
Meta.NowPlaying = Meta(12)
|
||||
Meta.Publisher = Meta(13)
|
||||
Meta.Rating = Meta(7)
|
||||
Meta.Season = Meta(19)
|
||||
Meta.Setting = Meta(9)
|
||||
Meta.ShowName = Meta(21)
|
||||
Meta.Title = Meta(0)
|
||||
Meta.TrackID = Meta(16)
|
||||
Meta.TrackNumber = Meta(5)
|
||||
Meta.TrackTotal = Meta(17)
|
||||
Meta.URL = Meta(10)
|
||||
|
||||
class State(_Enum):
|
||||
@ -594,6 +614,32 @@ NavigateMode.left = NavigateMode(3)
|
||||
NavigateMode.right = NavigateMode(4)
|
||||
NavigateMode.up = NavigateMode(1)
|
||||
|
||||
class Position(_Enum):
|
||||
'''Enumeration of values used to set position (e.g. of video title).
|
||||
'''
|
||||
_enum_names_ = {
|
||||
-1: 'disable',
|
||||
0: 'center',
|
||||
1: 'left',
|
||||
2: 'right',
|
||||
3: 'top',
|
||||
4: 'left',
|
||||
5: 'right',
|
||||
6: 'bottom',
|
||||
7: 'left',
|
||||
8: 'right',
|
||||
}
|
||||
Position.bottom = Position(6)
|
||||
Position.center = Position(0)
|
||||
Position.disable = Position(-1)
|
||||
Position.left = Position(1)
|
||||
Position.left = Position(4)
|
||||
Position.left = Position(7)
|
||||
Position.right = Position(2)
|
||||
Position.right = Position(5)
|
||||
Position.right = Position(8)
|
||||
Position.top = Position(3)
|
||||
|
||||
class VideoLogoOption(_Enum):
|
||||
'''Option values for libvlc_video_{get,set}_logo_{int,string}.
|
||||
'''
|
||||
@ -685,7 +731,7 @@ class LogCb(ctypes.c_void_p):
|
||||
"""Callback prototype for LibVLC log message handler.
|
||||
\param data data pointer as given to L{libvlc_log_set}()
|
||||
\param level message level (@ref enum libvlc_log_level)
|
||||
\param ctx message context (meta-informations about the message)
|
||||
\param ctx message context (meta-information about the message)
|
||||
\param fmt printf() format string (as defined by ISO C11)
|
||||
\param args variable argument list for the format
|
||||
\note Log message handlers <b>must</b> be thread-safe.
|
||||
@ -823,18 +869,18 @@ class CallbackDecorators(object):
|
||||
Callback = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p)
|
||||
Callback.__doc__ = '''Callback function notification
|
||||
\param p_event the event triggering the callback
|
||||
'''
|
||||
'''
|
||||
LogCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_int, Log_ptr, ctypes.c_char_p, ctypes.c_void_p)
|
||||
LogCb.__doc__ = '''Callback prototype for LibVLC log message handler.
|
||||
\param data data pointer as given to L{libvlc_log_set}()
|
||||
\param level message level (@ref enum libvlc_log_level)
|
||||
\param ctx message context (meta-informations about the message)
|
||||
\param ctx message context (meta-information about the message)
|
||||
\param fmt printf() format string (as defined by ISO C11)
|
||||
\param args variable argument list for the format
|
||||
\note Log message handlers <b>must</b> be thread-safe.
|
||||
\warning The message context pointer, the format string parameters and the
|
||||
variable arguments are only valid until the callback returns.
|
||||
'''
|
||||
'''
|
||||
VideoLockCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ListPOINTER(ctypes.c_void_p))
|
||||
VideoLockCb.__doc__ = '''Callback prototype to allocate and lock a picture buffer.
|
||||
Whenever a new video frame needs to be decoded, the lock callback is
|
||||
@ -846,7 +892,7 @@ planes must be aligned on 32-bytes boundaries.
|
||||
of void pointers, this callback must initialize the array) [OUT]
|
||||
\return a private pointer for the display and unlock callbacks to identify
|
||||
the picture buffers
|
||||
'''
|
||||
'''
|
||||
VideoUnlockCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, ListPOINTER(ctypes.c_void_p))
|
||||
VideoUnlockCb.__doc__ = '''Callback prototype to unlock a picture buffer.
|
||||
When the video frame decoding is complete, the unlock callback is invoked.
|
||||
@ -859,7 +905,7 @@ but before the picture is displayed.
|
||||
callback [IN]
|
||||
\param planes pixel planes as defined by the @ref libvlc_video_lock_cb
|
||||
callback (this parameter is only for convenience) [IN]
|
||||
'''
|
||||
'''
|
||||
VideoDisplayCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p)
|
||||
VideoDisplayCb.__doc__ = '''Callback prototype to display a picture.
|
||||
When the video frame needs to be shown, as determined by the media playback
|
||||
@ -867,7 +913,7 @@ clock, the display callback is invoked.
|
||||
\param opaque private pointer as passed to L{libvlc_video_set_callbacks}() [IN]
|
||||
\param picture private pointer returned from the @ref libvlc_video_lock_cb
|
||||
callback [IN]
|
||||
'''
|
||||
'''
|
||||
VideoFormatCb = ctypes.CFUNCTYPE(ctypes.POINTER(ctypes.c_uint), ListPOINTER(ctypes.c_void_p), ctypes.c_char_p, ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint))
|
||||
VideoFormatCb.__doc__ = '''Callback prototype to configure picture buffers format.
|
||||
This callback gets the format of the video as output by the video decoder
|
||||
@ -891,47 +937,47 @@ the pixel height.
|
||||
Furthermore, we recommend that pitches and lines be multiple of 32
|
||||
to not break assumption that might be made by various optimizations
|
||||
in the video decoders, video filters and/or video converters.
|
||||
'''
|
||||
'''
|
||||
VideoCleanupCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p)
|
||||
VideoCleanupCb.__doc__ = '''Callback prototype to configure picture buffers format.
|
||||
\param opaque private pointer as passed to L{libvlc_video_set_callbacks}()
|
||||
(and possibly modified by @ref libvlc_video_format_cb) [IN]
|
||||
'''
|
||||
'''
|
||||
AudioPlayCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint, ctypes.c_int64)
|
||||
AudioPlayCb.__doc__ = '''Callback prototype for audio playback.
|
||||
\param data data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]
|
||||
\param samples pointer to the first audio sample to play back [IN]
|
||||
\param count number of audio samples to play back
|
||||
\param pts expected play time stamp (see libvlc_delay())
|
||||
'''
|
||||
'''
|
||||
AudioPauseCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_int64)
|
||||
AudioPauseCb.__doc__ = '''Callback prototype for audio pause.
|
||||
\note The pause callback is never called if the audio is already paused.
|
||||
\param data data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]
|
||||
\param pts time stamp of the pause request (should be elapsed already)
|
||||
'''
|
||||
'''
|
||||
AudioResumeCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_int64)
|
||||
AudioResumeCb.__doc__ = '''Callback prototype for audio resumption (i.e. restart from pause).
|
||||
\note The resume callback is never called if the audio is not paused.
|
||||
\param data data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]
|
||||
\param pts time stamp of the resumption request (should be elapsed already)
|
||||
'''
|
||||
'''
|
||||
AudioFlushCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_int64)
|
||||
AudioFlushCb.__doc__ = '''Callback prototype for audio buffer flush
|
||||
(i.e. discard all pending buffers and stop playback as soon as possible).
|
||||
\param data data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]
|
||||
'''
|
||||
'''
|
||||
AudioDrainCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p)
|
||||
AudioDrainCb.__doc__ = '''Callback prototype for audio buffer drain
|
||||
(i.e. wait for pending buffers to be played).
|
||||
\param data data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]
|
||||
'''
|
||||
'''
|
||||
AudioSetVolumeCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_float, ctypes.c_bool)
|
||||
AudioSetVolumeCb.__doc__ = '''Callback prototype for audio volume change.
|
||||
\param data data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]
|
||||
\param volume software volume (1. = nominal, 0. = mute)
|
||||
\param mute muted flag
|
||||
'''
|
||||
'''
|
||||
AudioSetupCb = ctypes.CFUNCTYPE(ctypes.POINTER(ctypes.c_int), ListPOINTER(ctypes.c_void_p), ctypes.c_char_p, ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint))
|
||||
AudioSetupCb.__doc__ = '''Callback prototype to setup the audio playback.
|
||||
This is called when the media player needs to create a new audio output.
|
||||
@ -941,12 +987,12 @@ This is called when the media player needs to create a new audio output.
|
||||
\param rate sample rate [IN/OUT]
|
||||
\param channels channels count [IN/OUT]
|
||||
\return 0 on success, anything else to skip audio playback
|
||||
'''
|
||||
'''
|
||||
AudioCleanupCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p)
|
||||
AudioCleanupCb.__doc__ = '''Callback prototype for audio playback cleanup.
|
||||
This is called when the media player no longer needs an audio output.
|
||||
\param opaque data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]
|
||||
'''
|
||||
'''
|
||||
cb = CallbackDecorators
|
||||
# End of generated enum types #
|
||||
|
||||
@ -1210,7 +1256,7 @@ class EventManager(_Ctype):
|
||||
|
||||
@note: Only a single notification can be registered
|
||||
for each event type in an EventManager instance.
|
||||
|
||||
|
||||
'''
|
||||
|
||||
_callback_handler = None
|
||||
@ -1287,7 +1333,7 @@ class Instance(_Ctype):
|
||||
- a string
|
||||
- a list of strings as first parameters
|
||||
- the parameters given as the constructor parameters (must be strings)
|
||||
|
||||
|
||||
'''
|
||||
|
||||
def __new__(cls, *args):
|
||||
@ -1432,6 +1478,16 @@ class Instance(_Ctype):
|
||||
'''
|
||||
return libvlc_set_user_agent(self, str_to_bytes(name), str_to_bytes(http))
|
||||
|
||||
def set_app_id(self, id, version, icon):
|
||||
'''Sets some meta-information about the application.
|
||||
See also L{set_user_agent}().
|
||||
@param id: Java-style application identifier, e.g. "com.acme.foobar".
|
||||
@param version: application version numbers, e.g. "1.2.3".
|
||||
@param icon: application icon name, e.g. "foobar".
|
||||
@version: LibVLC 2.1.0 or later.
|
||||
'''
|
||||
return libvlc_set_app_id(self, str_to_bytes(id), str_to_bytes(version), str_to_bytes(icon))
|
||||
|
||||
def log_unset(self):
|
||||
'''Unsets the logging callback for a LibVLC instance. This is rarely needed:
|
||||
the callback is implicitly unset when the instance is destroyed.
|
||||
@ -1521,13 +1577,13 @@ class Instance(_Ctype):
|
||||
return libvlc_media_library_new(self)
|
||||
|
||||
def audio_output_list_get(self):
|
||||
'''Gets the list of available audio outputs.
|
||||
'''Gets the list of available audio output modules.
|
||||
@return: list of available audio outputs. It must be freed it with In case of error, NULL is returned.
|
||||
'''
|
||||
return libvlc_audio_output_list_get(self)
|
||||
|
||||
def audio_output_device_list_get(self, aout):
|
||||
'''Gets a list of audio output devices for a given audio output.
|
||||
'''Gets a list of audio output devices for a given audio output module,
|
||||
See L{audio_output_device_set}().
|
||||
@note: Not all audio outputs support this. In particular, an empty (NULL)
|
||||
list of devices does B{not} imply that the specified audio output does
|
||||
@ -1753,11 +1809,11 @@ class Instance(_Ctype):
|
||||
|
||||
class Media(_Ctype):
|
||||
'''Create a new Media instance.
|
||||
|
||||
|
||||
Usage: Media(MRL, *options)
|
||||
|
||||
See vlc.Instance.media_new documentation for details.
|
||||
|
||||
|
||||
'''
|
||||
|
||||
def __new__(cls, *args):
|
||||
@ -1790,6 +1846,19 @@ class Media(_Ctype):
|
||||
for o in options:
|
||||
self.add_option(o)
|
||||
|
||||
def tracks_get(self):
|
||||
"""Get media descriptor's elementary streams description
|
||||
Note, you need to call L{parse}() or play the media at least once
|
||||
before calling this function.
|
||||
Not doing this will result in an empty array.
|
||||
The result must be freed with L{tracks_release}.
|
||||
@version: LibVLC 2.1.0 and later.
|
||||
"""
|
||||
mediaTrack_pp = ctypes.POINTER(MediaTrack)()
|
||||
n = libvlc_media_tracks_get(self, byref(mediaTrack_pp))
|
||||
info = cast(ctypes.mediaTrack_pp, ctypes.POINTER(ctypes.POINTER(MediaTrack) * n))
|
||||
return info
|
||||
|
||||
|
||||
def add_option(self, psz_options):
|
||||
'''Add an option to the media.
|
||||
@ -1962,17 +2031,6 @@ class Media(_Ctype):
|
||||
'''
|
||||
return libvlc_media_get_user_data(self)
|
||||
|
||||
def tracks_get(self, tracks):
|
||||
'''Get media descriptor's elementary streams description
|
||||
Note, you need to call L{parse}() or play the media at least once
|
||||
before calling this function.
|
||||
Not doing this will result in an empty array.
|
||||
@param tracks: address to store an allocated array of Elementary Streams descriptions (must be freed with L{tracks_release}.
|
||||
@return: the number of Elementary Streams (zero on error).
|
||||
@version: LibVLC 2.1.0 and later.
|
||||
'''
|
||||
return libvlc_media_tracks_get(self, tracks)
|
||||
|
||||
def player_new_from_media(self):
|
||||
'''Create a Media Player object from a Media.
|
||||
@return: a new media player object, or NULL on error.
|
||||
@ -2053,11 +2111,11 @@ class MediaLibrary(_Ctype):
|
||||
|
||||
class MediaList(_Ctype):
|
||||
'''Create a new MediaList instance.
|
||||
|
||||
|
||||
Usage: MediaList(list_of_MRLs)
|
||||
|
||||
See vlc.Instance.media_list_new documentation for details.
|
||||
|
||||
|
||||
'''
|
||||
|
||||
def __new__(cls, *args):
|
||||
@ -2073,10 +2131,10 @@ class MediaList(_Ctype):
|
||||
|
||||
def get_instance(self):
|
||||
return getattr(self, '_instance', None)
|
||||
|
||||
|
||||
def add_media(self, mrl):
|
||||
"""Add media instance to media list.
|
||||
|
||||
|
||||
The L{lock} should be held upon entering this function.
|
||||
@param mrl: a media instance or a MRL.
|
||||
@return: 0 on success, -1 if the media list is read-only.
|
||||
@ -2193,7 +2251,7 @@ class MediaListPlayer(_Ctype):
|
||||
It may take as parameter either:
|
||||
- a vlc.Instance
|
||||
- nothing
|
||||
|
||||
|
||||
'''
|
||||
|
||||
def __new__(cls, arg=None):
|
||||
@ -2319,13 +2377,13 @@ class MediaPlayer(_Ctype):
|
||||
It may take as parameter either:
|
||||
- a string (media URI), options... In this case, a vlc.Instance will be created.
|
||||
- a vlc.Instance, a string (media URI), options...
|
||||
|
||||
|
||||
'''
|
||||
|
||||
def __new__(cls, *args):
|
||||
if len(args) == 1 and isinstance(args[0], _Ints):
|
||||
return _Constructor(cls, args[0])
|
||||
|
||||
|
||||
if args and isinstance(args[0], Instance):
|
||||
instance = args[0]
|
||||
args = args[1:]
|
||||
@ -2397,13 +2455,13 @@ class MediaPlayer(_Ctype):
|
||||
Specify where the media player should render its video
|
||||
output. If LibVLC was built without Win32/Win64 API output
|
||||
support, then this has no effects.
|
||||
|
||||
|
||||
@param drawable: windows handle of the drawable.
|
||||
"""
|
||||
if not isinstance(drawable, ctypes.c_void_p):
|
||||
drawable = ctypes.c_void_p(int(drawable))
|
||||
libvlc_media_player_set_hwnd(self, drawable)
|
||||
|
||||
|
||||
def video_get_width(self, num=0):
|
||||
"""Get the width of a video in pixels.
|
||||
|
||||
@ -2556,12 +2614,12 @@ class MediaPlayer(_Ctype):
|
||||
If you want to use it along with Qt4 see the QMacCocoaViewContainer. Then
|
||||
the following code should work:
|
||||
@begincode
|
||||
|
||||
|
||||
NSView *video = [[NSView alloc] init];
|
||||
QMacCocoaViewContainer *container = new QMacCocoaViewContainer(video, parent);
|
||||
L{set_nsobject}(mp, video);
|
||||
[video release];
|
||||
|
||||
|
||||
@endcode
|
||||
You can find a live example in VLCVideoView in VLCKit.framework.
|
||||
@param drawable: the drawable that is either an NSView or an object following the VLCOpenGLVideoViewEmbedding protocol.
|
||||
@ -2796,6 +2854,13 @@ class MediaPlayer(_Ctype):
|
||||
'''
|
||||
return libvlc_media_player_can_pause(self)
|
||||
|
||||
def program_scrambled(self):
|
||||
'''Check if the current program is scrambled.
|
||||
@return: true if the current program is scrambled \libvlc_return_bool.
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
return libvlc_media_player_program_scrambled(self)
|
||||
|
||||
def next_frame(self):
|
||||
'''Display the next frame (if supported).
|
||||
'''
|
||||
@ -2808,6 +2873,14 @@ class MediaPlayer(_Ctype):
|
||||
'''
|
||||
return libvlc_media_player_navigate(self, navigate)
|
||||
|
||||
def set_video_title_display(self, position, timeout):
|
||||
'''Set if, and how, the video title will be shown when media is played.
|
||||
@param position: position at which to display the title, or libvlc_position_disable to prevent the title from being displayed.
|
||||
@param timeout: title display timeout in milliseconds (ignored if libvlc_position_disable).
|
||||
@version: libVLC 2.1.0 or later.
|
||||
'''
|
||||
return libvlc_media_player_set_video_title_display(self, position, timeout)
|
||||
|
||||
def toggle_fullscreen(self):
|
||||
'''Toggle fullscreen status on non-embedded video outputs.
|
||||
@warning: The same limitations applies to this function
|
||||
@ -3083,7 +3156,7 @@ class MediaPlayer(_Ctype):
|
||||
return libvlc_video_set_adjust_float(self, option, value)
|
||||
|
||||
def audio_output_set(self, psz_name):
|
||||
'''Sets the audio output.
|
||||
'''Selects an audio output module.
|
||||
@note: Any change will take be effect only after playback is stopped and
|
||||
restarted. Audio output cannot be changed while playing.
|
||||
@param psz_name: name of audio output, use psz_name of See L{AudioOutput}.
|
||||
@ -3091,21 +3164,46 @@ class MediaPlayer(_Ctype):
|
||||
'''
|
||||
return libvlc_audio_output_set(self, str_to_bytes(psz_name))
|
||||
|
||||
def audio_output_device_set(self, psz_audio_output, psz_device_id):
|
||||
'''Configures an explicit audio output device for a given audio output plugin.
|
||||
A list of possible devices can be obtained with
|
||||
def audio_output_device_enum(self):
|
||||
'''Gets a list of potential audio output devices,
|
||||
See L{audio_output_device_set}().
|
||||
@note: Not all audio outputs support enumerating devices.
|
||||
The audio output may be functional even if the list is empty (NULL).
|
||||
@note: The list may not be exhaustive.
|
||||
@warning: Some audio output devices in the list might not actually work in
|
||||
some circumstances. By default, it is recommended to not specify any
|
||||
explicit audio device.
|
||||
@return: A NULL-terminated linked list of potential audio output devices. It must be freed it with L{audio_output_device_list_release}().
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
return libvlc_audio_output_device_enum(self)
|
||||
|
||||
def audio_output_device_set(self, module, device_id):
|
||||
'''Configures an explicit audio output device.
|
||||
If the module paramater is NULL, audio output will be moved to the device
|
||||
specified by the device identifier string immediately. This is the
|
||||
recommended usage.
|
||||
A list of adequate potential device strings can be obtained with
|
||||
L{audio_output_device_enum}().
|
||||
However passing NULL is supported in LibVLC version 2.2.0 and later only;
|
||||
in earlier versions, this function would have no effects when the module
|
||||
parameter was NULL.
|
||||
If the module parameter is not NULL, the device parameter of the
|
||||
corresponding audio output, if it exists, will be set to the specified
|
||||
string. Note that some audio output modules do not have such a parameter
|
||||
(notably MMDevice and PulseAudio).
|
||||
A list of adequate potential device strings can be obtained with
|
||||
L{audio_output_device_list_get}().
|
||||
@note: This function does not select the specified audio output plugin.
|
||||
L{audio_output_set}() is used for that purpose.
|
||||
@warning: The syntax for the device parameter depends on the audio output.
|
||||
This is not portable. Only use this function if you know what you are doing.
|
||||
Some audio outputs do not support this function (e.g. PulseAudio, WASAPI).
|
||||
Some audio outputs require further parameters (e.g. ALSA: channels map).
|
||||
@param psz_audio_output: - name of audio output, See L{AudioOutput}.
|
||||
@param psz_device_id: device.
|
||||
@return: Nothing. Errors are ignored.
|
||||
Some audio output modules require further parameters (e.g. a channels map
|
||||
in the case of ALSA).
|
||||
@param module: If NULL, current audio output module. if non-NULL, name of audio output module.
|
||||
@param device_id: device identifier string.
|
||||
@return: Nothing. Errors are ignored (this is a design bug).
|
||||
'''
|
||||
return libvlc_audio_output_device_set(self, str_to_bytes(psz_audio_output), str_to_bytes(psz_device_id))
|
||||
return libvlc_audio_output_device_set(self, str_to_bytes(module), str_to_bytes(device_id))
|
||||
|
||||
def audio_toggle_mute(self):
|
||||
'''Toggle mute status.
|
||||
@ -3184,6 +3282,28 @@ class MediaPlayer(_Ctype):
|
||||
'''
|
||||
return libvlc_audio_set_delay(self, i_delay)
|
||||
|
||||
def set_equalizer(self, p_equalizer):
|
||||
'''Apply new equalizer settings to a media player.
|
||||
The equalizer is first created by invoking L{audio_equalizer_new}() or
|
||||
L{audio_equalizer_new_from_preset}().
|
||||
It is possible to apply new equalizer settings to a media player whether the media
|
||||
player is currently playing media or not.
|
||||
Invoking this method will immediately apply the new equalizer settings to the audio
|
||||
output of the currently playing media if there is any.
|
||||
If there is no currently playing media, the new equalizer settings will be applied
|
||||
later if and when new media is played.
|
||||
Equalizer settings will automatically be applied to subsequently played media.
|
||||
To disable the equalizer for a media player invoke this method passing NULL for the
|
||||
p_equalizer parameter.
|
||||
The media player does not keep a reference to the supplied equalizer so it is safe
|
||||
for an application to release the equalizer reference any time after this method
|
||||
returns.
|
||||
@param p_equalizer: opaque equalizer handle, or NULL to disable the equalizer for this media player.
|
||||
@return: zero on success, -1 on error.
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
return libvlc_media_player_set_equalizer(self, p_equalizer)
|
||||
|
||||
|
||||
# LibVLC __version__ functions #
|
||||
|
||||
@ -3279,6 +3399,20 @@ def libvlc_set_user_agent(p_instance, name, http):
|
||||
None, Instance, ctypes.c_char_p, ctypes.c_char_p)
|
||||
return f(p_instance, name, http)
|
||||
|
||||
def libvlc_set_app_id(p_instance, id, version, icon):
|
||||
'''Sets some meta-information about the application.
|
||||
See also L{libvlc_set_user_agent}().
|
||||
@param p_instance: LibVLC instance.
|
||||
@param id: Java-style application identifier, e.g. "com.acme.foobar".
|
||||
@param version: application version numbers, e.g. "1.2.3".
|
||||
@param icon: application icon name, e.g. "foobar".
|
||||
@version: LibVLC 2.1.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_set_app_id', None) or \
|
||||
_Cfunction('libvlc_set_app_id', ((1,), (1,), (1,), (1,),), None,
|
||||
None, Instance, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_char_p)
|
||||
return f(p_instance, id, version, icon)
|
||||
|
||||
def libvlc_get_version():
|
||||
'''Retrieve libvlc version.
|
||||
Example: "1.1.0-git The Luggage".
|
||||
@ -3355,7 +3489,7 @@ def libvlc_event_type_name(event_type):
|
||||
return f(event_type)
|
||||
|
||||
def libvlc_log_get_context(ctx):
|
||||
'''Gets debugging informations about a log message: the name of the VLC module
|
||||
'''Gets debugging information about a log message: the name of the VLC module
|
||||
emitting the message and the message location within the source code.
|
||||
The returned module name and file name will be NULL if unknown.
|
||||
The returned line number will similarly be zero if unknown.
|
||||
@ -3369,9 +3503,9 @@ def libvlc_log_get_context(ctx):
|
||||
return f(ctx)
|
||||
|
||||
def libvlc_log_get_object(ctx, id):
|
||||
'''Gets VLC object informations about a log message: the type name of the VLC
|
||||
'''Gets VLC object information about a log message: the type name of the VLC
|
||||
object emitting the message, the object header if any and a temporaly-unique
|
||||
object identifier. These informations are mainly meant for B{manual}
|
||||
object identifier. This information is mainly meant for B{manual}
|
||||
troubleshooting.
|
||||
The returned type name may be "generic" if unknown, but it cannot be NULL.
|
||||
The returned header will be NULL if unset; in current versions, the header
|
||||
@ -4430,12 +4564,12 @@ def libvlc_media_player_set_nsobject(p_mi, drawable):
|
||||
If you want to use it along with Qt4 see the QMacCocoaViewContainer. Then
|
||||
the following code should work:
|
||||
@begincode
|
||||
|
||||
|
||||
NSView *video = [[NSView alloc] init];
|
||||
QMacCocoaViewContainer *container = new QMacCocoaViewContainer(video, parent);
|
||||
L{libvlc_media_player_set_nsobject}(mp, video);
|
||||
[video release];
|
||||
|
||||
|
||||
@endcode
|
||||
You can find a live example in VLCVideoView in VLCKit.framework.
|
||||
@param p_mi: the Media Player.
|
||||
@ -4814,6 +4948,17 @@ def libvlc_media_player_can_pause(p_mi):
|
||||
ctypes.c_int, MediaPlayer)
|
||||
return f(p_mi)
|
||||
|
||||
def libvlc_media_player_program_scrambled(p_mi):
|
||||
'''Check if the current program is scrambled.
|
||||
@param p_mi: the media player.
|
||||
@return: true if the current program is scrambled \libvlc_return_bool.
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_media_player_program_scrambled', None) or \
|
||||
_Cfunction('libvlc_media_player_program_scrambled', ((1,),), None,
|
||||
ctypes.c_int, MediaPlayer)
|
||||
return f(p_mi)
|
||||
|
||||
def libvlc_media_player_next_frame(p_mi):
|
||||
'''Display the next frame (if supported).
|
||||
@param p_mi: the media player.
|
||||
@ -4834,6 +4979,18 @@ def libvlc_media_player_navigate(p_mi, navigate):
|
||||
None, MediaPlayer, ctypes.c_uint)
|
||||
return f(p_mi, navigate)
|
||||
|
||||
def libvlc_media_player_set_video_title_display(p_mi, position, timeout):
|
||||
'''Set if, and how, the video title will be shown when media is played.
|
||||
@param p_mi: the media player.
|
||||
@param position: position at which to display the title, or libvlc_position_disable to prevent the title from being displayed.
|
||||
@param timeout: title display timeout in milliseconds (ignored if libvlc_position_disable).
|
||||
@version: libVLC 2.1.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_media_player_set_video_title_display', None) or \
|
||||
_Cfunction('libvlc_media_player_set_video_title_display', ((1,), (1,), (1,),), None,
|
||||
None, MediaPlayer, Position, ctypes.c_int)
|
||||
return f(p_mi, position, timeout)
|
||||
|
||||
def libvlc_track_description_list_release(p_track_description):
|
||||
'''Release (free) L{TrackDescription}.
|
||||
@param p_track_description: the structure to release.
|
||||
@ -5335,7 +5492,7 @@ def libvlc_video_set_adjust_float(p_mi, option, value):
|
||||
return f(p_mi, option, value)
|
||||
|
||||
def libvlc_audio_output_list_get(p_instance):
|
||||
'''Gets the list of available audio outputs.
|
||||
'''Gets the list of available audio output modules.
|
||||
@param p_instance: libvlc instance.
|
||||
@return: list of available audio outputs. It must be freed it with In case of error, NULL is returned.
|
||||
'''
|
||||
@ -5345,7 +5502,7 @@ def libvlc_audio_output_list_get(p_instance):
|
||||
return f(p_instance)
|
||||
|
||||
def libvlc_audio_output_list_release(p_list):
|
||||
'''Frees the list of available audio outputs.
|
||||
'''Frees the list of available audio output modules.
|
||||
@param p_list: list with audio outputs for release.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_audio_output_list_release', None) or \
|
||||
@ -5354,7 +5511,7 @@ def libvlc_audio_output_list_release(p_list):
|
||||
return f(p_list)
|
||||
|
||||
def libvlc_audio_output_set(p_mi, psz_name):
|
||||
'''Sets the audio output.
|
||||
'''Selects an audio output module.
|
||||
@note: Any change will take be effect only after playback is stopped and
|
||||
restarted. Audio output cannot be changed while playing.
|
||||
@param p_mi: media player.
|
||||
@ -5366,8 +5523,26 @@ def libvlc_audio_output_set(p_mi, psz_name):
|
||||
ctypes.c_int, MediaPlayer, ctypes.c_char_p)
|
||||
return f(p_mi, psz_name)
|
||||
|
||||
def libvlc_audio_output_device_enum(mp):
|
||||
'''Gets a list of potential audio output devices,
|
||||
See L{libvlc_audio_output_device_set}().
|
||||
@note: Not all audio outputs support enumerating devices.
|
||||
The audio output may be functional even if the list is empty (NULL).
|
||||
@note: The list may not be exhaustive.
|
||||
@warning: Some audio output devices in the list might not actually work in
|
||||
some circumstances. By default, it is recommended to not specify any
|
||||
explicit audio device.
|
||||
@param mp: media player.
|
||||
@return: A NULL-terminated linked list of potential audio output devices. It must be freed it with L{libvlc_audio_output_device_list_release}().
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_audio_output_device_enum', None) or \
|
||||
_Cfunction('libvlc_audio_output_device_enum', ((1,),), None,
|
||||
ctypes.POINTER(AudioOutputDevice), MediaPlayer)
|
||||
return f(mp)
|
||||
|
||||
def libvlc_audio_output_device_list_get(p_instance, aout):
|
||||
'''Gets a list of audio output devices for a given audio output.
|
||||
'''Gets a list of audio output devices for a given audio output module,
|
||||
See L{libvlc_audio_output_device_set}().
|
||||
@note: Not all audio outputs support this. In particular, an empty (NULL)
|
||||
list of devices does B{not} imply that the specified audio output does
|
||||
@ -5396,25 +5571,36 @@ def libvlc_audio_output_device_list_release(p_list):
|
||||
None, ctypes.POINTER(AudioOutputDevice))
|
||||
return f(p_list)
|
||||
|
||||
def libvlc_audio_output_device_set(p_mi, psz_audio_output, psz_device_id):
|
||||
'''Configures an explicit audio output device for a given audio output plugin.
|
||||
A list of possible devices can be obtained with
|
||||
def libvlc_audio_output_device_set(mp, module, device_id):
|
||||
'''Configures an explicit audio output device.
|
||||
If the module paramater is NULL, audio output will be moved to the device
|
||||
specified by the device identifier string immediately. This is the
|
||||
recommended usage.
|
||||
A list of adequate potential device strings can be obtained with
|
||||
L{libvlc_audio_output_device_enum}().
|
||||
However passing NULL is supported in LibVLC version 2.2.0 and later only;
|
||||
in earlier versions, this function would have no effects when the module
|
||||
parameter was NULL.
|
||||
If the module parameter is not NULL, the device parameter of the
|
||||
corresponding audio output, if it exists, will be set to the specified
|
||||
string. Note that some audio output modules do not have such a parameter
|
||||
(notably MMDevice and PulseAudio).
|
||||
A list of adequate potential device strings can be obtained with
|
||||
L{libvlc_audio_output_device_list_get}().
|
||||
@note: This function does not select the specified audio output plugin.
|
||||
L{libvlc_audio_output_set}() is used for that purpose.
|
||||
@warning: The syntax for the device parameter depends on the audio output.
|
||||
This is not portable. Only use this function if you know what you are doing.
|
||||
Some audio outputs do not support this function (e.g. PulseAudio, WASAPI).
|
||||
Some audio outputs require further parameters (e.g. ALSA: channels map).
|
||||
@param p_mi: media player.
|
||||
@param psz_audio_output: - name of audio output, See L{AudioOutput}.
|
||||
@param psz_device_id: device.
|
||||
@return: Nothing. Errors are ignored.
|
||||
Some audio output modules require further parameters (e.g. a channels map
|
||||
in the case of ALSA).
|
||||
@param mp: media player.
|
||||
@param module: If NULL, current audio output module. if non-NULL, name of audio output module.
|
||||
@param device_id: device identifier string.
|
||||
@return: Nothing. Errors are ignored (this is a design bug).
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_audio_output_device_set', None) or \
|
||||
_Cfunction('libvlc_audio_output_device_set', ((1,), (1,), (1,),), None,
|
||||
None, MediaPlayer, ctypes.c_char_p, ctypes.c_char_p)
|
||||
return f(p_mi, psz_audio_output, psz_device_id)
|
||||
return f(mp, module, device_id)
|
||||
|
||||
def libvlc_audio_toggle_mute(p_mi):
|
||||
'''Toggle mute status.
|
||||
@ -5551,6 +5737,175 @@ def libvlc_audio_set_delay(p_mi, i_delay):
|
||||
ctypes.c_int, MediaPlayer, ctypes.c_int64)
|
||||
return f(p_mi, i_delay)
|
||||
|
||||
def libvlc_audio_equalizer_get_preset_count():
|
||||
'''Get the number of equalizer presets.
|
||||
@return: number of presets.
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_audio_equalizer_get_preset_count', None) or \
|
||||
_Cfunction('libvlc_audio_equalizer_get_preset_count', (), None,
|
||||
ctypes.c_uint)
|
||||
return f()
|
||||
|
||||
def libvlc_audio_equalizer_get_preset_name(u_index):
|
||||
'''Get the name of a particular equalizer preset.
|
||||
This name can be used, for example, to prepare a preset label or menu in a user
|
||||
interface.
|
||||
@param u_index: index of the preset, counting from zero.
|
||||
@return: preset name, or NULL if there is no such preset.
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_audio_equalizer_get_preset_name', None) or \
|
||||
_Cfunction('libvlc_audio_equalizer_get_preset_name', ((1,),), None,
|
||||
ctypes.c_char_p, ctypes.c_uint)
|
||||
return f(u_index)
|
||||
|
||||
def libvlc_audio_equalizer_get_band_count():
|
||||
'''Get the number of distinct frequency bands for an equalizer.
|
||||
@return: number of frequency bands.
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_audio_equalizer_get_band_count', None) or \
|
||||
_Cfunction('libvlc_audio_equalizer_get_band_count', (), None,
|
||||
ctypes.c_uint)
|
||||
return f()
|
||||
|
||||
def libvlc_audio_equalizer_get_band_frequency(u_index):
|
||||
'''Get a particular equalizer band frequency.
|
||||
This value can be used, for example, to create a label for an equalizer band control
|
||||
in a user interface.
|
||||
@param u_index: index of the band, counting from zero.
|
||||
@return: equalizer band frequency (Hz), or -1 if there is no such band.
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_audio_equalizer_get_band_frequency', None) or \
|
||||
_Cfunction('libvlc_audio_equalizer_get_band_frequency', ((1,),), None,
|
||||
ctypes.c_float, ctypes.c_uint)
|
||||
return f(u_index)
|
||||
|
||||
def libvlc_audio_equalizer_new():
|
||||
'''Create a new default equalizer, with all frequency values zeroed.
|
||||
The new equalizer can subsequently be applied to a media player by invoking
|
||||
L{libvlc_media_player_set_equalizer}().
|
||||
The returned handle should be freed via L{libvlc_audio_equalizer_release}() when
|
||||
it is no longer needed.
|
||||
@return: opaque equalizer handle, or NULL on error.
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_audio_equalizer_new', None) or \
|
||||
_Cfunction('libvlc_audio_equalizer_new', (), None,
|
||||
ctypes.c_void_p)
|
||||
return f()
|
||||
|
||||
def libvlc_audio_equalizer_new_from_preset(u_index):
|
||||
'''Create a new equalizer, with initial frequency values copied from an existing
|
||||
preset.
|
||||
The new equalizer can subsequently be applied to a media player by invoking
|
||||
L{libvlc_media_player_set_equalizer}().
|
||||
The returned handle should be freed via L{libvlc_audio_equalizer_release}() when
|
||||
it is no longer needed.
|
||||
@param u_index: index of the preset, counting from zero.
|
||||
@return: opaque equalizer handle, or NULL on error.
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_audio_equalizer_new_from_preset', None) or \
|
||||
_Cfunction('libvlc_audio_equalizer_new_from_preset', ((1,),), None,
|
||||
ctypes.c_void_p, ctypes.c_uint)
|
||||
return f(u_index)
|
||||
|
||||
def libvlc_audio_equalizer_release(p_equalizer):
|
||||
'''Release a previously created equalizer instance.
|
||||
The equalizer was previously created by using L{libvlc_audio_equalizer_new}() or
|
||||
L{libvlc_audio_equalizer_new_from_preset}().
|
||||
It is safe to invoke this method with a NULL p_equalizer parameter for no effect.
|
||||
@param p_equalizer: opaque equalizer handle, or NULL.
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_audio_equalizer_release', None) or \
|
||||
_Cfunction('libvlc_audio_equalizer_release', ((1,),), None,
|
||||
None, ctypes.c_void_p)
|
||||
return f(p_equalizer)
|
||||
|
||||
def libvlc_audio_equalizer_set_preamp(p_equalizer, f_preamp):
|
||||
'''Set a new pre-amplification value for an equalizer.
|
||||
The new equalizer settings are subsequently applied to a media player by invoking
|
||||
L{libvlc_media_player_set_equalizer}().
|
||||
The supplied amplification value will be clamped to the -20.0 to +20.0 range.
|
||||
@param p_equalizer: valid equalizer handle, must not be NULL.
|
||||
@param f_preamp: preamp value (-20.0 to 20.0 Hz).
|
||||
@return: zero on success, -1 on error.
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_audio_equalizer_set_preamp', None) or \
|
||||
_Cfunction('libvlc_audio_equalizer_set_preamp', ((1,), (1,),), None,
|
||||
ctypes.c_int, ctypes.c_void_p, ctypes.c_float)
|
||||
return f(p_equalizer, f_preamp)
|
||||
|
||||
def libvlc_audio_equalizer_get_preamp(p_equalizer):
|
||||
'''Get the current pre-amplification value from an equalizer.
|
||||
@param p_equalizer: valid equalizer handle, must not be NULL.
|
||||
@return: preamp value (Hz).
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_audio_equalizer_get_preamp', None) or \
|
||||
_Cfunction('libvlc_audio_equalizer_get_preamp', ((1,),), None,
|
||||
ctypes.c_float, ctypes.c_void_p)
|
||||
return f(p_equalizer)
|
||||
|
||||
def libvlc_audio_equalizer_set_amp_at_index(p_equalizer, f_amp, u_band):
|
||||
'''Set a new amplification value for a particular equalizer frequency band.
|
||||
The new equalizer settings are subsequently applied to a media player by invoking
|
||||
L{libvlc_media_player_set_equalizer}().
|
||||
The supplied amplification value will be clamped to the -20.0 to +20.0 range.
|
||||
@param p_equalizer: valid equalizer handle, must not be NULL.
|
||||
@param f_amp: amplification value (-20.0 to 20.0 Hz).
|
||||
@param u_band: index, counting from zero, of the frequency band to set.
|
||||
@return: zero on success, -1 on error.
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_audio_equalizer_set_amp_at_index', None) or \
|
||||
_Cfunction('libvlc_audio_equalizer_set_amp_at_index', ((1,), (1,), (1,),), None,
|
||||
ctypes.c_int, ctypes.c_void_p, ctypes.c_float, ctypes.c_uint)
|
||||
return f(p_equalizer, f_amp, u_band)
|
||||
|
||||
def libvlc_audio_equalizer_get_amp_at_index(p_equalizer, u_band):
|
||||
'''Get the amplification value for a particular equalizer frequency band.
|
||||
@param p_equalizer: valid equalizer handle, must not be NULL.
|
||||
@param u_band: index, counting from zero, of the frequency band to get.
|
||||
@return: amplification value (Hz); NaN if there is no such frequency band.
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_audio_equalizer_get_amp_at_index', None) or \
|
||||
_Cfunction('libvlc_audio_equalizer_get_amp_at_index', ((1,), (1,),), None,
|
||||
ctypes.c_float, ctypes.c_void_p, ctypes.c_uint)
|
||||
return f(p_equalizer, u_band)
|
||||
|
||||
def libvlc_media_player_set_equalizer(p_mi, p_equalizer):
|
||||
'''Apply new equalizer settings to a media player.
|
||||
The equalizer is first created by invoking L{libvlc_audio_equalizer_new}() or
|
||||
L{libvlc_audio_equalizer_new_from_preset}().
|
||||
It is possible to apply new equalizer settings to a media player whether the media
|
||||
player is currently playing media or not.
|
||||
Invoking this method will immediately apply the new equalizer settings to the audio
|
||||
output of the currently playing media if there is any.
|
||||
If there is no currently playing media, the new equalizer settings will be applied
|
||||
later if and when new media is played.
|
||||
Equalizer settings will automatically be applied to subsequently played media.
|
||||
To disable the equalizer for a media player invoke this method passing NULL for the
|
||||
p_equalizer parameter.
|
||||
The media player does not keep a reference to the supplied equalizer so it is safe
|
||||
for an application to release the equalizer reference any time after this method
|
||||
returns.
|
||||
@param p_mi: opaque media player handle.
|
||||
@param p_equalizer: opaque equalizer handle, or NULL to disable the equalizer for this media player.
|
||||
@return: zero on success, -1 on error.
|
||||
@version: LibVLC 2.2.0 or later.
|
||||
'''
|
||||
f = _Cfunctions.get('libvlc_media_player_set_equalizer', None) or \
|
||||
_Cfunction('libvlc_media_player_set_equalizer', ((1,), (1,),), None,
|
||||
ctypes.c_int, MediaPlayer, ctypes.c_void_p)
|
||||
return f(p_mi, p_equalizer)
|
||||
|
||||
def libvlc_vlm_release(p_instance):
|
||||
'''Release the vlm instance related to the given L{Instance}.
|
||||
@param p_instance: the instance.
|
||||
@ -5863,7 +6218,18 @@ def libvlc_vlm_get_event_manager(p_instance):
|
||||
# libvlc_printerr
|
||||
# libvlc_set_exit_handler
|
||||
|
||||
# 17 function(s) not wrapped as methods:
|
||||
# 28 function(s) not wrapped as methods:
|
||||
# libvlc_audio_equalizer_get_amp_at_index
|
||||
# libvlc_audio_equalizer_get_band_count
|
||||
# libvlc_audio_equalizer_get_band_frequency
|
||||
# libvlc_audio_equalizer_get_preamp
|
||||
# libvlc_audio_equalizer_get_preset_count
|
||||
# libvlc_audio_equalizer_get_preset_name
|
||||
# libvlc_audio_equalizer_new
|
||||
# libvlc_audio_equalizer_new_from_preset
|
||||
# libvlc_audio_equalizer_release
|
||||
# libvlc_audio_equalizer_set_amp_at_index
|
||||
# libvlc_audio_equalizer_set_preamp
|
||||
# libvlc_audio_output_device_list_release
|
||||
# libvlc_audio_output_list_release
|
||||
# libvlc_clearerr
|
||||
|
Loading…
Reference in New Issue
Block a user