VLC  3.0.15
Modules | Files | Data Structures | Macros | Typedefs | Enumerator | Functions | Variables
Interface

VLC user interfaces. More...

Collaboration diagram for Interface:

Modules

 VLC dialog
 
 Interaction
 
 Software updates
 

Files

file  vlc_interface.h
 

Data Structures

struct  intf_thread_t
 Describe all interface-specific data of the interface thread. More...
 
struct  intf_dialog_args_t
 Arguments passed to a dialogs provider This describes the arguments passed to the dialogs provider. More...
 

Macros

#define pl_CurrentInput(intf)   (playlist_CurrentInput(pl_Get(intf)))
 Retrieves the current input thread from the playlist. More...
 

Typedefs

typedef struct intf_sys_t intf_sys_t
 
typedef struct intf_thread_t intf_thread_t
 Describe all interface-specific data of the interface thread. More...
 

Functions

int intf_Create (playlist_t *, const char *)
 Create and start an interface. More...
 
void libvlc_Quit (libvlc_int_t *)
 Posts an exit signal to LibVLC instance. More...
 
static playlist_tpl_Get (struct intf_thread_t *intf)
 

Variables

struct vlc_common_members intf_thread_t::obj
 
struct intf_thread_tintf_thread_t::p_next
 
intf_sys_tintf_thread_t::p_sys
 LibVLC interfaces book keeping. More...
 
module_tintf_thread_t::p_module
 system interface More...
 
void(* intf_thread_t::pf_show_dialog )(struct intf_thread_t *, int, int, intf_dialog_args_t *)
 Specific for dialogs providers. More...
 
config_chain_tintf_thread_t::p_cfg
 
intf_thread_tintf_dialog_args_t::p_intf
 
char * intf_dialog_args_t::psz_title
 
char ** intf_dialog_args_t::psz_results
 
int intf_dialog_args_t::i_results
 
void(* intf_dialog_args_t::pf_callback )(intf_dialog_args_t *)
 
void * intf_dialog_args_t::p_arg
 
char * intf_dialog_args_t::psz_extensions
 
bool intf_dialog_args_t::b_save
 
bool intf_dialog_args_t::b_multiple
 
struct interaction_dialog_tintf_dialog_args_t::p_dialog
 
int interaction_dialog_t::i_type
 Type identifier. More...
 
char * interaction_dialog_t::psz_title
 Title. More...
 
char * interaction_dialog_t::psz_description
 Descriptor string. More...
 
char * interaction_dialog_t::psz_default_button
 default button title (~OK) More...
 
char * interaction_dialog_t::psz_alternate_button
 alternate button title (~NO) More...
 
char * interaction_dialog_t::psz_other_button
 other button title (optional,~Cancel) More...
 
char * interaction_dialog_t::psz_returned [1]
 returned responses from the user More...
 
vlc_value_t interaction_dialog_t::val
 value coming from core for dialogue More...
 
int interaction_dialog_t::i_timeToGo
 time (in sec) until shown progress is finished More...
 
bool interaction_dialog_t::b_cancelled
 was the dialogue cancelled ? More...
 
void * interaction_dialog_t::p_private
 Private interface data. More...
 
int interaction_dialog_t::i_status
 Dialog status;. More...
 
int interaction_dialog_t::i_action
 Action to perform;. More...
 
int interaction_dialog_t::i_flags
 Misc flags. More...
 
int interaction_dialog_t::i_return
 Return status. More...
 
vlc_object_tinteraction_dialog_t::p_parent
 The vlc object that asked. More...
 
intf_thread_tinteraction_dialog_t::p_interface
 
vlc_mutex_tinteraction_dialog_t::p_lock
 
