]> git.sesse.net Git - vlc/blob - modules/gui/skins2/commands/cmd_playlist.cpp
781243eef901795ec33e45a7ef3c635699d78400
[vlc] / modules / gui / skins2 / commands / cmd_playlist.cpp
1 /*****************************************************************************
2  * cmd_playlist.cpp
3  *****************************************************************************
4  * Copyright (C) 2003 VideoLAN
5  * $Id$
6  *
7  * Authors: Cyril Deguet     <asmax@via.ecp.fr>
8  *          Olivier Teulière <ipkiss@via.ecp.fr>
9  *
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.
14  *
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.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
23  *****************************************************************************/
24
25 #include "cmd_playlist.hpp"
26 #include "../src/vlcproc.hpp"
27 #include "../utils/var_bool.hpp"
28
29
30 void CmdPlaylistDel::execute()
31 {
32     m_rList.delSelected();
33 }
34
35
36 void CmdPlaylistSort::execute()
37 {
38     // XXX add the mode and type
39     playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
40     if( pPlaylist != NULL )
41     {
42         playlist_Sort( pPlaylist, SORT_TITLE, ORDER_NORMAL );
43     }
44
45 }
46
47
48 void CmdPlaylistNext::execute()
49 {
50     playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
51     if( pPlaylist != NULL )
52     {
53         playlist_Next( pPlaylist );
54     }
55 }
56
57
58 void CmdPlaylistPrevious::execute()
59 {
60     playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
61     if( pPlaylist != NULL )
62     {
63         playlist_Prev( pPlaylist );
64     }
65 }
66
67
68 void CmdPlaylistRandom::execute()
69 {
70     playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
71     if( pPlaylist != NULL )
72     {
73         vlc_value_t val;
74         val.b_bool = m_value;
75         var_Set( pPlaylist , "random", val);
76     }
77 }
78
79
80 void CmdPlaylistLoop::execute()
81 {
82     playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
83     if( pPlaylist != NULL )
84     {
85         vlc_value_t val;
86         val.b_bool = m_value;
87         var_Set( pPlaylist , "loop", val);
88     }
89 }
90
91
92 void CmdPlaylistRepeat::execute()
93 {
94     playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
95     if( pPlaylist != NULL )
96     {
97         vlc_value_t val;
98         val.b_bool = m_value;
99         var_Set( pPlaylist , "repeat", val);
100     }
101 }
102
103
104 void CmdPlaylistLoad::execute()
105 {
106     playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
107     if( pPlaylist != NULL )
108     {
109         playlist_Import( pPlaylist, m_file.c_str() );
110     }
111 }
112
113
114 void CmdPlaylistSave::execute()
115 {
116     playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
117     if( pPlaylist != NULL )
118     {
119         // FIXME: when the PLS export will be working, we'll need to remove
120         // this hardcoding...
121         playlist_Export( pPlaylist, m_file.c_str(), "export-m3u" );
122     }
123 }
124