]> git.sesse.net Git - vlc/blobdiff - src/libvlc-module.c
Fix memleaks on error path, fix sign warnings, cleanup
[vlc] / src / libvlc-module.c
index e719b6098037c35ef3170c1e53760623c2286228..3edcd9e543a6e6290c62242f33cbf3042f6c77b5 100644 (file)
@@ -48,6 +48,7 @@ static const char *const ppsz_language[] =
     "auto",
     "en",
     "ar",
+    "bn",
     "pt_BR",
     "en_GB",
     "bg",
@@ -63,6 +64,7 @@ static const char *const ppsz_language[] =
     "de",
     "he",
     "hu",
+    "id",
     "it",
     "ja",
     "ko",
@@ -81,6 +83,7 @@ static const char *const ppsz_language[] =
     "es",
     "sv",
     "tr",
+    "uk",
 };
 
 static const char *const ppsz_language_text[] =
@@ -88,6 +91,7 @@ static const char *const ppsz_language_text[] =
     N_("Auto"),
     "American English",
     "ﻉﺮﺒﻳ",
+    "বাংলা",
     "Português Brasileiro",
     "British English",
     "български език",
@@ -103,6 +107,7 @@ static const char *const ppsz_language_text[] =
     "Deutsch",
     "עברית",
     "Magyar",
+    "Bahasa Indonesia",
     "Italiano",
     "日本語",
     "한국어",
@@ -121,6 +126,7 @@ static const char *const ppsz_language_text[] =
     "Español",
     "Svenska",
     "Türkçe",
+    "украї́нська мо́ва",
 };
 #endif
 
@@ -565,7 +571,7 @@ static const char *const ppsz_pos_descriptions[] =
 
 static const int pi_vout_event_values[] = { 1, 2, 3 };
 static const char *const ppsz_vout_event_descriptions[] =
-     { N_("FullSupport"), N_("Fullscreen-Only"), N_("None") };
+     { N_("Full support"), N_("Fullscreen-only"), N_("None") };
 
 /*****************************************************************************
  * Input
@@ -1215,6 +1221,12 @@ static const char *const ppsz_albumart_descriptions[] =
 #define FASTER_KEY_LONGTEXT N_("Select the hotkey to use for fast forward playback.")
 #define SLOWER_KEY_TEXT N_("Slower")
 #define SLOWER_KEY_LONGTEXT N_("Select the hotkey to use for slow motion playback.")
+#define RATE_NORMAL_KEY_TEXT N_("Normal rate")
+#define RATE_NORMAL_KEY_LONGTEXT N_("Select the hotkey to set the playback rate back to normal.")
+#define RATE_FASTER_FINE_KEY_TEXT N_("Faster (fine)")
+#define RATE_FASTER_FINE_KEY_LONGTEXT N_("Select the hotkey to use for fast forward playback.")
+#define RATE_SLOWER_FINE_KEY_TEXT N_("Slower (fine)")
+#define RATE_SLOWER_FINE_KEY_LONGTEXT N_("Select the hotkey to use for slow motion playback.")
 #define NEXT_KEY_TEXT N_("Next")
 #define NEXT_KEY_LONGTEXT N_("Select the hotkey to use to skip to the next item in the playlist.")
 #define PREV_KEY_TEXT N_("Previous")
@@ -1562,6 +1574,7 @@ vlc_module_begin ()
               QUIET_SYNCHRO_LONGTEXT, true )
     add_integer( "vout-event", 1, NULL, VOUT_EVENT_TEXT, VOUT_EVENT_LONGTEXT, true )
         change_integer_list( pi_vout_event_values, ppsz_vout_event_descriptions, NULL )
+        add_deprecated_alias( "x11-event" ) /* renamed since 1.0.0 */
 #ifndef __APPLE__
     add_bool( "overlay", 1, NULL, OVERLAY_TEXT, OVERLAY_LONGTEXT, false )
 #endif
@@ -1770,20 +1783,28 @@ vlc_module_begin ()
     set_section( N_("Metadata" ) , NULL )
     add_string( "meta-title", NULL, NULL, META_TITLE_TEXT,
                 META_TITLE_LONGTEXT, true )
+        change_safe()
     add_string( "meta-author", NULL, NULL, META_AUTHOR_TEXT,
                 META_AUTHOR_LONGTEXT, true )
+        change_safe()
     add_string( "meta-artist", NULL, NULL, META_ARTIST_TEXT,
                 META_ARTIST_LONGTEXT, true )
