/* Constants.h */


/* Fenster */
#define	ANZ_WINDOWS 12			/* Anzahl der Fenster insgesamt */
#define SIZE_WINDOW 18
#define SIZE_CONFIG (4 + ANZ_WINDOWS * SIZE_WINDOW + 4 + 4)

#define	WINDOW_MAIN			0	/* Hauptfenster */
#define	WINDOW_ABOUT		1	/* Über-Fenster */
#define	WINDOW_CDINFO		2	/* CD-Informations-Fenster */
#define	WINDOW_DRIVEINFO 	3	/* Laufwerks-Informations-Fenster */
#define WINDOW_PUBSCREEN	4	/* PubScreen-Auswahl */
#define WINDOW_TITLES		5	/* Titelauswahl-Fenster */
#define	WINDOW_EDIT			6	/* Fenster zum Editieren der CD-(Track)Titel */
#define WINDOW_PROGRAM		7	/* Titelprogrammierungsfenster */
#define WINDOW_AB			8	/* A-B-Repeat */
#define	WINDOW_VOLUME		9	/* Lautstärke-Fenster */
#define WINDOW_SAVEAUDIO	10	/* SaveAudio-Fenster */
#define WINDOW_SAVING		11	/* SaveAudio-Zustandsanzeige */

/* ASLs */
#define ANZ_ASL 		1

#define ASL_AREXX		0
#define ASL_SAVEAUDIO		1

/* Verschiedenes */
#define	LEFT	0				/* für AppWin-Struktur: */
#define	TOP		1				/*  minsize[LEFT] usw.  */
#define	WIDTH	2
#define	HEIGHT	3

#define	BUTTONHEIGHT	(app->font->ta_YSize + 6)
#define BUTTONSPACE		12
#define	XOFFSET			INTERWIDTH
#define	YOFFSET			(app->screen->WBorTop + app->font->ta_YSize + 1 + INTERHEIGHT)

#define MINWIDTH_LISTVIEW		80
#define MINWIDTH_STRINGGAD		40
#define MINWIDTH_LISTVIEWWIN	XOFFSET + MINWIDTH_LISTVIEW + 8		/* Kleinste Größe für Listview-Fenster */
#define MINHEIGHT_LISTVIEWWIN	YOFFSET + 4 + 4 * app->font->ta_YSize + INTERHEIGHT + 10
#define MINHEIGHT_VERTSLIDER	40
#define FAKEREQUESTSPACE		4

#define	MAGIC	0x41434433		/* Zur Identifikation des Konfig-Files, */

#define RETURN_SCSIERR	15		/* ARexxreturn wenn ein SCSI-Befehl fehlschlägt */

#define HOTKEYMODE_SCREENTOFRONT	0	/* Default: ACDP-Screen nach vorne */
#define HOTKEYMODE_FRONTMOST		1	/* ACDP springt zum vordersten Screen */
#define HOTKEYMODE_HIDE			2	/* ACDPlay wird wieder verborgen */

#define HIDEMODE_APPICON		0
#define HIDEMODE_APPMENUITEM		1
#define HIDEMODE_NONE			2

#define SEARCHMODE_STANDARD		0
#define SEARCHMODE_TOSHIBA		1
#define SEARCHMODE_SONY			2

#define	EVENT_HOTKEYPRESSED	1	/* für die Commodity-Funktion, Hotkey wurde gedrückt */
#define	EVENT_TIMER			2	/* Jede 1/10-Sekunde bekommt broker_mp ein Timer-Event */

#define	WIDESTLETTER	"M"

#define DISKPATHLENGTH	256		/* mehr verkraftet eine Zeile im CLI nicht */
#define FILENAMELENGTH  27		/* so lang darf ein Dateiname sein */
#define MAXCDNAME	128		/* Gibt es nicht trotzdem so lange Pfade? */
#define MAXARTISTNAME	128
#define MAXTITLENAME	128

#define TIMEMODE_TRACKCUR	0
#define TIMEMODE_TRACKREM	1
#define TIMEMODE_ALLCUR		2
#define TIMEMODE_ALLREM		3

#define REPEATMODE_NOREP	0
#define REPEATMODE_REPTRACK	1
#define REPEATMODE_REPALL	2
#define REPEATMODE_REPAB	3

#define PLAYMODE_CD		0
#define PLAYMODE_PROGRAM	1

#define PLAYLIST_CD		0
#define PLAYLIST_PROGRAM	1

#define FORMAT_CDR	0	/* Audiosave-Format */

#define FREQ_5512	0	/* Audiosave-Frequenz */
#define FREQ_11025	1
#define FREQ_22050	2
#define FREQ_44100	3

#define DEFAULTSEARCHSECONDS		10	/* Anzahl Sekunden, die ein 'Search' überspringt */
#define DEFAULTUPDATEDELAY		5	/* Anzahl 1/10-Sekunden */

/* Gadgets */

#define ANZ_GADGET_PANEL		8

