Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members  

playlist.h

Go to the documentation of this file.
00001 /* MuSE - Multiple Streaming Engine
00002  * Copyright (C) 2000-2002 Denis Roio aka jaromil <jaromil@dyne.org>
00003  *
00004  * This source code is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Public License as published 
00006  * by the Free Software Foundation; either version 2 of the License,
00007  * or (at your option) any later version.
00008  *
00009  * This source code is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00012  * Please refer to the GNU Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Public License along with
00015  * this source code; if not, write to:
00016  * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00017  */
00018 
00023 #ifndef __playlist_h__
00024 #define __playlist_h__
00025 
00026 #include <linklist.h>
00027 
00031 class Url: public Entry {
00032  public:
00033 
00037   Url(const char *file);
00039 
00040   ~Url();
00042   
00043   char *path;
00045   
00046 #ifdef HAVE_SCHEDULER
00047 /*
00048  * Schedule record chain.  @see radiosched.h for details. 
00049  * Format might change in the future, as scheduler gets more mature. 
00050  */
00051   const char  *mn;       
00052   const char  *hr;       
00053   const char  *day;      
00054   const char  *mon;      
00055   const char  *wkd;      
00056   const char  *cmnplay;  
00057   unsigned    mnplay;
00058   unsigned    mnleft;    
00059   unsigned    port;      
00060   const char  *comment;
00061   const char  *csecs;    
00062   unsigned    secs;
00063 #endif
00064 };
00065 
00073 class Playlist : public Linklist {
00074  public:
00075   Playlist();
00076   ~Playlist();
00077 
00078   char *addurl(const char *file);
00080   
00081   char *addurl(const char *file, int pos);
00083 
00084 #ifdef HAVE_SCHEDULER
00085   void addurl(Url *url);
00086   Url *addurl(const char *file, const char *mn, const char *hr, 
00087           const char *day, const char *mon, const char *wkd, 
00088                   const char *cmnplay, const char *comment );
00090 #endif
00091 
00095   char *song(int pos);
00097 
00098 
00099   char *selection();
00101   
00102   void cleanup();
00104 };
00105 
00106 
00107 #endif

Generated on Thu Dec 16 12:28:21 2004 for MuSE by doxygen1.3