Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

vlc_osd.h File Reference

#include "vlc_video.h"

Go to the source code of this file.

Defines

#define OSD_ALIGN_LEFT   0x1
 The OSD Menu configuration file format.
#define OSD_BUTTON_UNSELECT   0

Functions

 VLC_EXPORT (osd_menu_t *, __osd_MenuCreate,(vlc_object_t *, const char *))
 VLC_EXPORT (void, __osd_MenuDelete,(vlc_object_t *, osd_menu_t *))
 VLC_EXPORT (osd_state_t *, __osd_StateChange,(osd_state_t *, const int))
 VLC_EXPORT (void, __osd_MenuShow,(vlc_object_t *))
 VLC_EXPORT (void, __osd_MenuHide,(vlc_object_t *))
 VLC_EXPORT (void, __osd_MenuActivate,(vlc_object_t *))
 VLC_EXPORT (void, __osd_MenuNext,(vlc_object_t *))
 VLC_EXPORT (void, __osd_MenuPrev,(vlc_object_t *))
 VLC_EXPORT (void, __osd_MenuUp,(vlc_object_t *))
 VLC_EXPORT (void, __osd_MenuDown,(vlc_object_t *))
 VLC_EXPORT (void, __osd_Volume,(vlc_object_t *))
 VLC_EXPORT (int, osd_ShowTextRelative,(spu_t *, int, char *, text_style_t *, int, int, int, mtime_t))
 VLC_EXPORT (int, osd_Slider,(vlc_object_t *, spu_t *, int, int, int, int, short))
 VLC_EXPORT (int, osd_ConfigLoader,(vlc_object_t *, const char *, osd_menu_t **))


Detailed Description

The OSD menu core creates the OSD menu structure in memory. It parses a configuration file that defines all elements that are part of the menu. The core also handles all actions and menu structure updates on behalf of video subpicture filters.

The file modules/video_filters/osdmenu.c implements a subpicture filter that specifies the final information on positioning of the current state image. A subpicture filter is called each time a video picture has to be rendered, it also gives a start and end date to the subpicture. The subpicture can be streamed if used inside a transcoding command. For example:

vlc dvdsimple:///dev/dvd --extraintf rc --sout='#transcode{osd}:std{access=udp,mux=ts,url=dest_ipaddr}' --osdmenu-file=share/osdmenu/dvd.cfg

Each OSD menu element, called "action", defines a hotkey action. Each action can have several states (unselect, select, pressed). Each state has an image that represents the state visually. The commands "menu right", "menu left", "menu up" and "menu down" are used to navigate through the OSD menu structure. The commands "menu on" or "menu show" and "menu off" or "menu hide" respectively show and hide the OSD menu subpictures.

There is one special element called "range". A range is an arbritary range of state images that can be browsed using "menu up" and "menu down" commands on the rc interface.

The OSD menu configuration file uses a very simple syntax and basic parser. A configuration file has the ".cfg". An example is "share/osdmenu/dvd256.cfg".

Definition in file vlc_osd.h.


Define Documentation

#define OSD_ALIGN_LEFT   0x1
 

The OSD Menu configuration file format.

OSD menu position and picture type defines

Definition at line 106 of file vlc_osd.h.

#define OSD_BUTTON_UNSELECT   0
 

OSD menu button states

Every button has three states, either it is unselected, selected or pressed. An OSD menu skin can associate images with each state.

OSD_BUTTON_UNSELECT 0 OSD_BUTTON_SELECT 1 OSD_BUTTON_PRESSED 2

Definition at line 143 of file vlc_osd.h.


Function Documentation

VLC_EXPORT int  ,
osd_ConfigLoader  ,
(vlc_object_t *, const char *, osd_menu_t **) 
 

Loading and parse the OSD Configuration file

These functions load/unload the OSD menu configuration file and create/destroy the themable OSD menu structure on the OSD object.

VLC_EXPORT int  ,
osd_Slider  ,
(vlc_object_t *, spu_t *, int, int, int, int, short) 
 

Default feedback images

Functions that provide the default OSD feedback images on hotkey commands. These feedback images are also part of the osd_button_t object. The types are declared in the include file include/vlc_osd.h

See also:
vlc_osd.h

VLC_EXPORT int  ,
osd_ShowTextRelative  ,
(spu_t *, int, char *, text_style_t *, int, int, int, mtime_t
 

Textual feedback

Functions that provide the textual feedback on the OSD. They are shown on hotkey commands. The feedback is also part of the osd_button_t object. The types are declared in the include file include/vlc_osd.h

See also:
vlc_osd.h

VLC_EXPORT void  ,
__osd_Volume  ,
(vlc_object_t *) 
 

Display the audio volume bitmap.

Display the correct audio volume bitmap that corresponds to the current Audio Volume setting.

VLC_EXPORT void  ,
__osd_MenuDown  ,
(vlc_object_t *) 
 

OSD menu item below

Select the next OSD menu item below the current item to be highlighted. Note: The actual position on screen of the menu item is determined by the the OSD menu configuration file.

VLC_EXPORT void  ,
__osd_MenuUp  ,
(vlc_object_t *) 
 

OSD menu item above

Select the OSD menu item above the current item to be highlighted. Note: The actual position on screen of the menu item is determined by the the OSD menu configuration file.

VLC_EXPORT void  ,
__osd_MenuPrev  ,
(vlc_object_t *) 
 

Previous OSD menu item

Select the previous OSD menu item to be highlighted. Note: The actual position on screen of the menu item is determined by the the OSD menu configuration file.

VLC_EXPORT void  ,
__osd_MenuNext  ,
(vlc_object_t *) 
 

Next OSD menu item

Select the next OSD menu item to be highlighted. Note: The actual position on screen of the menu item is determined by the the OSD menu configuration file.

VLC_EXPORT void  ,
__osd_MenuActivate  ,
(vlc_object_t *) 
 

Activate the action of this OSD menu item.

The rc interface command "menu select" triggers the sending of an hotkey action to the hotkey interface. The hotkey that belongs to the current highlighted OSD menu item will be used.

VLC_EXPORT void  ,
__osd_MenuHide  ,
(vlc_object_t *) 
 

Hide the OSD menu.

Stop showing the OSD menu on the video output or mux it into the stream.

VLC_EXPORT void  ,
__osd_MenuShow  ,
(vlc_object_t *) 
 

Show the OSD menu.

Show the OSD menu on the video output or mux it into the stream. Every change to the OSD menu will now be visible in the output. An output can be a video output window or a stream (

See also:
Stream output)

VLC_EXPORT osd_state_t ,
__osd_StateChange  ,
(osd_state_t *, const int) 
 

Change state on an osd_button_t.

This function selects the specified state and returns a pointer to it. The following states are currently supported:

See also:
OSD_BUTTON_UNSELECT

OSD_BUTTON_SELECT

OSD_BUTTON_PRESSED

VLC_EXPORT void  ,
__osd_MenuDelete  ,
(vlc_object_t *, osd_menu_t *) 
 

Delete the osd_menu_t object

This functions has to be called to release the associated module and memory for the osdmenu. After return of this function the pointer to osd_menu_t* is invalid.

VLC_EXPORT osd_menu_t ,
__osd_MenuCreate  ,
(vlc_object_t *, const char *) 
 

Initialize an osd_menu_t object

This functions has to be called before any call to other osd_menu_t* functions. It creates the osd_menu object and holds a pointer to it during its lifetime.


Generated on Tue Dec 20 10:15:02 2005 for vlc-0.8.4a by  doxygen 1.4.2