enum  vlc_intf_dialog {
  INTF_DIALOG_FILE_SIMPLE = 1, INTF_DIALOG_FILE, INTF_DIALOG_DISC, INTF_DIALOG_NET,
  INTF_DIALOG_CAPTURE, INTF_DIALOG_SAT, INTF_DIALOG_DIRECTORY, INTF_DIALOG_STREAMWIZARD,
  INTF_DIALOG_WIZARD, INTF_DIALOG_PLAYLIST, INTF_DIALOG_MESSAGES, INTF_DIALOG_FILEINFO,
  INTF_DIALOG_PREFS, INTF_DIALOG_BOOKMARKS, INTF_DIALOG_EXTENDED, INTF_DIALOG_RENDERER,
  INTF_DIALOG_POPUPMENU = 20, INTF_DIALOG_AUDIOPOPUPMENU, INTF_DIALOG_VIDEOPOPUPMENU, INTF_DIALOG_MISCPOPUPMENU,
  INTF_DIALOG_FILE_GENERIC = 30, INTF_DIALOG_INTERACTION = 50, INTF_DIALOG_SENDKEY = 51, INTF_DIALOG_UPDATEVLC = 90,
  INTF_DIALOG_VLM, INTF_DIALOG_EXIT = 99
}
 
enum  { DIALOG_OK_YES, DIALOG_NO, DIALOG_CANCELLED }
 Possible return codes. More...
 
enum  { ANSWERED_DIALOG, DESTROYED_DIALOG }
 Possible status
More...
 
enum  { INTERACT_NEW, INTERACT_UPDATE, INTERACT_HIDE, INTERACT_DESTROY }
 Possible actions. More...
 
typedef enum vlc_intf_dialog vlc_intf_dialog
 
typedef struct interaction_dialog_t interaction_dialog_t
 This structure describes a piece of interaction with the user. More...
 
void vlc_LogSet (libvlc_int_t *, vlc_log_cb cb, void *data)
 Sets the message logging callback. More...
 
#define INTF_ABOUT_MSG   LICENSE_MSG
 
#define EXTENSIONS_AUDIO_CSV
 
#define EXTENSIONS_VIDEO_CSV
 
#define EXTENSIONS_AUDIO
 
#define EXTENSIONS_VIDEO
 
#define EXTENSIONS_PLAYLIST   "*.asx;*.b4s;*.cue;*.ifo;*.m3u;*.m3u8;*.pls;*.ram;*.rar;*.sdp;*.vlc;*.xspf;*.wax;*.wvx;*.zip;*.conf"
 
#define EXTENSIONS_MEDIA
 
#define EXTENSIONS_SUBTITLE
 
#define DIALOG_GOT_ANSWER   0x01
 Possible flags . More...
 
#define DIALOG_YES_NO_CANCEL   0x02
 
#define DIALOG_LOGIN_PW_OK_CANCEL   0x04
 
#define DIALOG_PSZ_INPUT_OK_CANCEL   0x08
 
#define DIALOG_BLOCKING_ERROR   0x10
 
#define DIALOG_NONBLOCKING_ERROR   0x20
 
#define DIALOG_USER_PROGRESS   0x80
 
#define DIALOG_INTF_PROGRESS   0x100
 
#define intf_UserStringInput(a, b, c, d)   (VLC_OBJECT(a),b,c,d, VLC_EGENERIC)
 
#define interaction_Register(t)   (t, VLC_EGENERIC)
 
#define interaction_Unregister(t)   (t, VLC_EGENERIC)
 

Detailed Description

VLC user interfaces.

Macro Definition Documentation

◆ DIALOG_BLOCKING_ERROR

#define DIALOG_BLOCKING_ERROR   0x10

◆ DIALOG_GOT_ANSWER

#define DIALOG_GOT_ANSWER   0x01

Possible flags .

Dialog types

◆ DIALOG_INTF_PROGRESS

#define DIALOG_INTF_PROGRESS   0x100

◆ DIALOG_LOGIN_PW_OK_CANCEL

#define DIALOG_LOGIN_PW_OK_CANCEL   0x04

◆ DIALOG_NONBLOCKING_ERROR

#define DIALOG_NONBLOCKING_ERROR   0x20

◆ DIALOG_PSZ_INPUT_OK_CANCEL

#define DIALOG_PSZ_INPUT_OK_CANCEL   0x08

◆ DIALOG_USER_PROGRESS

#define DIALOG_USER_PROGRESS   0x80

◆ DIALOG_YES_NO_CANCEL

#define DIALOG_YES_NO_CANCEL   0x02

