Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
JASChannel Class Reference

#include <JASChannel.h>

+ Inheritance diagram for JASChannel:
+ Collaboration diagram for JASChannel:

Classes

union  MixConfig
 
struct  PanVector
 

Public Types

enum  CallbackType { CB_PLAY , CB_START , CB_STOP , CB_TIMER }
 
enum  Status { STATUS_INACTIVE , STATUS_ACTIVE , STATUS_RELEASE }
 
typedef void(* Callback) (u32, JASChannel *, JASDsp::TChannel *, void *)
 

Public Member Functions

 JASChannel (Callback, void *)
 
 ~JASChannel ()
 
int play ()
 
int playForce ()
 
void release (u16)
 
void setOscInit (u32, JASOscillator::Data const *)
 
void setMixConfig (u32, u16)
 
void effectOsc (u32, JASOscillator::EffectParams *)
 
void setKeySweepTarget (s32, u32)
 
void updateEffectorParam (JASDsp::TChannel *, u16 *, JASOscillator::EffectParams const &)
 
s32 initialUpdateDSPChannel (JASDsp::TChannel *)
 
s32 updateDSPChannel (JASDsp::TChannel *)
 
void updateAutoMixer (JASDsp::TChannel *, f32, f32, f32, f32)
 
void updateMixer (f32, f32, f32, f32, u16 *)
 
void free ()
 
bool checkBankDispose () const
 
void setPauseFlag (bool param_0)
 
void setUpdateTimer (u32 param_0)
 
void setBankDisposeID (const void *param_0)
 
void setDirectRelease (u16 param_0)
 
void setVibrate (f32 param_0, f32 param_1)
 
void setVibrateDelay (u16 param_0)
 
void setTremolo (f32 param_0, f32 param_1)
 
void setTremoloDelay (u16 param_0)
 
void setPriority (u16 param_0)
 
void setParams (const JASChannelParams &param_0)
 
void setInitVolume (f32 param_0)
 
void setInitFxmix (f32 param_0)
 
void setInitPitch (f32 param_0)
 
void setInitPan (f32 param_0)
 
void setInitDolby (f32 param_0)
 
void setKey (s32 param_0)
 
void setVelocity (u32 param_0)
 
void setSkipSamples (u32 param_0)
 
bool isDolbyMode ()
 

Static Public Member Functions

static f32 calcEffect (JASChannel::PanVector const *)
 
static f32 calcPan (JASChannel::PanVector const *)
 
static s32 dspUpdateCallback (u32, JASDsp::TChannel *, void *)
 
static void initBankDisposeMsgQueue ()
 
static void receiveBankDisposeMsg ()
 
- Static Public Member Functions inherited from JASPoolAllocObject_MultiThreaded< JASChannel >
static voidoperator new (size_t n)
 
static voidoperator new (size_t n, void *ptr)
 
static void operator delete (void *ptr, size_t n)
 
static void newMemPool (int n)
 

Public Attributes

int mStatus
 
bool mPauseFlag
 
JASDSPChannelmDspCh
 
Callback mCallback
 
voidmCallbackData
 
u32 mUpdateTimer
 
const voidmBankDisposeID
 
JASOscillator mOscillators [2]
 
JASLfo mVibrate
 
JASLfo mTremolo
 
MixConfig mMixConfig [6]
 
u16 mPriority
 
JASChannelParams mParams
 
JASSoundParams mSoundParams
 
s16 mKey
 
u16 mVelocity
 
f32 mKeySweep
 
f32 mKeySweepTarget
 
u32 mKeySweepCount
 
u32 mSkipSamples
 
struct { 
 
   u32   field_0x0 
 
