1 /***************************************************************************** 2 * cmd_playlist.hpp 3 ***************************************************************************** 4 * Copyright (C) 2003 the VideoLAN team 5 * $Id: bbbde615bd0656baa2df9ec6ef98b139be889e93 $ 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 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 *****************************************************************************/ 24 25 #ifndef CMD_PLAYLIST_HPP 26 #define CMD_PLAYLIST_HPP 27 28 #include "cmd_generic.hpp" 29 #include "../utils/var_list.hpp" 30 31 32 /// Command to delete the selected items from a list 33 class CmdPlaylistDel: public CmdGeneric 34 { 35 public: CmdPlaylistDel(intf_thread_t * pIntf,VarList & rList)36 CmdPlaylistDel( intf_thread_t *pIntf, VarList &rList ) 37 : CmdGeneric( pIntf ), m_rList( rList ) { } ~CmdPlaylistDel()38 virtual ~CmdPlaylistDel() { } 39 virtual void execute(); getType() const40 virtual std::string getType() const { return "playlist del"; } 41 42 private: 43 /// List 44 VarList &m_rList; 45 }; 46 47 48 /// Command to sort the playlist 49 DEFINE_COMMAND( PlaylistSort, "playlist sort" ) 50 51 /// Command to jump to the next item 52 DEFINE_COMMAND( PlaylistNext, "playlist next" ) 53 54 /// Command to jump to the previous item 55 DEFINE_COMMAND( PlaylistPrevious, "playlist previous" ) 56 57 /// Command to start the playlist 58 DEFINE_COMMAND( PlaylistFirst, "playlist first" ) 59 60 61 /// Command to set the random state 62 class CmdPlaylistRandom: public CmdGeneric 63 { 64 public: CmdPlaylistRandom(intf_thread_t * pIntf,bool value)65 CmdPlaylistRandom( intf_thread_t *pIntf, bool value ) 66 : CmdGeneric( pIntf ), m_value( value ) { } ~CmdPlaylistRandom()67 virtual ~CmdPlaylistRandom() { } 68 virtual void execute(); getType() const69 virtual std::string getType() const { return "playlist random"; } 70 71 private: 72 /// Random state 73 bool m_value; 74 }; 75 76 77 /// Command to set the loop state 78 class CmdPlaylistLoop: public CmdGeneric 79 { 80 public: CmdPlaylistLoop(intf_thread_t * pIntf,bool value)81 CmdPlaylistLoop( intf_thread_t *pIntf, bool value ) 82 : CmdGeneric( pIntf ), m_value( value ) { } ~CmdPlaylistLoop()83 virtual ~CmdPlaylistLoop() { } 84 virtual void execute(); getType() const85 virtual std::string getType() const { return "playlist loop"; } 86 87 private: 88 /// Loop state 89 bool m_value; 90 }; 91 92 93 /// Command to set the repeat state 94 class CmdPlaylistRepeat: public CmdGeneric 95 { 96 public: CmdPlaylistRepeat(intf_thread_t * pIntf,bool value)97 CmdPlaylistRepeat( intf_thread_t *pIntf, bool value ) 98 : CmdGeneric( pIntf ), m_value( value ) { } ~CmdPlaylistRepeat()99 virtual ~CmdPlaylistRepeat() { } 100 virtual void execute(); getType() const101 virtual std::string getType() const { return "playlist repeat"; } 102 103 private: 104 /// Repeat state 105 bool m_value; 106 }; 107 108 109 /// Command to load a playlist 110 class CmdPlaylistLoad: public CmdGeneric 111 { 112 public: CmdPlaylistLoad(intf_thread_t * pIntf,const std::string & rFile)113 CmdPlaylistLoad( intf_thread_t *pIntf, const std::string& rFile ) 114 : CmdGeneric( pIntf ), m_file( rFile ) { } ~CmdPlaylistLoad()115 virtual ~CmdPlaylistLoad() { } 116 virtual void execute(); getType() const117 virtual std::string getType() const { return "playlist load"; } 118 119 private: 120 /// Playlist file to load 121 std::string m_file; 122 }; 123 124 125 /// Command to save a playlist 126 class CmdPlaylistSave: public CmdGeneric 127 { 128 public: CmdPlaylistSave(intf_thread_t * pIntf,const std::string & rFile)129 CmdPlaylistSave( intf_thread_t *pIntf, const std::string& rFile ) 130 : CmdGeneric( pIntf ), m_file( rFile ) { } ~CmdPlaylistSave()131 virtual ~CmdPlaylistSave() { } 132 virtual void execute(); getType() const133 virtual std::string getType() const { return "playlist save"; } 134 135 private: 136 /// Playlist file to save 137 std::string m_file; 138 }; 139 140 141 #endif 142