1 /*****************************************************************************
3 *****************************************************************************
4 * Copyright (C) 2003 the VideoLAN team
7 * Authors: Cyril Deguet <asmax@via.ecp.fr>
8 * Olivier Teulière <ipkiss@via.ecp.fr>
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License along
21 * with this program; if not, write to the Free Software Foundation, Inc.,
22 * 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23 *****************************************************************************/
25 #include "cmd_playlist.hpp"
26 #include <vlc_playlist.h>
27 #include "../src/vlcproc.hpp"
28 #include "../utils/var_bool.hpp"
30 void CmdPlaylistDel::execute()
32 m_rList.delSelected();
35 void CmdPlaylistNext::execute()
37 playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
38 if( pPlaylist != NULL )
39 playlist_Next( pPlaylist );
43 void CmdPlaylistPrevious::execute()
45 playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
46 if( pPlaylist != NULL )
47 playlist_Prev( pPlaylist );
51 void CmdPlaylistRandom::execute()
53 playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
54 if( pPlaylist != NULL )
55 var_SetBool( pPlaylist , "random", m_value );
59 void CmdPlaylistLoop::execute()
61 playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
62 if( pPlaylist != NULL )
63 var_SetBool( pPlaylist , "loop", m_value );
67 void CmdPlaylistRepeat::execute()
69 playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
70 if( pPlaylist != NULL )
71 var_SetBool( pPlaylist , "repeat", m_value );
75 void CmdPlaylistLoad::execute()
77 playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
78 if( pPlaylist != NULL )
79 playlist_Import( pPlaylist, m_file.c_str() );
83 void CmdPlaylistSave::execute()
85 playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
86 if( pPlaylist != NULL )
88 const char *psz_module;
89 if( m_file.find( ".xsp", 0 ) != string::npos )
90 psz_module = "export-xspf";
91 else if( m_file.find( "m3u", 0 ) != string::npos )
92 psz_module = "export-m3u";
93 else if( m_file.find( "html", 0 ) != string::npos )
94 psz_module = "export-html";
97 msg_Err(getIntf(),"Did not recognise playlist export file type");
101 playlist_Export( pPlaylist, m_file.c_str(),
102 pPlaylist->p_local_category, psz_module );
106 void CmdPlaylistFirst::execute()
108 playlist_Control(getIntf()->p_sys->p_playlist,PLAYLIST_PLAY,pl_Unlocked);