◆ EXTENSIONS_AUDIO

#define EXTENSIONS_AUDIO

◆ EXTENSIONS_AUDIO_CSV

#define EXTENSIONS_AUDIO_CSV
Value:
"3ga", "669", "a52", "aac", "ac3", "adt", "adts", "aif", "aifc", "aiff", \
"amb", "amr", "aob", "ape", "au", "awb", "caf", "dts", "flac", "it", "kar", \
"m4a", "m4b", "m4p", "m5p", "mka", "mlp", "mod", "mpa", "mp1", "mp2", "mp3", "mpc", "mpga", "mus", \
"oga", "ogg", "oma", "opus", "qcp", "ra", "rmi", "s3m", "sid", "spx", "tak", "thd", "tta", \
"voc", "vqf", "w64", "wav", "wma", "wv", "xa", "xm"

◆ EXTENSIONS_MEDIA

#define EXTENSIONS_MEDIA
Value:
EXTENSIONS_PLAYLIST

◆ EXTENSIONS_PLAYLIST

#define EXTENSIONS_PLAYLIST   "*.asx;*.b4s;*.cue;*.ifo;*.m3u;*.m3u8;*.pls;*.ram;*.rar;*.sdp;*.vlc;*.xspf;*.wax;*.wvx;*.zip;*.conf"

◆ EXTENSIONS_SUBTITLE

#define EXTENSIONS_SUBTITLE
Value:
"*.cdg;*.idx;*.srt;" \
"*.sub;*.utf;*.ass;" \
"*.ssa;*.aqt;" \
"*.jss;*.psb;" \
"*.rt;*.sami;*.smi;*.txt;" \
"*.smil;*.stl;*.usf;" \
"*.dks;*.pjs;*.mpl2;*.mks;" \
"*.vtt;*.tt;*.ttml;*.dfxp;" \
"*.scc"

◆ EXTENSIONS_VIDEO

#define EXTENSIONS_VIDEO
Value:
"*.3g2;*.3gp;*.3gp2;*.3gpp;*.amv;*.asf;*.avi;*.bik;*.bin;*.crf;*.divx;*.drc;*.dv;*.dvr-ms;*.evo;*.f4v;*.flv;*.gvi;*.gxf;*.iso;*.m1v;*.m2v;" \
"*.m2t;*.m2ts;*.m4v;*.mkv;*.mov;*.mp2;*.mp2v;*.mp4;*.mp4v;*.mpe;*.mpeg;*.mpeg1;" \
"*.mpeg2;*.mpeg4;*.mpg;*.mpv2;*.mts;*.mtv;*.mxf;*.mxg;*.nsv;*.nuv;" \
"*.ogg;*.ogm;*.ogv;*.ogx;*.ps;" \
"*.rec;*.rm;*.rmvb;*.rpl;*.thp;*.tod;*.tp;*.ts;*.tts;*.txd;*.vob;*.vro;*.webm;*.wm;*.wmv;*.wtv;*.xesc"

◆ EXTENSIONS_VIDEO_CSV

#define EXTENSIONS_VIDEO_CSV
Value:
"3g2", "3gp", "3gp2", "3gpp", "amv", "asf", "avi", "bik", "crf", "divx", "drc", "dv", "dvr-ms" \
"evo", "f4v", "flv", "gvi", "gxf", "iso", \
"m1v", "m2v", "m2t", "m2ts", "m4v", "mkv", "mov",\
"mp2", "mp2v", "mp4", "mp4v", "mpe", "mpeg", "mpeg1", \
"mpeg2", "mpeg4", "mpg", "mpv2", "mts", "mtv", "mxf", "mxg", "nsv", "nuv", \
"ogg", "ogm", "ogv", "ogx", "ps", \
"rec", "rm", "rmvb", "rpl", "thp", "tod", "ts", "tts", "txd", "vob", "vro", \
"webm", "wm", "wmv", "wtv", "xesc"

◆ interaction_Register

#define interaction_Register (   t)    (t, VLC_EGENERIC)

◆ interaction_Unregister

#define interaction_Unregister (   t)    (t, VLC_EGENERIC)

