tp/include/JSystem/JAudio2/JASBasicInst.h

62 lines
1.4 KiB
C

#ifndef JASBASICINST_H
#define JASBASICINST_H
#include "JSystem/JAudio2/JASOscillator.h"
#include "JSystem/JAudio2/JASSoundParams.h"
struct JKRHeap;
struct JASInstParam : public JASSoundParams {
JASInstParam() {
field_0x14 = NULL;
field_0x18 = 0;
field_0x1a = 0;
field_0x1c = 0;
field_0x1d = 0;
field_0x1e = 0;
}
JASOscillator::Data** field_0x14;
u16 field_0x18;
u16 field_0x1a;
u8 field_0x1c;
u8 field_0x1d;
u8 field_0x1e;
};
struct JASInst {
virtual ~JASInst() {}
virtual bool getParam(int, int, JASInstParam*) const = 0;
virtual u32 getType() const = 0;
};
struct JASBasicInst : public JASInst {
struct TKeymap {
/* 80298250 */ ~TKeymap();
/* 802982D4 */ TKeymap();
s32 field_0x0;
u16 field_0x4;
u16 field_0x6;
f32 field_0x8;
f32 field_0xc;
};
/* 80298014 */ JASBasicInst();
/* 8029819C */ void setKeyRegionCount(u32, JKRHeap*);
/* 8029821C */ void setOsc(int, JASOscillator::Data const*);
/* 8029822C */ TKeymap* getKeyRegion(int);
/* 8029807C */ virtual ~JASBasicInst();
/* 802980F8 */ virtual bool getParam(int, int, JASInstParam*) const;
/* 802982E0 */ virtual u32 getType() const { return 'BSIC'; };
f32 mVolume;
f32 mPitch;
JASOscillator::Data const* field_0xc[2];
u32 mKeymapCount;
TKeymap* mKeymap;
};
#endif /* JASBASICINST_H */