]> git.sesse.net Git - vlc/commitdiff
Patch by Johannes Buchner (buchner.johannes at gmx do at): Hotkeys for zoom.
authorJean-Paul Saman <jpsaman@videolan.org>
Fri, 29 Feb 2008 14:29:40 +0000 (14:29 +0000)
committerJean-Paul Saman <jpsaman@videolan.org>
Fri, 29 Feb 2008 14:29:40 +0000 (14:29 +0000)
THANKS
include/vlc_keys.h
modules/control/hotkeys.c
src/libvlc-module.c
src/libvlc.h

diff --git a/THANKS b/THANKS
index d2ab80c8c3d74d6d8e7d84cf4d099705778f4dbf..abde378339d6714b07fa274c31833d7318941083 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -118,6 +118,7 @@ Jérôme Guilbaud - Update of the WinAmp 5 VLC skin
 Joel Arvidsson <dogai at privat.utfors.se> - Swedish translation
 Joeri van Dooren <joeri at van.dooren.be> - OS X icon (v0.4.0)
 Jörg<vlc-ml at aab.noctis dot de> - VLM seek/show media functions
+Johannes BUchner <buchner.johannes at gmx dot at> - Hotkeys for zoom
 Johen Michael Zorko <zorko at att.net> - fix for delay issues in udp sout
 John Dalgliesh <johnd at defyne.org> - macosx interface playlist fix
 John Paul Lorenti <jpl31 at columbia.edu> - ALSA device selection patch
index 4432f3454a89d4c73cae435becc49a3ada638b7a..cce28fcc5df89443e0d0dd30596cc90c8c9d253f 100644 (file)
@@ -140,6 +140,16 @@ static const struct key_descriptor_s vlc_keys[] =
     { "Backspace", KEY_BACKSPACE },
     { "Mouse Wheel Up", KEY_MOUSEWHEELUP },
     { "Mouse Wheel Down", KEY_MOUSEWHEELDOWN },
+    { "0", '0' },
+    { "1", '1' },
+    { "2", '2' },
+    { "3", '3' },
+    { "4", '4' },
+    { "5", '5' },
+    { "6", '6' },
+    { "7", '7' },
+    { "8", '8' },
+    { "9", '9' },
     { "a", 'a' },
     { "b", 'b' },
     { "c", 'c' },
@@ -319,5 +329,10 @@ static inline int StringToKey( char *psz_key )
 #define ACTIONID_MENU_UP               89
 #define ACTIONID_MENU_DOWN             90
 #define ACTIONID_MENU_SELECT           91
+/* Zoom */
+#define ACTIONID_ZOOM_QUARTER          92
+#define ACTIONID_ZOOM_HALF             93
+#define ACTIONID_ZOOM_ORIGINAL         94
+#define ACTIONID_ZOOM_DOUBLE           95
 
 #endif
index aa0255a534ff789dbc355ff4532ab34ece5c4f5a..23242a4228581c836a32366f24c44d3e567f062a 100644 (file)
@@ -352,6 +352,24 @@ static void Run( intf_thread_t *p_intf )
             val.b_bool = !val.b_bool;
             var_Set( p_playlist, "random", val );
         }