◆ INTF_ABOUT_MSG

#define INTF_ABOUT_MSG   LICENSE_MSG

◆ intf_UserStringInput

#define intf_UserStringInput (   a,
  b,
  c,
 
)    (VLC_OBJECT(a),b,c,d, VLC_EGENERIC)

◆ pl_CurrentInput

#define pl_CurrentInput (   intf)    (playlist_CurrentInput(pl_Get(intf)))

Retrieves the current input thread from the playlist.

Note
The returned object must be released with vlc_object_release().

Typedef Documentation

◆ interaction_dialog_t

This structure describes a piece of interaction with the user.

◆ intf_sys_t

typedef struct intf_sys_t intf_sys_t

◆ intf_thread_t

typedef struct intf_thread_t intf_thread_t

Describe all interface-specific data of the interface thread.

◆ vlc_intf_dialog

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Possible return codes.

Enumerator
DIALOG_OK_YES 
DIALOG_NO 
DIALOG_CANCELLED 

◆ anonymous enum

anonymous enum

Possible status

Enumerator
ANSWERED_DIALOG 

Got "answer".

DESTROYED_DIALOG 

Interface has destroyed it.

◆ anonymous enum

anonymous enum

Possible actions.

Enumerator
INTERACT_NEW 
INTERACT_UPDATE 
INTERACT_HIDE 
INTERACT_DESTROY 

◆ vlc_intf_dialog

Enumerator
INTF_DIALOG_FILE_SIMPLE 
INTF_DIALOG_FILE 
INTF_DIALOG_DISC 
INTF_DIALOG_NET 
INTF_DIALOG_CAPTURE 
INTF_DIALOG_SAT 
INTF_DIALOG_DIRECTORY 
INTF_DIALOG_STREAMWIZARD 
INTF_DIALOG_WIZARD 
INTF_DIALOG_PLAYLIST 
INTF_DIALOG_MESSAGES 
INTF_DIALOG_FILEINFO 
INTF_DIALOG_PREFS 
INTF_DIALOG_BOOKMARKS 
INTF_DIALOG_EXTENDED 
INTF_DIALOG_RENDERER 
INTF_DIALOG_POPUPMENU 
INTF_DIALOG_AUDIOPOPUPMENU 
INTF_DIALOG_VIDEOPOPUPMENU 
INTF_DIALOG_MISCPOPUPMENU 
INTF_DIALOG_FILE_GENERIC 
INTF_DIALOG_INTERACTION 
INTF_DIALOG_SENDKEY 
INTF_DIALOG_UPDATEVLC 
INTF_DIALOG_VLM 
INTF_DIALOG_EXIT 

Function Documentation

◆ intf_Create()

int intf_Create ( playlist_t playlist,
const char *  chain 
)

Create and start an interface.

Parameters
playlistplaylist and parent object for the interface
chainconfiguration chain string
Returns
VLC_SUCCESS or an error code

< Not enough memory

< No error

< Unspecified error

References _, AddIntfCallback(), config_ChainCreate(), config_ChainDestroy(), lock, module_need, module_unneed, msg_Err, intf_thread_t::p_cfg, intf_thread_t::p_module, intf_thread_t::p_next, pl_priv, vlc_value_t::psz_string, unlikely, var_AddCallback, var_Change, var_Create, vlc_custom_create, VLC_EGENERIC, VLC_ENOMEM, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_object_release, VLC_SUCCESS, VLC_VAR_ADDCHOICE, VLC_VAR_ISCOMMAND, VLC_VAR_SETTEXT, and VLC_VAR_STRING.

Referenced by AddIntfCallback(), and libvlc_InternalAddIntf().

◆ libvlc_Quit()

void libvlc_Quit ( libvlc_int_t p_libvlc)

Posts an exit signal to LibVLC instance.

This function should only be called on behalf of the user.

References libvlc_priv_t::exit, vlc_exit::handler, libvlc_priv(), vlc_exit::lock, msg_Dbg, vlc_exit::opaque, vlc_mutex_lock(), and vlc_mutex_unlock().

Referenced by Thread().

◆ pl_Get()

