1 #ifndef GOATTRK2_H
2 #define GOATTRK2_H
3 
4 #include <unistd.h>
5 #include <stdio.h>
6 #include <stdlib.h>
7 #include <string.h>
8 #include <ctype.h>
9 #include <dirent.h>
10 #include <sys/stat.h>
11 #include <math.h>
12 #include "bme.h"
13 
14 #include "gcommon.h"
15 #include "gconsole.h"
16 #include "gsound.h"
17 #include "gsid.h"
18 #include "gsong.h"
19 #include "gplay.h"
20 #include "gdisplay.h"
21 #include "greloc.h"
22 #include "gfile.h"
23 #include "gpattern.h"
24 #include "gorder.h"
25 #include "ginstr.h"
26 #include "gtable.h"
27 
28 #define EDIT_PATTERN 0
29 #define EDIT_ORDERLIST 1
30 #define EDIT_INSTRUMENT 2
31 #define EDIT_TABLES 3
32 #define EDIT_NAMES 4
33 
34 #define KEY_TRACKER 0
35 #define KEY_DMC 1
36 #define KEY_JANKO 2
37 
38 #define VISIBLEPATTROWS 31
39 #define VISIBLEORDERLIST 15
40 #define VISIBLETABLEROWS 15
41 #define VISIBLEFILES 24
42 
43 #define PGUPDNREPEAT 8
44 
45 #ifndef GOATTRK2_C
46 extern int menu;
47 extern int editmode;
48 extern int recordmode;
49 extern int followplay;
50 extern int hexnybble;
51 extern int stepsize;
52 extern int autoadvance;
53 extern int defaultpatternlength;
54 extern int cursorflash;
55 extern int cursorcolortable[];
56 extern int exitprogram;
57 extern int eacolumn;
58 extern int eamode;
59 extern unsigned keypreset;
60 extern unsigned playerversion;
61 extern int fileformat;
62 extern int zeropageadr;
63 extern int playeradr;
64 extern unsigned sidmodel;
65 extern unsigned multiplier;
66 extern unsigned adparam;
67 extern unsigned ntsc;
68 extern unsigned patterndispmode;
69 extern unsigned sidaddress;
70 extern unsigned finevibrato;
71 extern unsigned optimizepulse;
72 extern unsigned optimizerealtime;
73 extern unsigned usefinevib;
74 extern unsigned b;
75 extern unsigned mr;
76 extern unsigned writer;
77 extern unsigned hardsid;
78 extern unsigned catweasel;
79 extern unsigned interpolate;
80 extern unsigned hardsidbufinteractive;
81 extern unsigned hardsidbufplayback;
82 extern float basepitch;
83 extern char configbuf[MAX_PATHNAME];
84 extern char loadedsongfilename[MAX_FILENAME];
85 extern char songfilename[MAX_FILENAME];
86 extern char songfilter[MAX_FILENAME];
87 extern char songpath[MAX_PATHNAME];
88 extern char instrfilename[MAX_FILENAME];
89 extern char instrfilter[MAX_FILENAME];
90 extern char instrpath[MAX_PATHNAME];
91 extern char packedpath[MAX_PATHNAME];
92 extern char *programname;
93 extern char *notename[];
94 extern char textbuffer[MAX_PATHNAME];
95 extern unsigned char hexkeytbl[16];
96 extern unsigned char datafile[];
97 #endif
98 
99 void getparam(FILE *handle, unsigned *value);
100 void getfloatparam(FILE *handle, float *value);
101 void getstringparam(FILE *handle, char *value);
102 void waitkey(void);
103 void waitkeymouse(void);
104 void waitkeynoupdate(void);
105 void waitkeymousenoupdate(void);
106 void converthex(void);
107 void docommand(void);
108 void onlinehelp(int standalone, int context);
109 void mousecommands(void);
110 void generalcommands(void);
111 void load(void);
112 void save(void);
113 void quit(void);
114 void clear(void);
115 void prevmultiplier(void);
116 void nextmultiplier(void);
117 void editadsr(void);
118 void calculatefreqtable(void);
119 void setspecialnotenames(void);
120 void readscalatuningfile(void);
121 
122 #endif
123