#define GADGET_MAIN_DIRECTCHOICE0	0		/* 10 Gadgets */
#define GADGET_MAIN_DIRECTCHOICE1	10		/* 10 Gadgets */
#define GADGET_MAIN_TIMESHOW		20
#define GADGET_MAIN_TITLESHOW		21
#define GADGET_MAIN_POPUP		22
#define GADGET_MAIN_TRACKSHOW		23
#define GADGET_MAIN_INDEXSHOW		24
#define GADGET_MAIN_TIMESWITCH		25
#define GADGET_MAIN_PLAYMODE		26
#define GADGET_MAIN_REPEATMODE		27
#define GADGET_MAIN_TRACKSLIDER		28
#define GADGET_MAIN_CDOUT		29
#define GADGET_MAIN_JUMPBWRD		30
#define GADGET_MAIN_JUMPFWRD		31
#define GADGET_MAIN_SRCHBWRD		32
#define GADGET_MAIN_SRCHFWRD		33
#define GADGET_MAIN_STOP		34
#define GADGET_MAIN_PAUSE		35
#define GADGET_MAIN_PLAY		36
#define ANZ_GADGET_MAIN 		37

#define	GADGET_ABOUT_OK			0
#define ANZ_GADGET_ABOUT		1

#define	GADGET_CDINFO_OK 		0
#define GADGET_CDINFO_AUTHOR		1		/* Brauchen Textgadgets eine   */
#define GADGET_CDINFO_TITLE		2		/* extra ID ? Von den empfängt */
#define GADGET_CDINFO_TRACKS		3		/* man doch sowieso nie Msgs.  */
#define GADGET_CDINFO_TIME		4
#define ANZ_GADGET_CDINFO		5

#define	GADGET_DRIVEINFO_OK		0
#define	GADGET_DRIVEINFO_DEVICE		1		/* s.o. */
#define	GADGET_DRIVEINFO_UNIT		2
#define GADGET_DRIVEINFO_VENDOR		3		/* Ja, brauchen sie. */
#define GADGET_DRIVEINFO_PRODUCT	4		/* Schließlich müssen sie mal */
#define GADGET_DRIVEINFO_SPECIFIC	5		/* verändert werden... */
#define ANZ_GADGET_DRIVEINFO		6

#define GADGET_PUBSCREEN_LISTVIEW	0
#define GADGET_PUBSCREEN_UPDATE		1
#define ANZ_GADGET_PUBSCREEN		2

#define GADGET_TITLES_LISTVIEW		0
#define ANZ_GADGET_TITLES		1

#define GADGET_EDIT_TITLE		0
#define GADGET_EDIT_ARTIST		1
#define GADGET_EDIT_LISTVIEW		2
#define GADGET_EDIT_TRACKTITLE		3
#define GADGET_EDIT_SAVE		4
#define ANZ_GADGET_EDIT			5

#define GADGET_PROGRAM_LVCD		0
#define GADGET_PROGRAM_LVPRG		1
#define GADGET_PROGRAM_COPYALL		2
#define GADGET_PROGRAM_DEL		3
#define GADGET_PROGRAM_LOAD		4
#define GADGET_PROGRAM_SAVE		5
#define ANZ_GADGET_PROGRAM		6

#define GADGET_VOLUME_LEFT		0
#define GADGET_VOLUME_MASTER		1
#define GADGET_VOLUME_RIGHT		2
#define ANZ_GADGET_VOLUME		3

#define GADGET_AB_A			0
#define	GADGET_AB_A_TRACK		1
#define GADGET_AB_A_TIME		2
#define GADGET_AB_B			3
#define GADGET_AB_B_TRACK		4
#define GADGET_AB_B_TIME		5
#define ANZ_GADGET_AB 			6

#define GADGET_SAVEAUDIO_FORMAT		0
#define GADGET_SAVEAUDIO_FREQ		1
#define GADGET_SAVEAUDIO_FILENAME	2
#define GADGET_SAVEAUDIO_GETFILE	3
#define GADGET_SAVEAUDIO_SIZE		4
#define GADGET_SAVEAUDIO_SAVE		5
#define ANZ_GADGET_SAVEAUDIO 6

#define GADGET_SAVING_TRANSFERRED	0
#define GADGET_SAVING_CANCEL		1
#define ANZ_GADGET_SAVING 2

/* BOOL-ToolType-Flags */

/* hier werden verschiedene Flags von den Tooltypes gesetzt */
#define FLAG_TOOL_USEWINDOWBAR	(1 << 0)
#define FLAG_TOOL_USESCREENBAR	(1 << 1)
#define FLAG_TOOL_MWB		(1 << 2)
#define FLAG_TOOL_QUITONCLOSE	(1 << 3)
#define FLAG_TOOL_AUTOACTIVE	(1 << 4)
#define FLAG_TOOL_AUTOSTART	(1 << 5)

/* Flags für die unterschiedlichen GUI-Elemente im Hauptfenster */
#define FLAG_MAIN_DIRECTCHOICE0	(1 << 0)
#define FLAG_MAIN_DIRECTCHOICE1	(1 << 1)
#define FLAG_MAIN_TITLE		(1 << 2)
#define FLAG_MAIN_TIME		(1 << 3)
#define FLAG_MAIN_MODE		(1 << 4)
#define FLAG_MAIN_PANEL		(1 << 5)
#define FLAG_MAIN_TRACKSLIDER	(1 << 6)

/* Flags für Application */
/* Application ist/war auf der Workbench geöffnet */
#define APPF_WORKBENCH		(1 << 0)
/* Application wurde von der screennotify.library zum Schließen bewegt */
#define APPF_SNCLOSED		(1 << 1)
/* Application ist gerade "nicht ansprechbar" :-) */
#define APPF_BUSY		(1 << 2)