]> git.sesse.net Git - vlc/blob - modules/gui/skins2/commands/cmd_input.cpp
7ea664c58499e757ce00bf9258fc932dd0c56abb
[vlc] / modules / gui / skins2 / commands / cmd_input.cpp
1 /*****************************************************************************
2  * cmd_input.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 <vlc/aout.h>
26 #include "cmd_input.hpp"
27 #include "cmd_dialogs.hpp"
28
29
30 void CmdPlay::execute()
31 {
32     playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
33     if( pPlaylist == NULL )
34     {
35         return;
36     }
37
38     if( pPlaylist->i_size )
39     {
40         playlist_Play( pPlaylist );
41     }
42     else
43     {
44         // If the playlist is empty, open a file requester instead
45         CmdDlgFile cmd( getIntf() );
46         cmd.execute();
47     }
48 }
49
50
51 void CmdPause::execute()
52 {
53     playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
54     if( pPlaylist == NULL )
55     {
56         return;
57     }
58
59     playlist_Pause( pPlaylist );
60 }
61
62
63 void CmdStop::execute()
64 {
65     playlist_t *pPlaylist = getIntf()->p_sys->p_playlist;
66     if( pPlaylist == NULL )
67     {
68         return;
69     }
70
71     playlist_Stop( pPlaylist );
72 }
73
74
75 void CmdSlower::execute()
76 {
77     input_thread_t *pInput =
78         (input_thread_t *)vlc_object_find( getIntf(), VLC_OBJECT_INPUT,
79                                            FIND_ANYWHERE );
80     if( pInput )
81     {
82         vlc_value_t val;
83         val.b_bool = VLC_TRUE;
84
85         var_Set( pInput, "rate-slower", val );
86         vlc_object_release( pInput );
87     }
88 }
89
90
91 void CmdFaster::execute()
92 {
93     input_thread_t *pInput =
94         (input_thread_t *)vlc_object_find( getIntf(), VLC_OBJECT_INPUT,
95                                            FIND_ANYWHERE );
96     if( pInput )
97     {
98         vlc_value_t val;
99         val.b_bool = VLC_TRUE;
100
101         var_Set( pInput, "rate-faster", val );
102         vlc_object_release( pInput );
103     }
104 }
105
106
107 void CmdMute::execute()
108 {
109     aout_VolumeMute( getIntf(), NULL );
110 }
111