Difference between revisions of "Hacker Guide/How To Write a Module"
Jump to navigation
Jump to search
Line 56: | Line 56: | ||
* add_integer | * add_integer | ||
* add_string | * add_string | ||
− | * | + | * add_float |
+ | * add_bool | ||
+ | * add_key | ||
+ | * add_file | ||
+ | * add_directory | ||
+ | |||
+ | For complete definitions, see include/configuration.h | ||
== Open(vlc_object_t *) == | == Open(vlc_object_t *) == | ||
== Close(vlc_object_t *) == | == Close(vlc_object_t *) == |
Revision as of 20:01, 12 February 2007
- This guide is being written by a VLC novice. Please verify all statements below
- Using dvdread.c as the template
Module Descriptor
A VLC Module must include a description of itself, and the parameters it accepts.
The module descriptor begins with:
vlc_module_being();
You should set some category information on your module:
set_shortname( _("DVD without menus") ); set_description( _("DVDRead Input (DVD without menu support)") ); set_category( CAT_INPUT );
Note the use of _("") to create a string. -- Is this required??
Predefined Categories include:
- CAT_INTERFACE
- CAT_AUDIO
- CAT_VIDEO
- CAT_INPUT
- CAT_SOUT
- CAT_ADVANCED
- CAT_PLAYLIST
set_subcategory( SUBCAT_INPUT_ACCESS );
See include/configuration.h for definition of all categories and sub-categories
Adding Parameters
All macros take the following argument list:
add_integer(name, value, p_callback, text, longtext, advc)
- name is the string that identifies this parameter in the configuration. This name may be used at the command prompt to set the configuration value
- value is the default value for this parameter
- p_callback is a function pointer that will be called when the value of this parameter is changed.
- p_callback is called with the following arguments:
( p_this, psz_name, oldval, val, p_config->p_callback_data )
- p_this is a pointer to a vlc_object_t struct
- psz_name is the name of your parameter that is being changed
- oldval is the old value of the parameter
- val is the new value of the parameter
- p_call_back_data is void* data that you can assign for each parameter. Usually NULL.
- text A short description of the parameter
- longtext A complete description of the parameter
- advc Boolean, ADVanced Configuration. If TRUE, this parameter will only be displayed when using the --advanced flag. e.g.
vlc -p dvdread --advanced
e.g.
add_integer("dvdread-angle", 1, NULL, "DVD Angle", "Default DVD Angle", NULL")
You may add the following parameters to your module:
- add_integer
- add_string
- add_float
- add_bool
- add_key
- add_file
- add_directory
For complete definitions, see include/configuration.h