Changeset 88226a802f38e75d0dbea4a74b8ec108a42ca653

Show
Ignore:
Timestamp:
03/27/08 19:46:21 (5 months ago)
Author:
Rémi Denis-Courmont <rem@videolan.org>
git-committer:
Rémi Denis-Courmont <rem@videolan.org> 1206643581 +0200
git-parent:

[f016819850d9d4896a3944bd0e94b73f648ec85b]

git-author:
Rémi Denis-Courmont <rem@videolan.org> 1206562847 +0200
Message:

Add key-action variable - automatically mapped action from key-pressed

So for, each hotkey callback had to lookup the hotkey table everytime
a key was pressed, which is fairly wasteful.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/Makefile.am

    re391c5a r88226a8  
    330330    misc/stats.c \ 
    331331    misc/cpu.c \ 
     332    misc/action.c \ 
    332333    config/configuration.h \ 
    333334    config/core.c \ 
  • src/libvlc-common.c

    r24ddff5 r88226a8  
    735735     */ 
    736736    var_Create( p_libvlc, "key-pressed", VLC_VAR_INTEGER ); 
     737    var_Create( p_libvlc, "key-action", VLC_VAR_INTEGER ); 
    737738    p_libvlc->p_hotkeys = malloc( libvlc_hotkeys_size ); 
    738739    /* Do a copy (we don't need to modify the strings) */ 
    739740    memcpy( p_libvlc->p_hotkeys, libvlc_hotkeys, libvlc_hotkeys_size ); 
     741    var_AddCallback( p_libvlc, "key-pressed", vlc_key_to_action, 
     742                     p_libvlc->p_hotkeys ); 
    740743 
    741744    /* Initialize interaction */ 
     
    10321035    FREENULL( p_libvlc->psz_cachedir ); 
    10331036    FREENULL( p_libvlc->psz_configfile ); 
     1037    var_DelCallback( p_libvlc, "key-pressed", vlc_key_to_action, 
     1038                     p_libvlc->p_hotkeys ); 
    10341039    FREENULL( p_libvlc->p_hotkeys ); 
    10351040 
  • src/libvlc.h

    r7b7d251 r88226a8  
    2828extern const char vlc_usage[]; 
    2929 
     30/* Hotkey stuff */ 
    3031extern const struct hotkey libvlc_hotkeys[]; 
    3132extern const size_t libvlc_hotkeys_size; 
    32  
     33extern int vlc_key_to_action (vlc_object_t *, const char *, 
     34                              vlc_value_t, vlc_value_t, void *); 
    3335 
    3436/*