Commit be06db8e authored by Antoine Cellerier's avatar Antoine Cellerier

Simplify callback registration.

parent 8ac0d5a7
...@@ -224,7 +224,6 @@ static int Activate( vlc_object_t *p_this ) ...@@ -224,7 +224,6 @@ static int Activate( vlc_object_t *p_this )
i_overwrite = config_GetInt( p_intf, "rc-overwrite" ); i_overwrite = config_GetInt( p_intf, "rc-overwrite" );
#if !defined(AF_LOCAL) || defined(WIN32) #if !defined(AF_LOCAL) || defined(WIN32)
msg_Warn( p_intf, "your OS doesn't support filesystem sockets" ); msg_Warn( p_intf, "your OS doesn't support filesystem sockets" );
free( psz_unix_path ); free( psz_unix_path );
...@@ -365,158 +364,94 @@ static void Deactivate( vlc_object_t *p_this ) ...@@ -365,158 +364,94 @@ static void Deactivate( vlc_object_t *p_this )
static void RegisterCallbacks( intf_thread_t *p_intf ) static void RegisterCallbacks( intf_thread_t *p_intf )
{ {
/* Register commands that will be cleaned up upon object destruction */ /* Register commands that will be cleaned up upon object destruction */
var_Create( p_intf, "quit", VLC_VAR_VOID | VLC_VAR_ISCOMMAND ); #define ADD( name, type, target ) \
var_AddCallback( p_intf, "quit", Quit, NULL ); var_Create( p_intf, name, VLC_VAR_ ## type | VLC_VAR_ISCOMMAND ); \
var_Create( p_intf, "intf", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); var_AddCallback( p_intf, name, target, NULL );
var_AddCallback( p_intf, "intf", Intf, NULL ); ADD( "quit", VOID, Quit )
ADD( "intf", STRING, Intf )
var_Create( p_intf, "add", VLC_VAR_STRING | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "add", Playlist, NULL ); ADD( "add", STRING, Playlist )
var_Create( p_intf, "repeat", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); ADD( "repeat", STRING, Playlist )
var_AddCallback( p_intf, "repeat", Playlist, NULL ); ADD( "loop", STRING, Playlist )
var_Create( p_intf, "loop", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); ADD( "enqueue", STRING, Playlist )
var_AddCallback( p_intf, "loop", Playlist, NULL ); ADD( "playlist", VOID, Playlist )
var_Create( p_intf, "enqueue", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); ADD( "sort", VOID, Playlist )
var_AddCallback( p_intf, "enqueue", Playlist, NULL ); ADD( "play", VOID, Playlist )
var_Create( p_intf, "playlist", VLC_VAR_VOID | VLC_VAR_ISCOMMAND ); ADD( "stop", VOID, Playlist )
var_AddCallback( p_intf, "playlist", Playlist, NULL ); ADD( "clear", VOID, Playlist )
var_Create( p_intf, "sort", VLC_VAR_VOID | VLC_VAR_ISCOMMAND ); ADD( "prev", VOID, Playlist )
var_AddCallback( p_intf, "sort", Playlist, NULL ); ADD( "next", VOID, Playlist )
var_Create( p_intf, "play", VLC_VAR_VOID | VLC_VAR_ISCOMMAND ); ADD( "goto", INTEGER, Playlist )
var_AddCallback( p_intf, "play", Playlist, NULL ); ADD( "status", INTEGER, Playlist )
var_Create( p_intf, "stop", VLC_VAR_VOID | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "stop", Playlist, NULL );
var_Create( p_intf, "clear", VLC_VAR_VOID | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "clear", Playlist, NULL );
var_Create( p_intf, "prev", VLC_VAR_VOID | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "prev", Playlist, NULL );
var_Create( p_intf, "next", VLC_VAR_VOID | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "next", Playlist, NULL );
var_Create( p_intf, "goto", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "goto", Playlist, NULL );
var_Create( p_intf, "status", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "status", Playlist, NULL );
/* marquee on the fly items */ /* marquee on the fly items */
var_Create( p_intf, "marq-marquee", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); ADD( "marq-marquee", STRING, Other )
var_AddCallback( p_intf, "marq-marquee", Other, NULL ); ADD( "marq-x", INTEGER, Other )
var_Create( p_intf, "marq-x", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND ); ADD( "marq-y", INTEGER, Other )
var_AddCallback( p_intf, "marq-x", Other, NULL ); ADD( "marq-position", INTEGER, Other )
var_Create( p_intf, "marq-y", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND ); ADD( "marq-color", INTEGER, Other )
var_AddCallback( p_intf, "marq-y", Other, NULL ); ADD( "marq-opacity", INTEGER, Other )
var_Create( p_intf, "marq-position", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND ); ADD( "marq-timeout", INTEGER, Other )
var_AddCallback( p_intf, "marq-position", Other, NULL ); ADD( "marq-size", INTEGER, Other )
var_Create( p_intf, "marq-color", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "marq-color", Other, NULL ); ADD( "mosaic-alpha", INTEGER, Other )
var_Create( p_intf, "marq-opacity", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND ); ADD( "mosaic-height", INTEGER, Other )
var_AddCallback( p_intf, "marq-opacity", Other, NULL ); ADD( "mosaic-width", INTEGER, Other )
var_Create( p_intf, "marq-timeout", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND ); ADD( "mosaic-xoffset", INTEGER, Other )
var_AddCallback( p_intf, "marq-timeout", Other, NULL ); ADD( "mosaic-yoffset", INTEGER, Other )
var_Create( p_intf, "marq-size", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND ); ADD( "mosaic-offsets", STRING, Other )
var_AddCallback( p_intf, "marq-size", Other, NULL ); ADD( "mosaic-align", INTEGER, Other )
ADD( "mosaic-vborder", INTEGER, Other )
var_Create( p_intf, "mosaic-alpha", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND ); ADD( "mosaic-hborder", INTEGER, Other )
var_AddCallback( p_intf, "mosaic-alpha", Other, NULL ); ADD( "mosaic-position", INTEGER, Other )
var_Create( p_intf, "mosaic-height", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND ); ADD( "mosaic-rows", INTEGER, Other )
var_AddCallback( p_intf, "mosaic-height", Other, NULL ); ADD( "mosaic-cols", INTEGER, Other )
var_Create( p_intf, "mosaic-width", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND ); ADD( "mosaic-order", STRING, Other )
var_AddCallback( p_intf, "mosaic-width", Other, NULL ); ADD( "mosaic-keep-aspect-ratio", INTEGER, Other )
var_Create( p_intf, "mosaic-xoffset", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "mosaic-xoffset", Other, NULL );
var_Create( p_intf, "mosaic-yoffset", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "mosaic-yoffset", Other, NULL );
var_Create( p_intf, "mosaic-offsets", VLC_VAR_STRING | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "mosaic-offsets", Other, NULL );
var_Create( p_intf, "mosaic-align", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "mosaic-align", Other, NULL );
var_Create( p_intf, "mosaic-vborder", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "mosaic-vborder", Other, NULL );
var_Create( p_intf, "mosaic-hborder", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "mosaic-hborder", Other, NULL );
var_Create( p_intf, "mosaic-position",
VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "mosaic-position", Other, NULL );
var_Create( p_intf, "mosaic-rows", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "mosaic-rows", Other, NULL );
var_Create( p_intf, "mosaic-cols", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "mosaic-cols", Other, NULL );
var_Create( p_intf, "mosaic-order", VLC_VAR_STRING | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "mosaic-order", Other, NULL );
var_Create( p_intf, "mosaic-keep-aspect-ratio",
VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "mosaic-keep-aspect-ratio", Other, NULL );
/* logo on the fly items */ /* logo on the fly items */
var_Create( p_intf, "logo-file", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); ADD( "logo-file", STRING, Other )
var_AddCallback( p_intf, "logo-file", Other, NULL ); ADD( "logo-x", INTEGER, Other )
var_Create( p_intf, "logo-x", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND ); ADD( "logo-y", INTEGER, Other )
var_AddCallback( p_intf, "logo-x", Other, NULL ); ADD( "logo-position", INTEGER, Other )
var_Create( p_intf, "logo-y", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND ); ADD( "logo-transparency", INTEGER, Other )
var_AddCallback( p_intf, "logo-y", Other, NULL );
var_Create( p_intf, "logo-position", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "logo-position", Other, NULL );
var_Create( p_intf, "logo-transparency", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "logo-transparency", Other, NULL );
/* OSD menu commands */ /* OSD menu commands */
var_Create( p_intf, "menu", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); ADD( "menu", STRING, Menu )
var_AddCallback( p_intf, "menu", Menu, NULL );
/* DVD commands */ /* DVD commands */
var_Create( p_intf, "pause", VLC_VAR_VOID | VLC_VAR_ISCOMMAND ); ADD( "pause", VOID, Input )
var_AddCallback( p_intf, "pause", Input, NULL ); ADD( "seek", INTEGER, Input )
var_Create( p_intf, "seek", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND ); ADD( "title", STRING, Input )
var_AddCallback( p_intf, "seek", Input, NULL ); ADD( "title_n", VOID, Input )
var_Create( p_intf, "title", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); ADD( "title_p", VOID, Input )
var_AddCallback( p_intf, "title", Input, NULL ); ADD( "chapter", STRING, Input )
var_Create( p_intf, "title_n", VLC_VAR_VOID | VLC_VAR_ISCOMMAND ); ADD( "chapter_n", VOID, Input )
var_AddCallback( p_intf, "title_n", Input, NULL ); ADD( "chapter_p", VOID, Input )
var_Create( p_intf, "title_p", VLC_VAR_VOID | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "title_p", Input, NULL ); ADD( "fastforward", VOID, Input )
var_Create( p_intf, "chapter", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); ADD( "rewind", VOID, Input )
var_AddCallback( p_intf, "chapter", Input, NULL ); ADD( "faster", VOID, Input )
var_Create( p_intf, "chapter_n", VLC_VAR_VOID | VLC_VAR_ISCOMMAND ); ADD( "slower", VOID, Input )
var_AddCallback( p_intf, "chapter_n", Input, NULL ); ADD( "normal", VOID, Input )
var_Create( p_intf, "chapter_p", VLC_VAR_VOID | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "chapter_p", Input, NULL ); ADD( "atrack", STRING, Input )
ADD( "vtrack", STRING, Input )
var_Create( p_intf, "fastforward", VLC_VAR_VOID | VLC_VAR_ISCOMMAND ); ADD( "strack", STRING, Input )
var_AddCallback( p_intf, "fastforward", Input, NULL );
var_Create( p_intf, "rewind", VLC_VAR_VOID | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "rewind", Input, NULL );
var_Create( p_intf, "faster", VLC_VAR_VOID | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "faster", Input, NULL );
var_Create( p_intf, "slower", VLC_VAR_VOID | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "slower", Input, NULL );
var_Create( p_intf, "normal", VLC_VAR_VOID | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "normal", Input, NULL );
var_Create( p_intf, "atrack", VLC_VAR_STRING | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "atrack", Input, NULL );
var_Create( p_intf, "vtrack", VLC_VAR_STRING | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "vtrack", Input, NULL );
var_Create( p_intf, "strack", VLC_VAR_STRING | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "strack", Input, NULL );
/* video commands */ /* video commands */
var_Create( p_intf, "vratio", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); ADD( "vratio", STRING, VideoConfig )
var_AddCallback( p_intf, "vratio", VideoConfig, NULL ); ADD( "vcrop", STRING, VideoConfig )
var_Create( p_intf, "vcrop", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); ADD( "vzoom", STRING, VideoConfig )
var_AddCallback( p_intf, "vcrop", VideoConfig, NULL );
var_Create( p_intf, "vzoom", VLC_VAR_STRING | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "vzoom", VideoConfig, NULL );
/* audio commands */ /* audio commands */
var_Create( p_intf, "volume", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); ADD( "volume", STRING, Volume )
var_AddCallback( p_intf, "volume", Volume, NULL ); ADD( "volup", STRING, VolumeMove )
var_Create( p_intf, "volup", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); ADD( "voldown", STRING, VolumeMove )
var_AddCallback( p_intf, "volup", VolumeMove, NULL ); ADD( "adev", STRING, AudioConfig )
var_Create( p_intf, "voldown", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); ADD( "achan", STRING, AudioConfig )
var_AddCallback( p_intf, "voldown", VolumeMove, NULL );
var_Create( p_intf, "adev", VLC_VAR_STRING | VLC_VAR_ISCOMMAND ); #undef ADD
var_AddCallback( p_intf, "adev", AudioConfig, NULL );
var_Create( p_intf, "achan", VLC_VAR_STRING | VLC_VAR_ISCOMMAND );
var_AddCallback( p_intf, "achan", AudioConfig, NULL );
} }
/***************************************************************************** /*****************************************************************************
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment