home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mega A/V
/
mega_av.zip
/
mega_av
/
SOUNDUTL
/
MUSIQUE.ZIP
/
SOURCE.ZIP
/
MUSIQUE.H
< prev
next >
Wrap
Text File
|
1991-09-06
|
7KB
|
157 lines
/* Warning! This C source contains extended characters! */
#define VERSION "1.1" /* MUSIQUE version number */
#define TRUE 1
#define FALSE 0
#define DISKNAMELENGTH 2 /* from 1 to 99 should be enough */
#define SCORELENGTH 2 /* I guess - ± + and NP (no play) would cover it */
#define DOSNAMELENGTH 8 /* don't put in the extension .MOD or .ZIP */
#define SONGNAMELENGTH 19 /* according to module specs without EOS */
#define LINELENGTH 128 /* maximum length of most strings */
#define MAXSONGS 350 /* maximum number of songs */
#define PATHLENGTH 25000 /* size of the pool of DOS paths */
#define BUFFERSIZE 8192 /* big enough since PATHLENGTH is more important */
#define PORT1 0x3BC /* parallel ports in the standard BIOS order */
#define PORT2 0x378
#define PORT3 0x278
#define HIGHINT 0x8 /* high intensity mask */
#define SCROLLDELAY 2 /* in 10msec */
#define SHUTUPDELAY 2 /* in msec */
#define NOTFOUNDDELAY 500 /* in msec */
#define SNDFREQ 300 /* in Herz */
#define SNDLENGTH 10 /* in msec */
#define LANGUAGENUMBER 3 /* how many languages supported in current version */
#define FRENCH 0
#define ENGLISH 1
#define GERMAN 2
#define XRATIO 8 /* motion/pixel mouse ratios */
#define YRATIO 8
#define ODDDRIVE -1 /* indicates drive not set yet */
#define ODDPORTS '\0' /* indicates ports not set yet */
#define ODDMODE -24 /* indicates video mode not set yet */
#define ODDPATH "." /* indicates no DOS path supplied */
#define COMMENTFLAG '%'
#define FLAG1 '/' /* DOS style */
#define FLAG2 '-' /* UNIX style */
#define TEMPFLAG 'T' /* temporary drive letter follows */
#define PAUSEFLAG 'P' /* pause before shelling for debugging */
#define MODEFLAG 'I' /* for telling the video mode to be used */
#define ENGLISHFLAG 'E' /* english */
#define GERMANFLAG 'D' /* deutsch */
#define FRENCHFLAG 'F' /* french*/
#define COLORFLAG 'K' /* user defined color */
#define QUESTIONFLAG '?' /* syntax please */
#define MOUSEFLAG 'M' /* use mouse as well */
#define BIOSFLAG 'O' /* use BIOS calls only */
#define NOPORTFLAG '0' /* number of each parallel port present */
#define PORT1FLAG '1'
#define PORT2FLAG '2'
#define PORT3FLAG '3'
#define HIGHFLAG 'H' /* high intensity for display */
#define VERBOSEFLAG 'V' /* display all fields in menu */
#define DOSFLAG 'N' /* display only DOS file name in menu */
#define SONGFLAG 'S' /* display only song name in menu */
#define SPEED1FLAG 'A' /* speed control for ModPlay */
#define SPEED2FLAG 'B'
#define SPEED3FLAG 'C'
#define DEFAULTSPEED "/b" /* must use small letter */
#define KEYENTER 0x1C0D /* scan code & ASCII code */
#define KEYSPACE 0x3920
#define KEYESC 0x011B
#define KEYPGUP 0x4900
#define KEYPGDN 0x5100
#define KEYLEFT 0x4B00
#define KEYRIGHT 0x4D00
#define KEYUP 0x4800
#define KEYDOWN 0x5000
#define KEYHOME 0x4700
#define KEYEND 0x4F00
#define SKEYPGUP 0x4939
#define SKEYPGDN 0x5133
#define SKEYLEFT 0x4B34
#define SKEYRIGHT 0x4D36
#define SKEYUP 0x4838
#define SKEYDOWN 0x5032
#define SKEYHOME 0x4737
#define SKEYEND 0x4F31
#define SKEYCENTER 0x4C35
#define KEYATSLASH 0x0340
#define KEYSTAR1 0x092A
#define KEYSTAR2 0x372A
#define DEFAULTMENU "musique"
#define PGUP " Pg Up "
#define PGDN " Pg Dn "
#define MODPLAY0 "modplay"
#define MODPLAY1 "modplay.com"
#define MODPLAY2 "modplay.exe"
#define MODPLAY3 "modplay.bat"
#define PKUNZIP0 "pkunzip"
#define PKUNZIP1 "pkunzip.exe"
#define MPENDING ".mod"
#define PKENDING ".zip"
#define MENUENDING ".men"
#define STEREO "/xs" /* uses in stereo the first two ports found */
#define SINGLE "/xm" /* uses in mono the first port found */
#define SPEAKER "/0" /* uses the PC speaker if no port found */
#define PORT1S "3BC"
#define PORT2S "378"
#define PORT3S "278"
#define FTITLE "Menu pour ModPlay"
#define ETITLE "ModPlay Menu"
#define GTITLE "Menü für ModPlay"
#define DEFAULTOUTLINE 4 /* red */
#define DEFAULTTITLE 3 /* cyan */
#define DEFAULTITEM 2 /* green */
#define DEFAULTPICKED 3 /* cyan */
#define DEFAULTCURRENT 1 /* blue */
#define DEFAULTCURSOR 4 /* red */
#define DEFAULTBORDER 0 /* black */
typedef struct {
char diskname[DISKNAMELENGTH+1]; /* diskette name for A: and B: users */
char score[SCORELENGTH+1]; /* score for the current module */
char *DOSpath; /* DOS path name searched first */
char DOSname[DOSNAMELENGTH+1]; /* DOS file name used */
char songname[SONGNAMELENGTH+1]; /* Official consistent song name */
int picked; /* priority for playing (0=NP) */
} SONGTYPE;
typedef struct {
int songnumber; /* total number of songs */
int songcorner; /* song to appear in upper left corner of menu */
int songcurrent; /* song currently selected */
int songpriority; /* priority for next song selected for playing */
SONGTYPE song[MAXSONGS+1]; /* song 0 is BLANK */
char songpath[PATHLENGTH+1]; /* big array of consecutive strings for paths */
int songpathoffset; /* next chunk free in path pool */
} SONGSTYPE;
typedef struct {
int currentdrive; /* 0=A 1=B etc */
int tempdrive;
char speed[3]; /* "/a" or "/b" or "/c" */
int mouse; /* indicates if mouse is used */
int pause; /* must pause before system() calls */
int rawvideo; /* bypass BIOS or not */
int videosegment; /* video RAM segment (B000H or B800H) */
int verbose; /* display all fields in menu */
int DOS; /* display DOS file name only in menu */
int modplaycopied; /* temporary copy indicator */
int pkunzipcopied,pkunzipfound;
char ports[10]; /* typical "/xs3BC378" or "/0" for ModPlay */
int A,B,C; /* which parallel ports are used */
int videomode; /* startup video mode */
int itemlength; /* width of a menu item */
int maxcolumn,maxline; /* screen size */
int bigcolumn,bigline; /* number of menu items visible */
int hugeline; /* number of menu items visible and invisible */
int leftcolumn; /* columns left over used for nice item column spacing */
} PARAMETERTYPE;
typedef struct {
int x,y; /* coordinates from 0 to MAXMOUSE */
int left,right; /* button status */
char c; /* character on which the mouse cursor sits */
int color; /* original color of this character */
} MOUSETYPE;