mirror of https://github.com/zeldaret/tp.git
62 lines
1.4 KiB
C
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 */
|