static playlist_t* pl_Get ( struct intf_thread_t intf)
inlinestatic

◆ vlc_LogSet()

void vlc_LogSet ( libvlc_int_t vlc,
vlc_log_cb  cb,
void *  opaque 
)

Sets the message logging callback.

Parameters
cbmessage callback, or NULL to clear
datadata pointer for the message callback

References libvlc_priv(), vlc_logger_t::lock, vlc_logger_t::log, libvlc_priv_t::logger, vlc_logger_t::module, msg_Dbg, psz_vlc_changeset, vlc_logger_t::sys, unlikely, vlc_logger_unload(), vlc_module_unload, vlc_rwlock_unlock(), vlc_rwlock_wrlock(), and vlc_vaLogDiscard().

Variable Documentation

◆ b_cancelled

bool interaction_dialog_t::b_cancelled

was the dialogue cancelled ?

◆ b_multiple

bool intf_dialog_args_t::b_multiple

◆ b_save

bool intf_dialog_args_t::b_save

◆ i_action

int interaction_dialog_t::i_action

Action to perform;.

◆ i_flags

int interaction_dialog_t::i_flags

Misc flags.

◆ i_results

int intf_dialog_args_t::i_results

◆ i_return

int interaction_dialog_t::i_return

Return status.

◆ i_status

int interaction_dialog_t::i_status

Dialog status;.

◆ i_timeToGo

int interaction_dialog_t::i_timeToGo

time (in sec) until shown progress is finished

◆ i_type

int interaction_dialog_t::i_type

Type identifier.

◆ obj

struct vlc_common_members intf_thread_t::obj

Referenced by pl_Get().

◆ p_arg

void* intf_dialog_args_t::p_arg

◆ p_cfg

config_chain_t* intf_thread_t::p_cfg

Referenced by intf_Create(), and intf_DestroyAll().

◆ p_dialog

struct interaction_dialog_t* intf_dialog_args_t::p_dialog

◆ p_interface

intf_thread_t* interaction_dialog_t::p_interface

◆ p_intf

intf_thread_t* intf_dialog_args_t::p_intf

◆ p_lock

vlc_mutex_t* interaction_dialog_t::p_lock

◆ p_module

module_t* intf_thread_t::p_module

system interface

Interface module

Referenced by intf_Create(), and intf_DestroyAll().

◆ p_next

struct intf_thread_t* intf_thread_t::p_next

Referenced by intf_Create(), and intf_DestroyAll().

◆ p_parent

vlc_object_t* interaction_dialog_t::p_parent

The vlc object that asked.

◆ p_private

void* interaction_dialog_t::p_private

Private interface data.

◆ p_sys

intf_sys_t* intf_thread_t::p_sys

LibVLC interfaces book keeping.

◆ pf_callback

void(* intf_dialog_args_t::pf_callback) (intf_dialog_args_t *)

◆ pf_show_dialog

void( * intf_thread_t::pf_show_dialog) (struct intf_thread_t *, int, int, intf_dialog_args_t *)

Specific for dialogs providers.

◆ psz_alternate_button

char* interaction_dialog_t::psz_alternate_button

alternate button title (~NO)

◆ psz_default_button

char* interaction_dialog_t::psz_default_button

default button title (~OK)

◆ psz_description

char* interaction_dialog_t::psz_description

Descriptor string.

◆ psz_extensions

char* intf_dialog_args_t::psz_extensions

◆ psz_other_button

char* interaction_dialog_t::psz_other_button

other button title (optional,~Cancel)

◆ psz_results

char** intf_dialog_args_t::psz_results

◆ psz_returned

char* interaction_dialog_t::psz_returned[1]

returned responses from the user

◆ psz_title [1/2]

char* intf_dialog_args_t::psz_title

◆ psz_title [2/2]

char* interaction_dialog_t::psz_title

Title.

◆ val

vlc_value_t interaction_dialog_t::val

value coming from core for dialogue

EXTENSIONS_AUDIO
#define EXTENSIONS_AUDIO
Definition: vlc_interface.h:167
EXTENSIONS_VIDEO
#define EXTENSIONS_VIDEO
Definition: vlc_interface.h:226