/* 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 		2

#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 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_RNDCD		1
#define PLAYMODE_PRG		2
#define PLAYMODE_RNDPRG		3

#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 GADGET_MAIN_DIRECTCHOICE0	0		/* 10 Gadgets */
#define GADGET_MAIN_DIRECTCHOICE1	10		/* 10 Gadgets */
#define GADGET_MAIN_TITLESHOW		20
#define GADGET_MAIN_TRACKSHOW		21
#define GADGET_MAIN_INDEXSHOW		22
#define GADGET_MAIN_TIMESHOW		23
#define GADGET_MAIN_PLAYMODE		24
#define GADGET_MAIN_REPEATMODE		25
#define GADGET_MAIN_TRACKSLIDER		26
#define GADGET_MAIN_CDOUT			27
#define GADGET_MAIN_JUMPBWRD		28
#define GADGET_MAIN_JUMPFWRD		29
#define GADGET_MAIN_SRCHBWRD		30
#define GADGET_MAIN_SRCHFWRD		31
#define GADGET_MAIN_STOP			32
#define GADGET_MAIN_PAUSE			33
#define GADGET_MAIN_PLAY			34
#define ANZ_GADGET_MAIN 35

#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)

/* 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)