/* CDStruct.h */

#include "Structures/PlayListNode.h"

struct CDStruct
{
        ULONG		unit;			/* Unit des SCSI-Geräts */
        ULONG		lun;
        CDxRequest	*cdx;			/* <- bis hierhin nicht ändern */
        List		*playlist[2];		/* Zeiger auf Abspiel-Liste, CD und Programm */
        PlayListNode	*currentlyplayed;	/* aktueller Track im Programm */

        UBYTE           searchseconds;
        UBYTE           updatedelay;
        UBYTE           searchmode;
        UBYTE           timemode;                       /* Anzeigemodus - siehe oben */
        UBYTE           repeatmode;

        UBYTE           playmode;
        BOOL		playrandom;

        UBYTE           fileformat;                     /* für Audio-Save */
        UBYTE           freq;                           /* -||- */

        BOOL            useraction;                     /* Hat der User die Trackveränderung  */
                                                        /* ausgelöst? wichtig f. Wiederholung */

        UBYTE           num_track;                      /* Anzahl Tracks */
        UBYTE           cur_track;                      /* aktueller Track */
        UBYTE           active;                         /* siehe cdx_Active */
        UBYTE           time_percentage;	/* Zeit des aktuellen Tracks in % */
                                                /* wichtig für Trackslider */
        ULONG           time_curseconds;	/* aktuelle Gesamtzeit in Sekunden */

        char            *cdnameptr;		/* Damit sich die CDStruct ändern kann, ohne daß */
        char            *artistptr;		/* das Asm-Zeugs neu gemacht werden muß */

        char		**tracknames;		/* Zeiger auf Tracknamen */

        UBYTE           a_track, b_track;	/* für A-B-Repeat */
        LONG            a_adr, b_adr;		/* für A-B-Repeat */

	UBYTE		cur_index;			/* aktueller Index (ist hier, damit LONGs an geraden Adressen liegen) */

        char            buf_cddb_id[10];                /* CD-ID für die CDDB-Database */

        char            buf_ab_time_a[16];
        char            buf_ab_time_b[16];

        char            buf_copy_size[20];

        char            device[31];
        char            cdname[MAXCDNAME + 1];  /* Name der CD */
        char            artistname[MAXARTISTNAME + 1];  /* Name des Interpreten */
        char            diskpath[DISKPATHLENGTH + 1];   /* Pfadangabe für die CD-Titel */
};
