-#define playlist_Play(p) playlist_Control(p,PLAYLIST_PLAY, VLC_FALSE )
-#define playlist_Pause(p) playlist_Control(p,PLAYLIST_PAUSE, VLC_FALSE )
-#define playlist_Stop(p) playlist_Control(p,PLAYLIST_STOP, VLC_FALSE )
-#define playlist_Next(p) playlist_Control(p,PLAYLIST_SKIP, VLC_FALSE, 1)
-#define playlist_Prev(p) playlist_Control(p,PLAYLIST_SKIP, VLC_FALSE, -1)
-#define playlist_Skip(p,i) playlist_Control(p,PLAYLIST_SKIP, VLC_FALSE, i)
+#define playlist_Play(p) playlist_Control(p,PLAYLIST_PLAY, false )
+#define playlist_Pause(p) playlist_Control(p,PLAYLIST_PAUSE, false )
+#define playlist_Stop(p) playlist_Control(p,PLAYLIST_STOP, false )
+#define playlist_Next(p) playlist_Control(p,PLAYLIST_SKIP, false, 1)
+#define playlist_Prev(p) playlist_Control(p,PLAYLIST_SKIP, false, -1)
+#define playlist_Skip(p,i) playlist_Control(p,PLAYLIST_SKIP, false, i)
+
+/**
+ * Do a playlist action.
+ * If there is something in the playlist then you can do playlist actions.
+ * Possible queries are listed in vlc_common.h
+ * \param p_playlist the playlist to do the command on
+ * \param i_query the command to do
+ * \param b_locked TRUE if playlist is locked when entering this function
+ * \param variable number of arguments
+ * \return VLC_SUCCESS or an error
+ */
+VLC_EXPORT( int, playlist_Control, ( playlist_t *p_playlist, int i_query, bool b_locked, ... ) );