   JASWaveInfo   field_0x4 
 
field_0xdc 
 
int field_0x104
 

Static Public Attributes

static OSMessageQueue sBankDisposeMsgQ
 
static OSMessage sBankDisposeMsg [16]
 
static OSMessage sBankDisposeList [16]
 
static int sBankDisposeListSize
 

Private Attributes

u8 filler [0x108]
 

Member Typedef Documentation

◆ Callback

typedef void(* JASChannel::Callback) (u32, JASChannel *, JASDsp::TChannel *, void *)

Member Enumeration Documentation

◆ CallbackType

Enumerator
CB_PLAY 
CB_START 
CB_STOP 
CB_TIMER 

◆ Status

Enumerator
STATUS_INACTIVE 
STATUS_ACTIVE 
STATUS_RELEASE 

Constructor & Destructor Documentation

◆ JASChannel()

JASChannel::JASChannel ( Callback  i_callback,
void i_callbackData 
)

◆ ~JASChannel()

JASChannel::~JASChannel ( )

Member Function Documentation

◆ calcEffect()

f32 JASChannel::calcEffect ( JASChannel::PanVector const i_vector)
static

◆ calcPan()

f32 JASChannel::calcPan ( JASChannel::PanVector const i_vector)
static

◆ checkBankDispose()

bool JASChannel::checkBankDispose ( ) const

◆ dspUpdateCallback()

s32 JASChannel::dspUpdateCallback ( u32  i_type,
JASDsp::TChannel i_channel,
void i_this 
)
static

◆ effectOsc()

void JASChannel::effectOsc ( u32  i_index,
JASOscillator::EffectParams i_params 
)

◆ free()

void JASChannel::free ( )

◆ initBankDisposeMsgQueue()

void JASChannel::initBankDisposeMsgQueue ( )
static

◆ initialUpdateDSPChannel()

s32 JASChannel::initialUpdateDSPChannel ( JASDsp::TChannel i_channel)

◆ isDolbyMode()

bool JASChannel::isDolbyMode ( )
inline

◆ play()

int JASChannel::play ( )

◆ playForce()

int JASChannel::playForce ( )

◆ receiveBankDisposeMsg()

void JASChannel::receiveBankDisposeMsg ( )
static

◆ release()

void JASChannel::release ( u16  i_directRelease)

◆ setBankDisposeID()

void JASChannel::setBankDisposeID ( const void param_0)
inline

◆ setDirectRelease()

void JASChannel::setDirectRelease ( u16  param_0)
inline

◆ setInitDolby()

void JASChannel::setInitDolby ( f32  param_0)
inline

◆ setInitFxmix()

void JASChannel::setInitFxmix ( f32  param_0)
inline

◆ setInitPan()

void JASChannel::setInitPan ( f32  param_0)
inline

◆ setInitPitch()

void JASChannel::setInitPitch ( f32  param_0)
inline

◆ setInitVolume()

void JASChannel::setInitVolume ( f32  param_0)
inline

◆ setKey()

void JASChannel::setKey ( s32  param_0)
inline

◆ setKeySweepTarget()

void JASChannel::setKeySweepTarget ( s32  i_target,
u32  i_count 
)

◆ setMixConfig()

void JASChannel::setMixConfig ( u32  i_index,
u16  i_config 
)

◆ setOscInit()

void JASChannel::setOscInit ( u32  i_index,
JASOscillator::Data const i_data 
)

◆ setParams()

void JASChannel::setParams ( const JASChannelParams param_0)
inline

◆ setPauseFlag()

void JASChannel::setPauseFlag ( bool  param_0)
inline

◆ setPriority()

void JASChannel::setPriority ( u16  param_0)
inline

◆ setSkipSamples()

void JASChannel::setSkipSamples ( u32  param_0)
inline

◆ setTremolo()

void JASChannel::setTremolo ( f32  param_0,
f32  param_1 
)
inline

◆ setTremoloDelay()

void JASChannel::setTremoloDelay ( u16  param_0)
inline

◆ setUpdateTimer()

void JASChannel::setUpdateTimer ( u32  param_0)
inline

◆ setVelocity()

void JASChannel::setVelocity ( u32  param_0)
inline

◆ setVibrate()

void JASChannel::setVibrate ( f32  param_0,
f32  param_1 
)
inline

◆ setVibrateDelay()

void JASChannel::setVibrateDelay ( u16  param_0)
inline

◆ updateAutoMixer()

void JASChannel::updateAutoMixer ( JASDsp::TChannel i_channel,
f32  param_1,
f32  param_2,
f32  param_3,
f32  param_4 
)

◆ updateDSPChannel()

s32 JASChannel::updateDSPChannel ( JASDsp::TChannel i_channel)

◆ updateEffectorParam()

void JASChannel::updateEffectorParam ( JASDsp::TChannel i_channel,
u16 i_mixerVolume,
JASOscillator::EffectParams const i_params 
)

◆ updateMixer()

void JASChannel::updateMixer ( f32  i_volume,
f32  i_pan,
f32  i_fxmix,
f32  i_dolby,
u16 i_volumeOut 
)

Member Data Documentation

◆ field_0x0

u32 JASChannel::field_0x0

◆ field_0x104

int JASChannel::field_0x104

◆ field_0x4

JASWaveInfo JASChannel::field_0x4

◆ [struct]

struct { ... } JASChannel::field_0xdc

◆ filler

u8 JASChannel::filler[0x108]
private

◆ mBankDisposeID

const void* JASChannel::mBankDisposeID

◆ mCallback

Callback JASChannel::mCallback

◆ mCallbackData

void* JASChannel::mCallbackData

◆ mDspCh

JASDSPChannel* JASChannel::mDspCh

◆ mKey

s16 JASChannel::mKey

◆ mKeySweep

f32 JASChannel::mKeySweep

◆ mKeySweepCount

u32 JASChannel::mKeySweepCount

◆ mKeySweepTarget

f32 JASChannel::mKeySweepTarget

◆ mMixConfig

MixConfig JASChannel::mMixConfig[6]

◆ mOscillators

JASOscillator JASChannel::mOscillators[2]

◆ mParams

JASChannelParams JASChannel::mParams

◆ mPauseFlag

bool JASChannel::mPauseFlag

◆ mPriority

u16 JASChannel::mPriority

◆ mSkipSamples

u32 JASChannel::mSkipSamples

◆ mSoundParams

JASSoundParams JASChannel::mSoundParams

◆ mStatus

int JASChannel::mStatus

◆ mTremolo

JASLfo JASChannel::mTremolo

◆ mUpdateTimer

u32 JASChannel::mUpdateTimer

◆ mVelocity

u16 JASChannel::mVelocity

◆ mVibrate

JASLfo JASChannel::mVibrate

◆ sBankDisposeList

OSMessage JASChannel::sBankDisposeList
static

◆ sBankDisposeListSize

int JASChannel::sBankDisposeListSize
static

◆ sBankDisposeMsg

OSMessage JASChannel::sBankDisposeMsg
static

◆ sBankDisposeMsgQ

OSMessageQueue JASChannel::sBankDisposeMsgQ
static

The documentation for this class was generated from the following files: