/* Constants.h */


/* Fenster */
#define ANZ_WINDOWS 10                 /* 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 */

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