AeInstFile.h
1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#ifndef __AeInstFile__
#define __AeInstFile__
#include <fstream.h>
#include "AeFile.h"
#include "AeInstHash.h"
#include "AeInstList.h"
class AeAsset;
class AeInstAsset;
class AeBankAsset;
class AeSoundAsset;
class AeEnvAsset;
class AeKeymapAsset;
class AeBankFileAsset;
class AeInstHash;
class AeInstList;
class AeInstID
{
public:
AeInstID * next;
char * name;
int lextype;
};
class AeInstFile : public AeAssetFile
{
public:
AeInstFile (char *);
virtual ~AeInstFile (void);
virtual AeErr Read (AeAsset *&);
virtual AeErr ReadList (GList<AeAsset *> *&);
virtual AeErr Write (AeAssetBase *);
char * MakeUnquotedStr (char * src);
// these fields are public for easy access by yacc
AeBankFileAsset * curBankFile;
AeBankAsset * curBank;
AeInstAsset * curInstrument;
AeSoundAsset * curSound;
AeEnvAsset * curEnvelope;
AeKeymapAsset * curKeyMap;
AeInstHash * hash;
AeInstList * list;
private:
AeErr read (void);
AeErr write (ofstream &, AeAssetBase *, TAssetType);
AeErr writeAsset (ofstream &, AeAsset *);
AeErr writeBank (ofstream &, AeBankAsset *);
AeErr writeInst (ofstream &, AeInstAsset *);
AeErr writeSound (ofstream &, AeSoundAsset *);
AeErr writeEnv (ofstream &, AeEnvAsset *);
AeErr writeKeymap (ofstream &, AeKeymapAsset *);
void initReserved (void);
};
extern class AeInstFile * instFile;
// lex/yacc interface
void initLex(void);
extern void yyerror(char *msg);
extern int yyparse(void);
extern int yylineno;
extern char yytext[];
#endif