+        change_safe()
     add_string( "meta-genre", NULL, NULL, META_GENRE_TEXT,
                 META_GENRE_LONGTEXT, true )
+        change_safe()
     add_string( "meta-copyright", NULL, NULL, META_CPYR_TEXT,
                 META_CPYR_LONGTEXT, true )
+        change_safe()
     add_string( "meta-description", NULL, NULL, META_DESCR_TEXT,
                 META_DESCR_LONGTEXT, true )
+        change_safe()
     add_string( "meta-date", NULL, NULL, META_DATE_TEXT,
                 META_DATE_LONGTEXT, true )
+        change_safe()
     add_string( "meta-url", NULL, NULL, META_URL_TEXT,
                 META_URL_LONGTEXT, true )
+        change_safe()
 
     set_section( N_( "Advanced" ), NULL )
 
@@ -2114,6 +2135,9 @@ vlc_module_begin ()
 #   define KEY_PLAY               KEY_UNSET
 #   define KEY_FASTER             KEY_MODIFIER_COMMAND|'='
 #   define KEY_SLOWER             KEY_MODIFIER_COMMAND|'-'
+#   define KEY_RATE_NORMAL        KEY_UNSET
+#   define KEY_RATE_FASTER_FINE   KEY_UNSET
+#   define KEY_RATE_SLOWER_FINE   KEY_UNSET
 #   define KEY_NEXT               KEY_MODIFIER_COMMAND|KEY_RIGHT
 #   define KEY_PREV               KEY_MODIFIER_COMMAND|KEY_LEFT
 #   define KEY_STOP               KEY_MODIFIER_COMMAND|'.'
@@ -2209,6 +2233,7 @@ vlc_module_begin ()
 #   define KEY_MENU_UP            KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|KEY_UP
 #   define KEY_MENU_DOWN          KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|KEY_DOWN
 #   define KEY_MENU_SELECT        KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|KEY_ENTER
+#   define KEY_AUDIODEVICE_CYCLE  KEY_MODIFIER_SHIFT|'a'
 
 #else /* Non Mac OS X */
     /*
@@ -2225,6 +2250,9 @@ vlc_module_begin ()
 #   define KEY_PLAY               KEY_UNSET
 #   define KEY_FASTER             '+'
 #   define KEY_SLOWER             '-'
+#   define KEY_RATE_NORMAL        '='
+#   define KEY_RATE_FASTER_FINE   ']'
+#   define KEY_RATE_SLOWER_FINE   '['
 #   define KEY_NEXT               'n'
 #   define KEY_PREV               'p'
 #   define KEY_STOP               's'
@@ -2345,6 +2373,12 @@ vlc_module_begin ()
              FASTER_KEY_LONGTEXT, false )
     add_key( "key-slower", KEY_SLOWER, NULL, SLOWER_KEY_TEXT,
              SLOWER_KEY_LONGTEXT, false )
+    add_key( "key-rate-normal", KEY_RATE_NORMAL, NULL, RATE_NORMAL_KEY_TEXT,
+             RATE_NORMAL_KEY_LONGTEXT, false )
+    add_key( "key-rate-faster-fine", KEY_RATE_FASTER_FINE, NULL, RATE_FASTER_FINE_KEY_TEXT,
+             RATE_FASTER_FINE_KEY_LONGTEXT, false )
+    add_key( "key-rate-slower-fine", KEY_RATE_SLOWER_FINE, NULL, RATE_SLOWER_FINE_KEY_TEXT,
+             RATE_SLOWER_FINE_KEY_LONGTEXT, false )
     add_key( "key-next", KEY_NEXT, NULL, NEXT_KEY_TEXT,
              NEXT_KEY_LONGTEXT, false )
     add_key( "key-prev", KEY_PREV, NULL, PREV_KEY_TEXT,
@@ -2410,7 +2444,7 @@ vlc_module_begin ()
              AUDIODELAY_DOWN_KEY_TEXT, AUDIODELAY_DOWN_KEY_LONGTEXT, true )
     add_key( "key-audio-track", KEY_AUDIO_TRACK, NULL, AUDIO_TRACK_KEY_TEXT,
              AUDIO_TRACK_KEY_LONGTEXT, false )
-    add_key( "key-audiodevice-cycle", KEY_STOP, NULL, AUDI_DEVICE_CYCLE_KEY_TEXT,
+    add_key( "key-audiodevice-cycle", KEY_AUDIODEVICE_CYCLE, NULL, AUDI_DEVICE_CYCLE_KEY_TEXT,
              AUDI_DEVICE_CYCLE_KEY_LONGTEXT, false )
     add_key( "key-subtitle-track", KEY_SUBTITLE_TRACK, NULL,
              SUBTITLE_TRACK_KEY_TEXT, SUBTITLE_TRACK_KEY_LONGTEXT, false )
@@ -2666,107 +2700,110 @@ vlc_module_end ()
  * Initializer for the libvlc instance structure
  * storing the action / key associations
  *****************************************************************************/
