[vlc-devel] [PATCH] Added a hotkey for playlist deletion.

Martin Zeman dileptor at gmail.com
Sun Apr 7 12:25:17 CEST 2013


---
 include/vlc_keys.h        |    1 +
 modules/control/hotkeys.c |    7 ++++++-
 src/config/keys.c         |    1 +
 src/libvlc-module.c       |   10 ++++++++++
 4 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/include/vlc_keys.h b/include/vlc_keys.h
index 141e4b9..90d5d85 100644
--- a/include/vlc_keys.h
+++ b/include/vlc_keys.h
@@ -159,6 +159,7 @@ typedef enum vlc_action {
     ACTIONID_PLAY_BOOKMARK9,
     ACTIONID_PLAY_BOOKMARK10,
     /* end of contiguous zone */
+    ACTIONID_PLAY_CLEAR,
     ACTIONID_SUBDELAY_UP,
     ACTIONID_SUBDELAY_DOWN,
     ACTIONID_SUBPOS_UP,
diff --git a/modules/control/hotkeys.c b/modules/control/hotkeys.c
index 95bc0d0..02834ed 100644
--- a/modules/control/hotkeys.c
+++ b/modules/control/hotkeys.c
@@ -241,7 +241,12 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
         case ACTIONID_SET_BOOKMARK10:
             SetBookmark( p_intf, i_action - ACTIONID_SET_BOOKMARK1 + 1 );
             break;
-
+        case ACTIONID_PLAY_CLEAR:
+        {
+        	playlist_t *p_playlist = pl_Get( p_intf );
+        	playlist_Clear( p_playlist, pl_Unlocked );
+            break;
+        }
         case ACTIONID_VOL_UP:
         {
             float vol;
diff --git a/src/config/keys.c b/src/config/keys.c
index ee3c382..07dd6ec 100644
--- a/src/config/keys.c
+++ b/src/config/keys.c
@@ -275,6 +275,7 @@ static const struct action actions[] =
     { "audiodevice-cycle", ACTIONID_AUDIODEVICE_CYCLE, },
     { "chapter-next", ACTIONID_CHAPTER_NEXT, },
     { "chapter-prev", ACTIONID_CHAPTER_PREV, },
+    { "clear-playlist", ACTIONID_PLAY_CLEAR, },
     { "crop", ACTIONID_CROP, },
     { "crop-bottom", ACTIONID_CROP_BOTTOM, },
     { "crop-left", ACTIONID_CROP_LEFT, },
diff --git a/src/libvlc-module.c b/src/libvlc-module.c
index 34a229e..fc23aa0 100644
--- a/src/libvlc-module.c
+++ b/src/libvlc-module.c
@@ -1334,6 +1334,8 @@ static const char *const mouse_wheel_texts[] =
 #define PLAY_BOOKMARK8_KEY_TEXT N_("Play playlist bookmark 8")
 #define PLAY_BOOKMARK9_KEY_TEXT N_("Play playlist bookmark 9")
 #define PLAY_BOOKMARK10_KEY_TEXT N_("Play playlist bookmark 10")
+#define PLAY_CLEAR_KEY_TEXT N_("Clear the playlist")
+#define PLAY_CLEAR_KEY_LONGTEXT N_("Select the key to clear the current playlist")
 #define PLAY_BOOKMARK_KEY_LONGTEXT N_("Select the key to play this bookmark.")
 #define SET_BOOKMARK1_KEY_TEXT N_("Set playlist bookmark 1")
 #define SET_BOOKMARK2_KEY_TEXT N_("Set playlist bookmark 2")
@@ -1360,6 +1362,8 @@ static const char *const mouse_wheel_texts[] =
 #define BOOKMARK_LONGTEXT N_( \
       "This allows you to define playlist bookmarks.")
 
+#define CLEAR_PLAYLIST_TEXT N_("Clear playlist")
+#define CLEAR_PLAYLIST_LONGTEXT N_("This allows you to clear the playlist.")
 #define AUDIO_TRACK_KEY_TEXT N_("Cycle audio track")
 #define AUDIO_TRACK_KEY_LONGTEXT N_("Cycle through the available audio tracks(languages).")
 #define SUBTITLE_TRACK_KEY_TEXT N_("Cycle subtitle track")
@@ -2242,6 +2246,7 @@ vlc_module_begin ()
 #   define KEY_PLAY_BOOKMARK8     "F8"
 #   define KEY_PLAY_BOOKMARK9     NULL
 #   define KEY_PLAY_BOOKMARK10    NULL
+#   define KEY_PLAY_CLEAR         "Ctrl+w"
 #   define KEY_RECORD             "Command+Shift+r"
 #   define KEY_WALLPAPER          "w"
 #   define KEY_AUDIODEVICE_CYCLE  "Shift+a"
@@ -2361,6 +2366,9 @@ vlc_module_begin ()
 #   define KEY_PLAY_BOOKMARK8     "F8"
 #   define KEY_PLAY_BOOKMARK9     "F9"
 #   define KEY_PLAY_BOOKMARK10    "F10"
+
+/* Playlist clear */
+#   define KEY_PLAY_CLEAR         "Ctrl+w"
 #endif
 
     add_key( "key-toggle-fullscreen", KEY_TOGGLE_FULLSCREEN, TOGGLE_FULLSCREEN_KEY_TEXT,
@@ -2577,6 +2585,8 @@ vlc_module_begin ()
              PLAY_BOOKMARK9_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, true )
     add_key( "key-play-bookmark10", KEY_PLAY_BOOKMARK10,
              PLAY_BOOKMARK10_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, true )
+    add_key( "key-clear-playlist", KEY_PLAY_CLEAR,
+             PLAY_CLEAR_KEY_TEXT, PLAY_CLEAR_KEY_LONGTEXT, true )
 
 
     add_string( "bookmark1", NULL,
-- 
1.7.9.5




More information about the vlc-devel mailing list