| 1 | /*
 | 
|---|
| 2 |  * This file is (C) Chris Wohlgemuth 1999
 | 
|---|
| 3 |  */
 | 
|---|
| 4 | /*
 | 
|---|
| 5 |  * This program is free software; you can redistribute it and/or modify
 | 
|---|
| 6 |  * it under the terms of the GNU General Public License as published by
 | 
|---|
| 7 |  * the Free Software Foundation; either version 2, or (at your option)
 | 
|---|
| 8 |  * any later version.
 | 
|---|
| 9 |  *
 | 
|---|
| 10 |  * This program is distributed in the hope that it will be useful,
 | 
|---|
| 11 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
|---|
| 12 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
|---|
| 13 |  * GNU General Public License for more details.
 | 
|---|
| 14 |  *
 | 
|---|
| 15 |  * You should have received a copy of the GNU General Public License
 | 
|---|
| 16 |  * along with this program; see the file COPYING.  If not, write to
 | 
|---|
| 17 |  * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 | 
|---|
| 18 |  */
 | 
|---|
| 19 | 
 | 
|---|
| 20 | 
 | 
|---|
| 21 | /* The track class holds the information about
 | 
|---|
| 22 |    every track of a CD. The tracks are linked
 | 
|---|
| 23 |    and the whole list is put into the cddb class */
 | 
|---|
| 24 | class clsTrack;
 | 
|---|
| 25 | 
 | 
|---|
| 26 | class clsTrack
 | 
|---|
| 27 | {
 | 
|---|
| 28 | public:
 | 
|---|
| 29 |   clsTrack(char * title,int trackNo);
 | 
|---|
| 30 |   char trackname[1000];
 | 
|---|
| 31 |   int iTrackNo;
 | 
|---|
| 32 |   clsTrack *nextTrack;
 | 
|---|
| 33 | };
 | 
|---|
| 34 | 
 | 
|---|
| 35 | /*****************************************************/
 | 
|---|
| 36 | 
 | 
|---|
| 37 | /* This class holds the CDDB info of a CD. It
 | 
|---|
| 38 |    allows linking to support several matches. After
 | 
|---|
| 39 |    letting the user choose one match the missing
 | 
|---|
| 40 |    tracknames are filled with queried information from
 | 
|---|
| 41 |    the CDDB database*/ 
 | 
|---|
| 42 | 
 | 
|---|
| 43 | class cddb;
 | 
|---|
| 44 |  
 | 
|---|
| 45 | class cddb
 | 
|---|
| 46 | {
 | 
|---|
| 47 | public:
 | 
|---|
| 48 |   char title[101];
 | 
|---|
| 49 |   char artist[101];
 | 
|---|
| 50 |   char category[21];
 | 
|---|
| 51 |   LONG discid;
 | 
|---|
| 52 | 
 | 
|---|
| 53 |   cddb(char * chrTitle,char *chrArtist, char *category, int iMatch);
 | 
|---|
| 54 |   ~cddb();
 | 
|---|
| 55 |   int newTrack(char * trackTitle, int trackNo);
 | 
|---|
| 56 |   clsTrack * cddbFirstTrack(){return firstTrack;};
 | 
|---|
| 57 |   clsTrack * cddbNextTrack(clsTrack * track);
 | 
|---|
| 58 |   void linkCddb(cddb * Cddb);
 | 
|---|
| 59 |   cddb * getNextCddb(){return nextCddb;};
 | 
|---|
| 60 |   int getFuzzyOrN() {return iFuzzy;};
 | 
|---|
| 61 |   clsTrack* cddbFindTrack(int iTrack);
 | 
|---|
| 62 | private:
 | 
|---|
| 63 |   int iFuzzy;
 | 
|---|
| 64 |   cddb* nextCddb;
 | 
|---|
| 65 |   clsTrack* firstTrack;
 | 
|---|
| 66 |   void addTrack(clsTrack * track);
 | 
|---|
| 67 | };
 | 
|---|
| 68 | 
 | 
|---|
| 69 | 
 | 
|---|
| 70 | 
 | 
|---|
| 71 | 
 | 
|---|
| 72 | 
 | 
|---|
| 73 | 
 | 
|---|