+        else if( i_action == ACTIONID_ZOOM_QUARTER || 
+                 i_action == ACTIONID_ZOOM_HALF ||
+                 i_action == ACTIONID_ZOOM_ORIGINAL || 
+                 i_action == ACTIONID_ZOOM_DOUBLE )
+        {
+            if( p_vout )
+            {
+                if( i_action == ACTIONID_ZOOM_QUARTER )
+                    val.f_float = 0.25;
+                if( i_action == ACTIONID_ZOOM_HALF )
+                    val.f_float = 0.5;
+                if( i_action == ACTIONID_ZOOM_ORIGINAL )
+                    val.f_float = 1;
+                if( i_action == ACTIONID_ZOOM_DOUBLE )
+                    val.f_float = 2;
+                var_Set( p_vout, "zoom", val );
+            }
+        }
         else if( i_action == ACTIONID_PLAY_PAUSE )
         {
             val.i_int = PLAYING_S;
index 56829dc8d5b04b2a3d496b120d1a8c4eb47730c8..410796c00af11a49296ef52b4c3c3b4c2771f4d9 100644 (file)
@@ -1232,6 +1232,12 @@ static const char *ppsz_pltree_descriptions[] = { N_("Default"), N_("Always"), N
 #define AUDIODELAY_UP_KEY_LONGTEXT N_("Select the key to increase the audio delay.")
 #define AUDIODELAY_DOWN_KEY_TEXT N_("Audio delay down")
 #define AUDIODELAY_DOWN_KEY_LONGTEXT N_("Select the key to decrease the audio delay.")
+
+#define ZOOM_QUARTER_KEY_TEXT N_("1:4 Quarter")
+#define ZOOM_HALF_KEY_TEXT N_("1:2 Half")
+#define ZOOM_ORIGINAL_KEY_TEXT N_("1:1 Original")
+#define ZOOM_DOUBLE_KEY_TEXT N_("2:1 Double")
+
 #define PLAY_BOOKMARK1_KEY_TEXT N_("Play playlist bookmark 1")
 #define PLAY_BOOKMARK2_KEY_TEXT N_("Play playlist bookmark 2")
 #define PLAY_BOOKMARK3_KEY_TEXT N_("Play playlist bookmark 3")
@@ -2045,6 +2051,12 @@ vlc_module_begin();
 #   define KEY_CROP_RIGHT         KEY_MODIFIER_ALT|'l'
 #   define KEY_UNCROP_RIGHT       KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'l'
 
+/* the macosx-interface already has bindings */
+#   define KEY_ZOOM_QUARTER       KEY_UNSET 
+#   define KEY_ZOOM_HALF          KEY_UNSET
+#   define KEY_ZOOM_ORIGINAL      KEY_UNSET
+#   define KEY_ZOOM_DOUBLE        KEY_UNSET
+
 #   define KEY_SET_BOOKMARK1      KEY_MODIFIER_COMMAND|KEY_F1
 #   define KEY_SET_BOOKMARK2      KEY_MODIFIER_COMMAND|KEY_F2
 #   define KEY_SET_BOOKMARK3      KEY_MODIFIER_COMMAND|KEY_F3
@@ -2141,6 +2153,11 @@ vlc_module_begin();
 #   define KEY_CROP_RIGHT         KEY_MODIFIER_ALT|'l'
 #   define KEY_UNCROP_RIGHT       KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'l'
 
+#   define KEY_ZOOM_QUARTER       KEY_MODIFIER_CTRL|'1'
+#   define KEY_ZOOM_HALF          KEY_MODIFIER_CTRL|'2'
+#   define KEY_ZOOM_ORIGINAL      KEY_MODIFIER_CTRL|'3'
+#   define KEY_ZOOM_DOUBLE        KEY_MODIFIER_CTRL|'4'
+
 #   define KEY_SET_BOOKMARK1      KEY_MODIFIER_CTRL|KEY_F1
 #   define KEY_SET_BOOKMARK2      KEY_MODIFIER_CTRL|KEY_F2
 #   define KEY_SET_BOOKMARK3      KEY_MODIFIER_CTRL|KEY_F3
@@ -2319,6 +2336,16 @@ vlc_module_begin();
     add_key( "key-loop", KEY_LOOP, NULL,
              LOOP_KEY_TEXT, LOOP_KEY_LONGTEXT, VLC_FALSE );
 
+    set_section ( N_("Zoom" ), NULL );
+    add_key( "key-zoom-quarter",  KEY_ZOOM_QUARTER, NULL, 
+        ZOOM_QUARTER_KEY_TEXT,  NULL, VLC_FALSE );
+    add_key( "key-zoom-half",     KEY_ZOOM_HALF, NULL, 
+        ZOOM_HALF_KEY_TEXT,     NULL, VLC_FALSE );
+    add_key( "key-zoom-original", KEY_ZOOM_ORIGINAL, NULL, 
+        ZOOM_ORIGINAL_KEY_TEXT, NULL, VLC_FALSE );
+    add_key( "key-zoom-double",   KEY_ZOOM_DOUBLE, NULL, 
+        ZOOM_DOUBLE_KEY_TEXT,   NULL, VLC_FALSE );
+    
     set_section ( N_("Jump sizes" ), NULL );
     add_integer( "extrashort-jump-size", 3, NULL, JIEXTRASHORT_TEXT,
                                     JIEXTRASHORT_LONGTEXT, VLC_FALSE );
@@ -2539,6 +2566,10 @@ const struct hotkey libvlc_hotkeys[] =
     { "key-title-next", ACTIONID_TITLE_NEXT, 0, 0, 0, 0 },
     { "key-chapter-prev", ACTIONID_CHAPTER_PREV, 0, 0, 0, 0 },
     { "key-chapter-next", ACTIONID_CHAPTER_NEXT, 0, 0, 0, 0 },
+    { "key-zoom-quarter", ACTIONID_ZOOM_QUARTER, 0, 0, 0, 0 },
+    { "key-zoom-half", ACTIONID_ZOOM_HALF, 0, 0, 0, 0 },
+    { "key-zoom-original", ACTIONID_ZOOM_ORIGINAL, 0, 0, 0, 0 },
+    { "key-zoom-double", ACTIONID_ZOOM_DOUBLE, 0, 0, 0, 0 },
     { "key-set-bookmark1", ACTIONID_SET_BOOKMARK1, 0, 0, 0, 0 },
     { "key-set-bookmark2", ACTIONID_SET_BOOKMARK2, 0, 0, 0, 0 },
     { "key-set-bookmark3", ACTIONID_SET_BOOKMARK3, 0, 0, 0, 0 },
index f596b44881ad431af426a989a7a5bf411248878e..06385dd2637065ad784e59c3b80fe1c2de49d4b6 100644 (file)
@@ -137,6 +137,11 @@ struct vlc_object_internals_t
     vlc_bool_t      b_attached;
 };
 
+#define ZOOM_SECTION N_("Zoom")
+#define ZOOM_QUARTER_KEY_TEXT N_("1:4 Quarter")
+#define ZOOM_HALF_KEY_TEXT N_("1:2 Half")
+#define ZOOM_ORIGINAL_KEY_TEXT N_("1:1 Original")
+#define ZOOM_DOUBLE_KEY_TEXT N_("2:1 Double")
 
 static inline vlc_object_internals_t *vlc_internals( vlc_object_t *obj )
 {