-const struct hotkey libvlc_hotkeys[] =
+const struct action libvlc_actions[] =
 {
-    { "key-quit", ACTIONID_QUIT, 0, },
-    { "key-play-pause", ACTIONID_PLAY_PAUSE, 0, },
-    { "key-play", ACTIONID_PLAY, 0, },
-    { "key-pause", ACTIONID_PAUSE, 0, },
-    { "key-stop", ACTIONID_STOP, 0, },
-    { "key-position", ACTIONID_POSITION, 0, },
-    { "key-jump-extrashort", ACTIONID_JUMP_BACKWARD_EXTRASHORT, 0, },
-    { "key-jump+extrashort", ACTIONID_JUMP_FORWARD_EXTRASHORT, 0, },
-    { "key-jump-short", ACTIONID_JUMP_BACKWARD_SHORT, 0, },
-    { "key-jump+short", ACTIONID_JUMP_FORWARD_SHORT, 0, },
-    { "key-jump-medium", ACTIONID_JUMP_BACKWARD_MEDIUM, 0, },
-    { "key-jump+medium", ACTIONID_JUMP_FORWARD_MEDIUM, 0, },
-    { "key-jump-long", ACTIONID_JUMP_BACKWARD_LONG, 0, },
-    { "key-jump+long", ACTIONID_JUMP_FORWARD_LONG, 0, },
-    { "key-frame-next", ACTIONID_FRAME_NEXT, 0, },
-    { "key-prev", ACTIONID_PREV, 0, },
-    { "key-next", ACTIONID_NEXT, 0, },
-    { "key-faster", ACTIONID_FASTER, 0, },
-    { "key-slower", ACTIONID_SLOWER, 0, },
-    { "key-toggle-fullscreen", ACTIONID_TOGGLE_FULLSCREEN, 0, },
-    { "key-leave-fullscreen", ACTIONID_LEAVE_FULLSCREEN, 0, },
-    { "key-vol-up", ACTIONID_VOL_UP, 0, },
-    { "key-vol-down", ACTIONID_VOL_DOWN, 0, },
-    { "key-vol-mute", ACTIONID_VOL_MUTE, 0, },
-    { "key-subdelay-down", ACTIONID_SUBDELAY_DOWN, 0, },
-    { "key-subdelay-up", ACTIONID_SUBDELAY_UP, 0, },
-    { "key-audiodelay-down", ACTIONID_AUDIODELAY_DOWN, 0, },
-    { "key-audiodelay-up", ACTIONID_AUDIODELAY_UP, 0, },
-    { "key-audio-track", ACTIONID_AUDIO_TRACK, 0, },
-    { "key-subtitle-track", ACTIONID_SUBTITLE_TRACK, 0, },
-    { "key-aspect-ratio", ACTIONID_ASPECT_RATIO, 0, },
-    { "key-crop", ACTIONID_CROP, 0, },
-    { "key-deinterlace", ACTIONID_DEINTERLACE, 0, },
-    { "key-intf-show", ACTIONID_INTF_SHOW, 0, },
-    { "key-intf-hide", ACTIONID_INTF_HIDE, 0, },
-    { "key-snapshot", ACTIONID_SNAPSHOT, 0, },
-    { "key-zoom", ACTIONID_ZOOM, 0, },
-    { "key-unzoom", ACTIONID_UNZOOM, 0, },
-    { "key-crop-top", ACTIONID_CROP_TOP, 0, },
-    { "key-uncrop-top", ACTIONID_UNCROP_TOP, 0, },
-    { "key-crop-left", ACTIONID_CROP_LEFT, 0, },
-    { "key-uncrop-left", ACTIONID_UNCROP_LEFT, 0, },
-    { "key-crop-bottom", ACTIONID_CROP_BOTTOM, 0, },
-    { "key-uncrop-bottom", ACTIONID_UNCROP_BOTTOM, 0, },
-    { "key-crop-right", ACTIONID_CROP_RIGHT, 0, },
-    { "key-uncrop-right", ACTIONID_UNCROP_RIGHT, 0, },
-    { "key-nav-activate", ACTIONID_NAV_ACTIVATE, 0, },
-    { "key-nav-up", ACTIONID_NAV_UP, 0, },
-    { "key-nav-down", ACTIONID_NAV_DOWN, 0, },
-    { "key-nav-left", ACTIONID_NAV_LEFT, 0, },
-    { "key-nav-right", ACTIONID_NAV_RIGHT, 0, },
-    { "key-disc-menu", ACTIONID_DISC_MENU, 0, },
-    { "key-title-prev", ACTIONID_TITLE_PREV, 0, },
-    { "key-title-next", ACTIONID_TITLE_NEXT, 0, },
-    { "key-chapter-prev", ACTIONID_CHAPTER_PREV, 0, },
-    { "key-chapter-next", ACTIONID_CHAPTER_NEXT, 0, },
-    { "key-zoom-quarter", ACTIONID_ZOOM_QUARTER, 0, },
-    { "key-zoom-half", ACTIONID_ZOOM_HALF, 0, },
-    { "key-zoom-original", ACTIONID_ZOOM_ORIGINAL, 0, },
-    { "key-zoom-double", ACTIONID_ZOOM_DOUBLE, 0, },
-    { "key-set-bookmark1", ACTIONID_SET_BOOKMARK1, 0, },
-    { "key-set-bookmark2", ACTIONID_SET_BOOKMARK2, 0, },
-    { "key-set-bookmark3", ACTIONID_SET_BOOKMARK3, 0, },
-    { "key-set-bookmark4", ACTIONID_SET_BOOKMARK4, 0, },
-    { "key-set-bookmark5", ACTIONID_SET_BOOKMARK5, 0, },
-    { "key-set-bookmark6", ACTIONID_SET_BOOKMARK6, 0, },
-    { "key-set-bookmark7", ACTIONID_SET_BOOKMARK7, 0, },
-    { "key-set-bookmark8", ACTIONID_SET_BOOKMARK8, 0, },
-    { "key-set-bookmark9", ACTIONID_SET_BOOKMARK9, 0, },
-    { "key-set-bookmark10", ACTIONID_SET_BOOKMARK10, 0, },
-    { "key-play-bookmark1", ACTIONID_PLAY_BOOKMARK1, 0, },
-    { "key-play-bookmark2", ACTIONID_PLAY_BOOKMARK2, 0, },
-    { "key-play-bookmark3", ACTIONID_PLAY_BOOKMARK3, 0, },
-    { "key-play-bookmark4", ACTIONID_PLAY_BOOKMARK4, 0, },
-    { "key-play-bookmark5", ACTIONID_PLAY_BOOKMARK5, 0, },
-    { "key-play-bookmark6", ACTIONID_PLAY_BOOKMARK6, 0, },
-    { "key-play-bookmark7", ACTIONID_PLAY_BOOKMARK7, 0, },
-    { "key-play-bookmark8", ACTIONID_PLAY_BOOKMARK8, 0, },
-    { "key-play-bookmark9", ACTIONID_PLAY_BOOKMARK9, 0, },
-    { "key-play-bookmark10", ACTIONID_PLAY_BOOKMARK10, 0, },
-    { "key-history-back", ACTIONID_HISTORY_BACK, 0, },
-    { "key-history-forward", ACTIONID_HISTORY_FORWARD, 0, },
-    { "key-record", ACTIONID_RECORD, 0, },
-    { "key-dump", ACTIONID_DUMP, 0, },
-    { "key-random", ACTIONID_RANDOM, 0, },
-    { "key-loop", ACTIONID_LOOP, 0, },
-    { "key-wallpaper", ACTIONID_WALLPAPER, 0, },
-    { "key-menu-on", ACTIONID_MENU_ON, 0, },
-    { "key-menu-off", ACTIONID_MENU_OFF, 0, },
-    { "key-menu-right", ACTIONID_MENU_RIGHT, 0, },
-    { "key-menu-left", ACTIONID_MENU_LEFT, 0, },
-    { "key-menu-up", ACTIONID_MENU_UP, 0, },
-    { "key-menu-down", ACTIONID_MENU_DOWN, 0, },
-    { "key-menu-select", ACTIONID_MENU_SELECT, 0, },
-    { "key-audiodevice-cycle", ACTIONID_AUDIODEVICE_CYCLE, 0, },
-    { "key-toggle-autoscale", ACTIONID_TOGGLE_AUTOSCALE, 0, },
-    { "key-incr-scalefactor", ACTIONID_SCALE_UP, 0, },
-    { "key-decr-scalefactor", ACTIONID_SCALE_DOWN, 0, },
-    { NULL, 0, 0, }
+    { "key-quit", ACTIONID_QUIT, },
+    { "key-play-pause", ACTIONID_PLAY_PAUSE, },
+    { "key-play", ACTIONID_PLAY, },
+    { "key-pause", ACTIONID_PAUSE, },
+    { "key-stop", ACTIONID_STOP, },
+    { "key-position", ACTIONID_POSITION, },
+    { "key-jump-extrashort", ACTIONID_JUMP_BACKWARD_EXTRASHORT, },
+    { "key-jump+extrashort", ACTIONID_JUMP_FORWARD_EXTRASHORT, },
+    { "key-jump-short", ACTIONID_JUMP_BACKWARD_SHORT, },
+    { "key-jump+short", ACTIONID_JUMP_FORWARD_SHORT, },
+    { "key-jump-medium", ACTIONID_JUMP_BACKWARD_MEDIUM, },
+    { "key-jump+medium", ACTIONID_JUMP_FORWARD_MEDIUM, },
+    { "key-jump-long", ACTIONID_JUMP_BACKWARD_LONG, },
+    { "key-jump+long", ACTIONID_JUMP_FORWARD_LONG, },
+    { "key-frame-next", ACTIONID_FRAME_NEXT, },
+    { "key-prev", ACTIONID_PREV, },
+    { "key-next", ACTIONID_NEXT, },
+    { "key-faster", ACTIONID_FASTER, },
+    { "key-slower", ACTIONID_SLOWER, },
+    { "key-rate-normal", ACTIONID_RATE_NORMAL, },
+    { "key-rate-faster-fine", ACTIONID_RATE_FASTER_FINE, },
+    { "key-rate-slower-fine", ACTIONID_RATE_SLOWER_FINE, },
+    { "key-toggle-fullscreen", ACTIONID_TOGGLE_FULLSCREEN, },
+    { "key-leave-fullscreen", ACTIONID_LEAVE_FULLSCREEN, },
+    { "key-vol-up", ACTIONID_VOL_UP, },
+    { "key-vol-down", ACTIONID_VOL_DOWN, },
+    { "key-vol-mute", ACTIONID_VOL_MUTE, },
+    { "key-subdelay-down", ACTIONID_SUBDELAY_DOWN, },
+    { "key-subdelay-up", ACTIONID_SUBDELAY_UP, },
+    { "key-audiodelay-down", ACTIONID_AUDIODELAY_DOWN, },
+    { "key-audiodelay-up", ACTIONID_AUDIODELAY_UP, },
+    { "key-audio-track", ACTIONID_AUDIO_TRACK, },
+    { "key-subtitle-track", ACTIONID_SUBTITLE_TRACK, },
+    { "key-aspect-ratio", ACTIONID_ASPECT_RATIO, },
+    { "key-crop", ACTIONID_CROP, },
+    { "key-deinterlace", ACTIONID_DEINTERLACE, },
+    { "key-intf-show", ACTIONID_INTF_SHOW, },
+    { "key-intf-hide", ACTIONID_INTF_HIDE, },
+    { "key-snapshot", ACTIONID_SNAPSHOT, },
+    { "key-zoom", ACTIONID_ZOOM, },
+    { "key-unzoom", ACTIONID_UNZOOM, },
+    { "key-crop-top", ACTIONID_CROP_TOP, },
+    { "key-uncrop-top", ACTIONID_UNCROP_TOP, },
+    { "key-crop-left", ACTIONID_CROP_LEFT, },
+    { "key-uncrop-left", ACTIONID_UNCROP_LEFT, },
+    { "key-crop-bottom", ACTIONID_CROP_BOTTOM, },
+    { "key-uncrop-bottom", ACTIONID_UNCROP_BOTTOM, },
+    { "key-crop-right", ACTIONID_CROP_RIGHT, },
+    { "key-uncrop-right", ACTIONID_UNCROP_RIGHT, },
+    { "key-nav-activate", ACTIONID_NAV_ACTIVATE, },
+    { "key-nav-up", ACTIONID_NAV_UP, },
+    { "key-nav-down", ACTIONID_NAV_DOWN, },
+    { "key-nav-left", ACTIONID_NAV_LEFT, },
+    { "key-nav-right", ACTIONID_NAV_RIGHT, },
+    { "key-disc-menu", ACTIONID_DISC_MENU, },
+    { "key-title-prev", ACTIONID_TITLE_PREV, },
+    { "key-title-next", ACTIONID_TITLE_NEXT, },
+    { "key-chapter-prev", ACTIONID_CHAPTER_PREV, },
+    { "key-chapter-next", ACTIONID_CHAPTER_NEXT, },
+    { "key-zoom-quarter", ACTIONID_ZOOM_QUARTER, },
+    { "key-zoom-half", ACTIONID_ZOOM_HALF, },
+    { "key-zoom-original", ACTIONID_ZOOM_ORIGINAL, },
+    { "key-zoom-double", ACTIONID_ZOOM_DOUBLE, },
+    { "key-set-bookmark1", ACTIONID_SET_BOOKMARK1, },
+    { "key-set-bookmark2", ACTIONID_SET_BOOKMARK2, },
+    { "key-set-bookmark3", ACTIONID_SET_BOOKMARK3, },
+    { "key-set-bookmark4", ACTIONID_SET_BOOKMARK4, },
+    { "key-set-bookmark5", ACTIONID_SET_BOOKMARK5, },
+    { "key-set-bookmark6", ACTIONID_SET_BOOKMARK6, },
+    { "key-set-bookmark7", ACTIONID_SET_BOOKMARK7, },
+    { "key-set-bookmark8", ACTIONID_SET_BOOKMARK8, },
+    { "key-set-bookmark9", ACTIONID_SET_BOOKMARK9, },
+    { "key-set-bookmark10", ACTIONID_SET_BOOKMARK10, },
+    { "key-play-bookmark1", ACTIONID_PLAY_BOOKMARK1, },
+    { "key-play-bookmark2", ACTIONID_PLAY_BOOKMARK2, },
+    { "key-play-bookmark3", ACTIONID_PLAY_BOOKMARK3, },
+    { "key-play-bookmark4", ACTIONID_PLAY_BOOKMARK4, },
+    { "key-play-bookmark5", ACTIONID_PLAY_BOOKMARK5, },
+    { "key-play-bookmark6", ACTIONID_PLAY_BOOKMARK6, },
+    { "key-play-bookmark7", ACTIONID_PLAY_BOOKMARK7, },
+    { "key-play-bookmark8", ACTIONID_PLAY_BOOKMARK8, },
+    { "key-play-bookmark9", ACTIONID_PLAY_BOOKMARK9, },
+    { "key-play-bookmark10", ACTIONID_PLAY_BOOKMARK10, },
+    { "key-history-back", ACTIONID_HISTORY_BACK, },
+    { "key-history-forward", ACTIONID_HISTORY_FORWARD, },
+    { "key-record", ACTIONID_RECORD, },
+    { "key-dump", ACTIONID_DUMP, },
+    { "key-random", ACTIONID_RANDOM, },
+    { "key-loop", ACTIONID_LOOP, },
+    { "key-wallpaper", ACTIONID_WALLPAPER, },
+    { "key-menu-on", ACTIONID_MENU_ON, },
+    { "key-menu-off", ACTIONID_MENU_OFF, },
+    { "key-menu-right", ACTIONID_MENU_RIGHT, },
+    { "key-menu-left", ACTIONID_MENU_LEFT, },
+    { "key-menu-up", ACTIONID_MENU_UP, },
+    { "key-menu-down", ACTIONID_MENU_DOWN, },
+    { "key-menu-select", ACTIONID_MENU_SELECT, },
+    { "key-audiodevice-cycle", ACTIONID_AUDIODEVICE_CYCLE, },
+    { "key-toggle-autoscale", ACTIONID_TOGGLE_AUTOSCALE, },
+    { "key-incr-scalefactor", ACTIONID_SCALE_UP, },
+    { "key-decr-scalefactor", ACTIONID_SCALE_DOWN, },
 };
 
-const size_t libvlc_hotkeys_size = sizeof (libvlc_hotkeys);
+const size_t libvlc_actions_count =
+    sizeof (libvlc_actions) / sizeof (libvlc_actions[0]);