]> git.sesse.net Git - vlc/blob - bindings/python/TODO
more info about developers/contributors
[vlc] / bindings / python / TODO
1 API not yet implemented (from svn rev. 24237)
2 ---------------------------------------------
3
4 VLC_PUBLIC_API libvlc_media_descriptor_t * libvlc_media_descriptor_new_as_node(
5                                    libvlc_instance_t *p_instance,
6                                    const char * psz_name,
7                                    libvlc_exception_t *p_e );
8
9 VLC_PUBLIC_API libvlc_tag_t
10     libvlc_media_descriptor_tag_at_index_for_key( libvlc_media_descriptor_t *p_md,
11                                                   int i,
12                                                   const char * key,
13                                                   libvlc_exception_t *p_e );
14
15 VLC_PUBLIC_API libvlc_media_list_t *
16     libvlc_media_descriptor_subitems( libvlc_media_descriptor_t *p_md,
17                                       libvlc_exception_t *p_e );
18
19 VLC_PUBLIC_API libvlc_event_manager_t *
20     libvlc_media_descriptor_event_manager( libvlc_media_descriptor_t * p_md,
21                                            libvlc_exception_t * p_e );
22
23 VLC_PUBLIC_API void
24     libvlc_media_descriptor_set_user_data( libvlc_media_descriptor_t * p_md,
25                                            void * p_new_user_data,
26                                            libvlc_exception_t * p_e);
27 VLC_PUBLIC_API void *
28     libvlc_media_descriptor_get_user_data( libvlc_media_descriptor_t * p_md,
29                                            libvlc_exception_t * p_e);
30
31 /** Get the Event Manager from which the media instance send event.
32  * \param p_mi the Media Instance
33  */
34 VLC_PUBLIC_API libvlc_event_manager_t * libvlc_media_instance_event_manager ( libvlc_media_instance_t *, libvlc_exception_t * );
35
36 /*****************************************************************************
37  * Tag Query
38  *****************************************************************************/
39 /** defgroup libvlc_tag_query Tag Query
40  * \ingroup libvlc
41  * LibVLC Tag query
42  * @{
43  */
44 VLC_PUBLIC_API libvlc_tag_query_t *
45     libvlc_tag_query_new( libvlc_instance_t *, libvlc_exception_t * );
46
47 VLC_PUBLIC_API void
48     libvlc_tag_query_release( libvlc_tag_query_t * );
49
50 VLC_PUBLIC_API void
51     libvlc_tag_query_retain( libvlc_tag_query_t * );
52
53 VLC_PUBLIC_API void
54     libvlc_tag_query_set_match_tag_and_key( libvlc_tag_query_t * p_q,
55                                             libvlc_tag_t tag,
56                                             char * psz_tag_key,
57                                             libvlc_exception_t * );
58
59 VLC_PUBLIC_API vlc_bool_t
60     libvlc_tag_query_match( libvlc_tag_query_t *, libvlc_media_descriptor_t *,
61                             libvlc_exception_t * );
62
63 /** @} */
64
65 /*****************************************************************************
66  * Media List
67  *****************************************************************************/
68 /** defgroup libvlc_media_list MediaList
69  * \ingroup libvlc
70  * LibVLC Media List
71  * @{
72  */
73 VLC_PUBLIC_API libvlc_media_list_t *
74     libvlc_media_list_new( libvlc_instance_t *, libvlc_exception_t * );
75
76 VLC_PUBLIC_API void
77     libvlc_media_list_release( libvlc_media_list_t * );
78
79 VLC_PUBLIC_API void
80     libvlc_media_list_retain( libvlc_media_list_t * );
81
82 VLC_PUBLIC_API void
83     libvlc_media_list_add_file_content( libvlc_media_list_t * p_mlist,
84                                         const char * psz_uri,
85                                         libvlc_exception_t * p_e );
86
87 VLC_PUBLIC_API void
88     libvlc_media_list_set_media_descriptor( libvlc_media_list_t *,
89                                             libvlc_media_descriptor_t *,
90                                             libvlc_exception_t *);
91
92 VLC_PUBLIC_API libvlc_media_descriptor_t *
93     libvlc_media_list_media_descriptor( libvlc_media_list_t *,
94                                         libvlc_exception_t *);
95
96 VLC_PUBLIC_API void
97     libvlc_media_list_add_media_descriptor( libvlc_media_list_t *,
98                                             libvlc_media_descriptor_t *,
99                                             libvlc_exception_t * );
100 VLC_PUBLIC_API void
101     libvlc_media_list_insert_media_descriptor( libvlc_media_list_t *,
102                                                libvlc_media_descriptor_t *,
103                                                int,
104                                                libvlc_exception_t * );
105 VLC_PUBLIC_API void
106     libvlc_media_list_remove_index( libvlc_media_list_t *, int,
107                                     libvlc_exception_t * );
108
109 VLC_PUBLIC_API int
110     libvlc_media_list_count( libvlc_media_list_t * p_mlist,
111                              libvlc_exception_t * p_e );
112
113 VLC_PUBLIC_API libvlc_media_descriptor_t *
114     libvlc_media_list_item_at_index( libvlc_media_list_t *, int,
115                                      libvlc_exception_t * );
116 VLC_PUBLIC_API int
117     libvlc_media_list_index_of_item( libvlc_media_list_t *,
118                                      libvlc_media_descriptor_t *,
119                                      libvlc_exception_t * );
120
121 /* This indicates if this media list is read-only from a user point of view */
122 VLC_PUBLIC_API vlc_bool_t
123     libvlc_media_list_is_readonly( libvlc_media_list_t * p_mlist );
124
125 VLC_PUBLIC_API void
126     libvlc_media_list_lock( libvlc_media_list_t * );
127 VLC_PUBLIC_API void
128     libvlc_media_list_unlock( libvlc_media_list_t * );
129
130 VLC_PUBLIC_API libvlc_media_list_view_t *
131     libvlc_media_list_flat_view( libvlc_media_list_t *,
132                                  libvlc_exception_t * );
133
134 VLC_PUBLIC_API libvlc_media_list_view_t *
135     libvlc_media_list_hierarchical_view( libvlc_media_list_t *,
136                                          libvlc_exception_t * );
137
138 VLC_PUBLIC_API libvlc_media_list_view_t *
139     libvlc_media_list_hierarchical_node_view( libvlc_media_list_t *,
140                                               libvlc_exception_t * );
141
142 VLC_PUBLIC_API libvlc_event_manager_t *
143     libvlc_media_list_event_manager( libvlc_media_list_t *,
144                                      libvlc_exception_t * );
145 /** @} */
146
147
148 /*****************************************************************************
149  * Media List View
150  *****************************************************************************/
151 /** defgroup libvlc_media_list_view MediaListView
152  * \ingroup libvlc
153  * LibVLC Media List View
154  * @{ */
155
156 VLC_PUBLIC_API void
157     libvlc_media_list_view_retain( libvlc_media_list_view_t * p_mlv );
158
159 VLC_PUBLIC_API void
160     libvlc_media_list_view_release( libvlc_media_list_view_t * p_mlv );
161
162 VLC_PUBLIC_API libvlc_event_manager_t *
163     libvlc_media_list_view_event_manager(  libvlc_media_list_view_t * p_mlv );
164
165 VLC_PUBLIC_API int
166     libvlc_media_list_view_count(  libvlc_media_list_view_t * p_mlv,
167                                    libvlc_exception_t * p_e );
168
169 VLC_PUBLIC_API libvlc_media_descriptor_t *
170     libvlc_media_list_view_item_at_index(  libvlc_media_list_view_t * p_mlv,
171                                            int index,
172                                            libvlc_exception_t * p_e );
173
174 VLC_PUBLIC_API libvlc_media_list_view_t *
175     libvlc_media_list_view_children_at_index(  libvlc_media_list_view_t * p_mlv,
176                                            int index,
177                                            libvlc_exception_t * p_e );
178
179
180 VLC_PUBLIC_API int
181     libvlc_media_list_view_index_of_item(  libvlc_media_list_view_t * p_mlv,
182                                            libvlc_media_descriptor_t * p_md,
183                                            libvlc_exception_t * p_e );
184
185 VLC_PUBLIC_API void
186     libvlc_media_list_view_insert_at_index(  libvlc_media_list_view_t * p_mlv,
187                                              libvlc_media_descriptor_t * p_md,
188                                              int index,
189                                              libvlc_exception_t * p_e );
190
191 VLC_PUBLIC_API void
192     libvlc_media_list_view_remove_at_index(  libvlc_media_list_view_t * p_mlv,
193                                              int index,
194                                              libvlc_exception_t * p_e );
195
196 VLC_PUBLIC_API void
197     libvlc_media_list_view_add_item(  libvlc_media_list_view_t * p_mlv,
198                                       libvlc_media_descriptor_t * p_md,
199                                       libvlc_exception_t * p_e );
200
201 VLC_PUBLIC_API libvlc_media_list_t *
202     libvlc_media_list_view_parent_media_list(  libvlc_media_list_view_t * p_mlv,
203                                                libvlc_exception_t * p_e );
204
205 /** @} */
206
207 /*****************************************************************************
208  * Dynamic Media List (Deprecated)
209  *****************************************************************************/
210 /** defgroup libvlc_media_list MediaList
211  * \ingroup libvlc
212  * LibVLC Media List
213  * @{ */
214
215 VLC_PUBLIC_API libvlc_dynamic_media_list_t *
216     libvlc_dynamic_media_list_new(  libvlc_media_list_t * p_mlist,
217                                     libvlc_tag_query_t * p_query,
218                                     libvlc_tag_t tag,
219                                     libvlc_exception_t * p_e );
220 VLC_PUBLIC_API void
221     libvlc_dynamic_media_list_release( libvlc_dynamic_media_list_t * p_dmlist );
222
223 VLC_PUBLIC_API void
224     libvlc_dynamic_media_list_retain( libvlc_dynamic_media_list_t * p_dmlist );
225
226 libvlc_media_list_t *
227     libvlc_dynamic_media_list_media_list( libvlc_dynamic_media_list_t * p_dmlist,
228                                           libvlc_exception_t * p_e );
229
230 /** @} */
231
232 /*****************************************************************************
233  * Media Library
234  *****************************************************************************/
235 /** defgroup libvlc_media_library Media Library
236  * \ingroup libvlc
237  * LibVLC Media Library
238  * @{
239  */
240 VLC_PUBLIC_API libvlc_media_library_t *
241     libvlc_media_library_new( libvlc_instance_t * p_inst,
242                               libvlc_exception_t * p_e );
243 VLC_PUBLIC_API void
244     libvlc_media_library_release( libvlc_media_library_t * p_mlib );
245 VLC_PUBLIC_API void
246     libvlc_media_library_retain( libvlc_media_library_t * p_mlib );
247
248
249 VLC_PUBLIC_API void
250     libvlc_media_library_load( libvlc_media_library_t * p_mlib,
251                                libvlc_exception_t * p_e );
252
253 VLC_PUBLIC_API void
254     libvlc_media_library_save( libvlc_media_library_t * p_mlib,
255                                libvlc_exception_t * p_e );
256
257 VLC_PUBLIC_API libvlc_media_list_t *
258     libvlc_media_library_media_list( libvlc_media_library_t * p_mlib,
259                                      libvlc_exception_t * p_e );
260
261
262 /** @} */
263
264 /*****************************************************************************
265  * Media List Player
266  *****************************************************************************/
267 /** defgroup libvlc_media_list_player MediaListPlayer
268  * \ingroup libvlc
269  * LibVLC Media List Player
270  * @{
271  */
272 VLC_PUBLIC_API libvlc_media_list_player_t *
273     libvlc_media_list_player_new( libvlc_instance_t * p_instance,
274                                   libvlc_exception_t * p_e );
275 VLC_PUBLIC_API void
276     libvlc_media_list_player_release( libvlc_media_list_player_t * p_mlp );
277
278 VLC_PUBLIC_API void
279     libvlc_media_list_player_set_media_instance(
280                                      libvlc_media_list_player_t * p_mlp,
281                                      libvlc_media_instance_t * p_mi,
282                                      libvlc_exception_t * p_e );
283
284 VLC_PUBLIC_API void
285     libvlc_media_list_player_set_media_list(
286                                      libvlc_media_list_player_t * p_mlp,
287                                      libvlc_media_list_t * p_mlist,
288                                      libvlc_exception_t * p_e );
289
290 VLC_PUBLIC_API void
291     libvlc_media_list_player_play( libvlc_media_list_player_t * p_mlp,
292                                    libvlc_exception_t * p_e );
293
294 VLC_PUBLIC_API void
295     libvlc_media_list_player_pause( libvlc_media_list_player_t * p_mlp,
296                                    libvlc_exception_t * p_e );
297
298 VLC_PUBLIC_API vlc_bool_t
299     libvlc_media_list_player_is_playing( libvlc_media_list_player_t * p_mlp,
300                                          libvlc_exception_t * p_e );
301
302 VLC_PUBLIC_API libvlc_state_t
303     libvlc_media_list_player_get_state( libvlc_media_list_player_t * p_mlp,
304                                         libvlc_exception_t * p_e );
305
306 VLC_PUBLIC_API void
307     libvlc_media_list_player_play_item_at_index(
308                                    libvlc_media_list_player_t * p_mlp,
309                                    int i_index,
310                                    libvlc_exception_t * p_e );
311
312 VLC_PUBLIC_API void
313     libvlc_media_list_player_play_item(
314                                    libvlc_media_list_player_t * p_mlp,
315                                    libvlc_media_descriptor_t * p_md,
316                                    libvlc_exception_t * p_e );
317
318 VLC_PUBLIC_API void
319     libvlc_media_list_player_stop( libvlc_media_list_player_t * p_mlp,
320                                    libvlc_exception_t * p_e );
321 VLC_PUBLIC_API void
322     libvlc_media_list_player_next( libvlc_media_list_player_t * p_mlp,
323                                    libvlc_exception_t * p_e );
324
325 /** @} */
326
327 /**
328  * Get current crop filter geometry
329  * \param p_input the input
330  * \param p_exception an initialized exception
331  * \return the crop filter geometry
332  */
333 VLC_PUBLIC_API char *libvlc_video_get_crop_geometry( libvlc_media_instance_t *, libvlc_exception_t * );
334
335 /**
336  * Set new crop filter geometry
337  * \param p_input the input
338  * \param psz_geometry new crop filter geometry
339  * \param p_exception an initialized exception
340  */
341 VLC_PUBLIC_API void libvlc_video_set_crop_geometry( libvlc_media_instance_t *, char *, libvlc_exception_t * );
342
343 /**
344  * Toggle teletext transparent status on video output
345  * \param p_input the input
346  * \param p_exception an initialized exception
347  */
348 VLC_PUBLIC_API void libvlc_toggle_teletext( libvlc_media_instance_t *, libvlc_exception_t * );
349
350 /**
351  * Get current teletext page requested.
352  * \param p_input the input
353  * \param p_exception an initialized exception
354  * \return the current teletext page requested.
355  */
356 VLC_PUBLIC_API int libvlc_video_get_teletext( libvlc_media_instance_t *, libvlc_exception_t * );
357
358 /**
359  * Set new teletext page to retrieve
360  * \param p_input the input
361  * \param i_page teletex page number requested
362  * \param p_exception an initialized exception
363  */
364 VLC_PUBLIC_API void libvlc_video_set_teletext( libvlc_media_instance_t *, int, libvlc_exception_t * );
365
366 /**
367  * Take a snapshot of the current video window
368  * If i_width AND i_height is 0, original size is used
369  * if i_width XOR i_height is 0, original aspect-ratio is preserved
370  * \param p_input the input
371  * \param psz_filepath the path where to save the screenshot to
372  * \param i_width the snapshot's width
373  * \param i_height the snapshot's height
374  * \param p_exception an initialized exception
375  */
376 VLC_PUBLIC_API void libvlc_video_take_snapshot( libvlc_media_instance_t *, char *,unsigned int, unsigned int, libvlc_exception_t * );
377
378 /**
379  * Tell windowless video output to redraw rectangular area (MacOS X only)
380  * \param p_instance libvlc instance
381  * \param area coordinates within video drawable
382  * \param p_exception an initialized exception
383  */
384 VLC_PUBLIC_API void libvlc_video_redraw_rectangle( libvlc_media_instance_t *, const libvlc_rectangle_t *, libvlc_exception_t * );
385
386
387  * Set the default video output viewport for a windowless video output (MacOS X only)
388  *  this settings will be used as default for all video outputs
389  * \param p_instance libvlc instance
390  * \param view coordinates within video drawable
391  * \param clip coordinates within video drawable
392  * \param p_exception an initialized exception
393  */
394 VLC_PUBLIC_API void libvlc_video_set_viewport( libvlc_instance_t *, const libvlc_rectangle_t *, const libvlc_rectangle_t *, libvlc_exception_t * );
395
396 /** @} */
397
398 /**
399  * Get number of available audio tracks
400  * \param p_mi media instance
401  * \param p_e an initialized exception
402  * \return the number of available audio tracks (int)
403  */
404 VLC_PUBLIC_API int libvlc_audio_get_track_count( libvlc_media_instance_t *,  libvlc_exception_t * );
405
406 /**
407 +  * Get current audio track
408 +  * \param p_input input instance
409 +  * \param p_exception an initialized exception
410 +  * \return the audio track (int)
411 +  */
412 VLC_PUBLIC_API int libvlc_audio_get_track( libvlc_media_instance_t *, libvlc_exception_t * );
413
414 /**
415  * Set current audio track
416  * \param p_input input instance
417  * \param i_track the track (int)
418  * \param p_exception an initialized exception
419  */
420 VLC_PUBLIC_API void libvlc_audio_set_track( libvlc_media_instance_t *, int, libvlc_exception_t * );
421
422
423 /*****************************************************************************
424  * Services/Media Discovery
425  *****************************************************************************/
426 /** defgroup libvlc_media_discoverer Media Discoverer
427  * \ingroup libvlc
428  * LibVLC Media Discoverer
429  * @{
430  */
431
432 VLC_PUBLIC_API libvlc_media_discoverer_t *
433 libvlc_media_discoverer_new_from_name( libvlc_instance_t * p_inst,
434                                        const char * psz_name,
435                                        libvlc_exception_t * p_e );
436 VLC_PUBLIC_API void   libvlc_media_discoverer_release( libvlc_media_discoverer_t * p_mdis );
437 VLC_PUBLIC_API char * libvlc_media_discoverer_localized_name( libvlc_media_discoverer_t * p_mdis );
438
439 VLC_PUBLIC_API libvlc_media_list_t * libvlc_media_discoverer_media_list( libvlc_media_discoverer_t * p_mdis );
440
441 VLC_PUBLIC_API libvlc_event_manager_t *
442         libvlc_media_discoverer_event_manager( libvlc_media_discoverer_t * p_mdis );
443
444 VLC_PUBLIC_API vlc_bool_t
445         libvlc_media_discoverer_is_running( libvlc_media_discoverer_t * p_mdis );
446
447 /*****************************************************************************
448  * Message log handling
449  *****************************************************************************/
450
451 /** defgroup libvlc_log Log
452  * \ingroup libvlc
453  * LibVLC Message Logging
454  * @{
455  */
456
457 /**
458  * Returns the VLC messaging verbosity level
459  * \param p_instance libvlc instance
460  * \param exception an initialized exception pointer
461  */
462 VLC_PUBLIC_API unsigned libvlc_get_log_verbosity( const libvlc_instance_t *p_instance,
463                                                   libvlc_exception_t *p_e );
464
465 /**
466  * Set the VLC messaging verbosity level
467  * \param p_log libvlc log instance
468  * \param exception an initialized exception pointer
469  */
470 VLC_PUBLIC_API void libvlc_set_log_verbosity( libvlc_instance_t *p_instance, unsigned level,
471                                               libvlc_exception_t *p_e );
472
473 /**
474  * Open an instance to VLC message log
475  * \param p_instance libvlc instance
476  * \param exception an initialized exception pointer
477  */
478 VLC_PUBLIC_API libvlc_log_t *libvlc_log_open( libvlc_instance_t *, libvlc_exception_t *);
479
480 /**
481  * Close an instance of VLC message log
482  * \param p_log libvlc log instance
483  * \param exception an initialized exception pointer
484  */
485 VLC_PUBLIC_API void libvlc_log_close( libvlc_log_t *, libvlc_exception_t *);
486
487 /**
488  * Returns the number of messages in log
489  * \param p_log libvlc log instance
490  * \param exception an initialized exception pointer
491  */
492 VLC_PUBLIC_API unsigned libvlc_log_count( const libvlc_log_t *, libvlc_exception_t *);
493
494 /**
495  * Clear all messages in log
496  *  the log should be cleared on a regular basis to avoid clogging
497  * \param p_log libvlc log instance
498  * \param exception an initialized exception pointer
499  */
500 VLC_PUBLIC_API void libvlc_log_clear( libvlc_log_t *, libvlc_exception_t *);
501
502 /**
503  * Allocate and returns a new iterator to messages in log
504  * \param p_log libvlc log instance
505  * \param exception an initialized exception pointer
506  */
507 VLC_PUBLIC_API libvlc_log_iterator_t *libvlc_log_get_iterator( const libvlc_log_t *, libvlc_exception_t *);
508
509 /**
510  * Releases a previoulsy allocated iterator
511  * \param p_log libvlc log iterator
512  * \param exception an initialized exception pointer
513  */
514 VLC_PUBLIC_API void libvlc_log_iterator_free( libvlc_log_iterator_t *p_iter, libvlc_exception_t *p_e );
515
516 /**
517  * Returns whether log iterator has more messages
518  * \param p_log libvlc log iterator
519  * \param exception an initialized exception pointer
520  */
521 VLC_PUBLIC_API int libvlc_log_iterator_has_next( const libvlc_log_iterator_t *p_iter, libvlc_exception_t *p_e );
522
523 /**
524  * Returns next log message
525  *   the content of message must not be freed
526  * \param p_log libvlc log iterator
527  * \param exception an initialized exception pointer
528  */
529 VLC_PUBLIC_API libvlc_log_message_t *libvlc_log_iterator_next( libvlc_log_iterator_t *p_iter,
530                                                                struct libvlc_log_message_t *buffer,
531                                                                libvlc_exception_t *p_e );
532
533 /** @} */
534
535 /*****************************************************************************
536  * Event handling
537  *****************************************************************************/
538
539 /** defgroup libvlc_callbacks Callbacks
540  * \ingroup libvlc
541  * LibVLC Events
542  * @{
543  */
544
545 /**
546  * Register for an event notification
547  * \param p_event_manager the event manager to which you want to attach to
548  * Generally it is obtained by vlc_my_object_event_manager() where my_object
549  * Is the object you want to listen to.
550  * \param i_event_type the desired event to which we want to listen
551  * \param f_callback the function to call when i_event_type occurs
552  * \param user_data user provided data to carry with the event
553  * \param p_e an initialized exception pointer
554  */
555 VLC_PUBLIC_API void libvlc_event_attach( libvlc_event_manager_t *p_event_manager,
556                                          libvlc_event_type_t i_event_type,
557                                          libvlc_callback_t f_callback,
558                                          void *user_data,
559                                          libvlc_exception_t *p_e );
560
561 /**
562  * Unregister an event notification
563  * \param p_event_manager the event manager
564  * \param i_event_type the desired event to which we want to unregister
565  * \param f_callback the function to call when i_event_type occurs
566  * \param p_e an initialized exception pointer
567  */
568 VLC_PUBLIC_API void libvlc_event_detach( libvlc_event_manager_t *p_event_manager,
569                                          libvlc_event_type_t i_event_type,
570                                          libvlc_callback_t f_callback,
571                                          void *p_user_data,
572                                          libvlc_exception_t *p_e );
573
574 /**
575  * Get an event type name
576  * \param i_event_type the desired event
577  */
578 VLC_PUBLIC_API const char * libvlc_event_type_name( libvlc_event_type_t event_type );
579