Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
JASTrack Struct Reference

#include <JASTrack.h>

+ Inheritance diagram for JASTrack:
+ Collaboration diagram for JASTrack:

Classes

struct  MoveParam_
 
struct  TChannelMgr
 
struct  TList
 

Public Types

enum  Status { STATUS_FREE , STATUS_RUN }
 

Public Member Functions

 JASTrack ()
 
 ~JASTrack ()
 
void setChannelMgrCount (u32)
 
void init ()
 
void initTimed ()
 
void inherit (JASTrack const &)
 
void assignExtBuffer (u32, JASSoundParams *)
 
void setSeqData (void *, u32)
 
void startSeq ()
 
void stopSeq ()
 
void start ()
 
void close ()
 
bool connectChild (u32, JASTrack *)
 
void closeChild (u32)
 
JASTrackopenChild (u32)
 
void connectBus (int, int)
 
void setLatestKey (u8)
 
JASChannelchannelStart (JASTrack::TChannelMgr *, u32, u32, u32)
 
int noteOn (u32, u32, u32)
 
int gateOn (u32, u32, f32, u32)
 
int noteOff (u32, u16)
 
bool checkNoteStop (u32) const
 
void overwriteOsc (JASChannel *)
 
void updateTimedParam ()
 
void updateTrack (f32)
 
void updateTempo ()
 
void updateSeq (bool, f32)
 
u32 seqTimeToDspTime (f32)
 
void setParam (u32, f32, u32)
 
void noteOffAll (u16)
 
void mute (bool)
 
void setOscScale (u32, f32)
 
void setOscTable (u32, JASOscillator::Point const *)
 
void setOscAdsr (s16, s16, s16, s16, u16)
 
void setFIR (s16 const *)
 
void setIIR (s16 const *)
 
u16 readPortSelf (u32)
 
void writePortSelf (u32, u16)
 
void writePort (u32, u16)
 
u16 readPort (u32)
 
void setChannelPauseFlag (bool)
 
void pause (bool)
 
int getTransposeTotal () const
 
bool isMute () const
 
void setTempo (u16)
 
void setTempoRate (f32)
 
void setTimebase (u16)
 
void updateChannel (JASChannel *, JASDsp::TChannel *)
 
JASTrackgetRootTrack ()
 
int tickProc ()
 
int seqMain ()
 
JASSeqCtrlgetSeqCtrl ()
 
u16 getPort (u32 param_0)
 
void setPort (u32 param_0, u16 param_1)
 
u32 checkPortIn (u32 param_0)
 
u32 checkPort (u32 param_0)
 
u32 readReg (JASRegisterParam::RegID param_0)
 
void writeReg (JASRegisterParam::RegID param_0, u32 param_1)
 
JASTrackgetParent ()
 
JASTrackgetChild (u32 index)
 
int getChannelMgrCount ()
 
f32 getVibDepth () const
 
void setVibDepth (f32 param_0)
 
f32 getVibPitch () const
 
void setVibPitch (f32 param_0)
 
f32 getTremDepth () const
 
void setTremDepth (f32 param_0)
 
f32 getTremPitch () const
 
void setTremPitch (f32 param_0)
 
u16 getVibDelay () const
 
void setVibDelay (u32 param_0)
 
u16 getTremDelay () const
 
void setTremDelay (u32 param_0)
 
u8 getStatus () const
 
void setAutoDelete (u8 param_0)
 
f32 getPanPower () const
 
void setPanPower (f32 param_0)
 
u32 getSkipSample () const
 
void setSkipSample (u32 param_0)
 
u16 getDirectRelease () const
 
void setDirectRelease (u16 param_0)
 
u16 getTimebase () const
 
s8 getTranspose () const
 
void setTranspose (u32 param_0)
 
u16 getBankNumber () const
 
void setBankNumber (u16 param_0)
 
u16 getProgNumber () const
 
void setProgNumber (u16 param_0)
 
u8 getBendSense () const
 
void setBendSense (u8 param_0)
 
u8 getNoteOnPrio () const
 
void setNoteOnPrio (u8 param_0)
 
u8 getReleasePrio () const
 
void setReleasePrio (u8 param_0)
 
u8 getGateRate () const
 
void setGateRate (u8 param_0)
 

Static Public Member Functions

static void channelUpdateCallback (u32, JASChannel *, JASDsp::TChannel *, void *)
 
- Static Public Member Functions inherited from JASPoolAllocObject_MultiThreaded< JASTrack >
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

JASSeqCtrl mSeqCtrl
 
JASTrackPort mTrackPort
 
JASRegisterParam mRegisterParam
 
MoveParam_ mMoveParam [6]
 
JASOscillator::Data mOscParam [2]
 
JASOscillator::Point mOscPoint [4]
 
JASTrackmParent
 
JASTrackmChildren [16]
 
TChannelMgrmChannelMgrs [4]
 
TChannelMgr mDefaultChannelMgr
 
int mChannelMgrCount
 
JASDefaultBankTablemBankTable
 
f32 field_0x1d8
 
f32 field_0x1dc
 
f32 mVibDepth
 
f32 mVibPitch
 
f32 mTremDepth
 
f32 mTremPitch
 
u16 mVibDelay
 
u16 mTremDelay
 
short mFIR [8]
 
short mIIR [8]
 
u8 mFilterMode
 
volatile u8 mStatus
 
struct { 
 
   bool   pause: 1 
 
   bool   mute: 1 
 
   bool   flag2: 1 
 
   bool   autoDelete: 1 
 
   bool   flag4: 1 
 
   bool   flag5: 1 
 
   bool   flag6: 1 
 
   bool   flag7: 1 
 
mFlags 
 
f32 mPanPower
 
f32 mTempoRate
 
u32 mSkipSample
 
u16 mDirectRelease
 
u16 mTempo
 
u16 mTimebase
 
s8 mTranspose
 
u8 field_0x22b
 
u16 mBankNumber
 
u16 mProgNumber
 
u8 mBendSense
 
u8 mNoteOnPrio
 
u8 mReleasePrio
 
u8 mGateRate
 
u16 mMixConfig [6]
 
JGadget::TLinkListNode field_0x240
 

Static Public Attributes

static JASOscillator::Point const sAdsTable [4]
 
static JASOscillator::Data const sEnvOsc = {0, 1.0f, NULL, NULL, 1.0f, 0.0f}
 
static JASOscillator::Data const sPitchEnvOsc = {1, 1.0f, NULL, NULL, 1.0f, 0.0f}
 
static JASDefaultBankTable sDefaultBankTable
 
static TList sTrackList
 

Member Enumeration Documentation

◆ Status

Enumerator
STATUS_FREE 
STATUS_RUN 

Constructor & Destructor Documentation

◆ JASTrack()

JASTrack::JASTrack ( )

◆ ~JASTrack()

JASTrack::~JASTrack ( )

Member Function Documentation

◆ assignExtBuffer()

void JASTrack::assignExtBuffer ( u32  i_index,
JASSoundParams i_soundParams 
)

◆ channelStart()

JASChannel * JASTrack::channelStart ( JASTrack::TChannelMgr i_channelMgr,
u32  param_1,
u32  param_2,
u32  i_updateTimer 
)

◆ channelUpdateCallback()

void JASTrack::channelUpdateCallback ( u32  param_0,
JASChannel param_1,
JASDsp::TChannel param_2,
void param_3 
)
static

◆ checkNoteStop()

bool JASTrack::checkNoteStop ( u32  i_noteID) const

◆ checkPort()

u32 JASTrack::checkPort ( u32  param_0)
inline

◆ checkPortIn()

u32 JASTrack::checkPortIn ( u32  param_0)
inline

◆ close()

void JASTrack::close ( )

◆ closeChild()

void JASTrack::closeChild ( u32  i_index)

◆ connectBus()

void JASTrack::connectBus ( int  param_0,
int  param_1 
)

◆ connectChild()

bool JASTrack::connectChild ( u32  i_index,
JASTrack i_child 
)

◆ gateOn()

int JASTrack::gateOn ( u32  param_0,
u32  i_velocity,
f32  i_time,
u32  i_flags 
)

◆ getBankNumber()

u16 JASTrack::getBankNumber ( ) const
inline

◆ getBendSense()

u8 JASTrack::getBendSense ( ) const
inline

◆ getChannelMgrCount()

int JASTrack::getChannelMgrCount ( )
inline

◆ getChild()

JASTrack * JASTrack::getChild ( u32  index)
inline

◆ getDirectRelease()

u16 JASTrack::getDirectRelease ( ) const
inline

◆ getGateRate()

u8 JASTrack::getGateRate ( ) const
inline

◆ getNoteOnPrio()

u8 JASTrack::getNoteOnPrio ( ) const
inline

◆ getPanPower()

f32 JASTrack::getPanPower ( ) const
inline

◆ getParent()

JASTrack * JASTrack::getParent ( )
inline

◆ getPort()

u16 JASTrack::getPort ( u32  param_0)
inline

◆ getProgNumber()

u16 JASTrack::getProgNumber ( ) const
inline

◆ getReleasePrio()

u8 JASTrack::getReleasePrio ( ) const
inline

◆ getRootTrack()

JASTrack * JASTrack::getRootTrack ( )

◆ getSeqCtrl()

JASSeqCtrl * JASTrack::getSeqCtrl ( )
inline

◆ getSkipSample()

u32 JASTrack::getSkipSample ( ) const
inline

◆ getStatus()

u8 JASTrack::getStatus ( ) const
inline

◆ getTimebase()

u16 JASTrack::getTimebase ( ) const
inline

◆ getTranspose()

s8 JASTrack::getTranspose ( ) const
inline

◆ getTransposeTotal()

int JASTrack::getTransposeTotal ( ) const

◆ getTremDelay()

u16 JASTrack::getTremDelay ( ) const
inline

◆ getTremDepth()

f32 JASTrack::getTremDepth ( ) const
inline

◆ getTremPitch()

f32 JASTrack::getTremPitch ( ) const
inline

◆ getVibDelay()

u16 JASTrack::getVibDelay ( ) const
inline

◆ getVibDepth()

f32 JASTrack::getVibDepth ( ) const
inline

◆ getVibPitch()

f32 JASTrack::getVibPitch ( ) const
inline

◆ inherit()

void JASTrack::inherit ( JASTrack const i_parent)

◆ init()

void JASTrack::init ( )

◆ initTimed()

void JASTrack::initTimed ( )

◆ isMute()

bool JASTrack::isMute ( ) const

◆ mute()

void JASTrack::mute ( bool  )

◆ noteOff()

int JASTrack::noteOff ( u32  i_noteID,
u16  param_1 
)

◆ noteOffAll()

void JASTrack::noteOffAll ( u16  param_0)

◆ noteOn()

int JASTrack::noteOn ( u32  i_noteID,
u32  param_1,
u32  param_2 
)

◆ openChild()

JASTrack * JASTrack::openChild ( u32  i_index)

◆ overwriteOsc()

void JASTrack::overwriteOsc ( JASChannel i_channel)

◆ pause()

void JASTrack::pause ( bool  )

◆ readPort()

u16 JASTrack::readPort ( u32  param_0)

◆ readPortSelf()

u16 JASTrack::readPortSelf ( u32  param_0)

◆ readReg()

u32 JASTrack::readReg ( JASRegisterParam::RegID  param_0)
inline

◆ seqMain()

int JASTrack::seqMain ( )

◆ seqTimeToDspTime()

u32 JASTrack::seqTimeToDspTime ( f32  i_seqTime)

◆ setAutoDelete()

void JASTrack::setAutoDelete ( u8  param_0)
inline

◆ setBankNumber()

void JASTrack::setBankNumber ( u16  param_0)
inline

◆ setBendSense()

void JASTrack::setBendSense ( u8  param_0)
inline

◆ setChannelMgrCount()

void JASTrack::setChannelMgrCount ( u32  i_count)

◆ setChannelPauseFlag()

void JASTrack::setChannelPauseFlag ( bool  i_pause)

◆ setDirectRelease()

void JASTrack::setDirectRelease ( u16  param_0)
inline

◆ setFIR()

void JASTrack::setFIR ( s16 const i_FIR)

◆ setGateRate()

void JASTrack::setGateRate ( u8  param_0)
inline

◆ setIIR()

void JASTrack::setIIR ( s16 const i_IIR)

◆ setLatestKey()

void JASTrack::setLatestKey ( u8  param_0)

◆ setNoteOnPrio()

void JASTrack::setNoteOnPrio ( u8  param_0)
inline

◆ setOscAdsr()

void JASTrack::setOscAdsr ( s16  param_0,
s16  param_1,
s16  param_2,
s16  param_3,
u16  i_directRelease 
)

◆ setOscScale()

void JASTrack::setOscScale ( u32  i_oscNo,
f32  i_scale 
)

◆ setOscTable()

void JASTrack::setOscTable ( u32  i_oscNo,
JASOscillator::Point const i_table 
)

◆ setPanPower()

void JASTrack::setPanPower ( f32  param_0)
inline

◆ setParam()

void JASTrack::setParam ( u32  i_index,
f32  i_target,
u32  i_count 
)

◆ setPort()

void JASTrack::setPort ( u32  param_0,
u16  param_1 
)
inline

◆ setProgNumber()

void JASTrack::setProgNumber ( u16  param_0)
inline

◆ setReleasePrio()

void JASTrack::setReleasePrio ( u8  param_0)
inline

◆ setSeqData()

void JASTrack::setSeqData ( void param_0,
u32  param_1 
)

◆ setSkipSample()

void JASTrack::setSkipSample ( u32  param_0)
inline

◆ setTempo()

void JASTrack::setTempo ( u16  i_tempo)

◆ setTempoRate()

void JASTrack::setTempoRate ( f32  i_tempoRate)

◆ setTimebase()

void JASTrack::setTimebase ( u16  i_timebase)

◆ setTranspose()

void JASTrack::setTranspose ( u32  param_0)
inline

◆ setTremDelay()

void JASTrack::setTremDelay ( u32  param_0)
inline

◆ setTremDepth()

void JASTrack::setTremDepth ( f32  param_0)
inline

◆ setTremPitch()

void JASTrack::setTremPitch ( f32  param_0)
inline

◆ setVibDelay()

void JASTrack::setVibDelay ( u32  param_0)
inline

◆ setVibDepth()

void JASTrack::setVibDepth ( f32  param_0)
inline

◆ setVibPitch()

void JASTrack::setVibPitch ( f32  param_0)
inline

◆ start()

void JASTrack::start ( )

◆ startSeq()

void JASTrack::startSeq ( )

◆ stopSeq()

void JASTrack::stopSeq ( )

◆ tickProc()

int JASTrack::tickProc ( )

◆ updateChannel()

void JASTrack::updateChannel ( JASChannel param_0,
JASDsp::TChannel param_1 
)

◆ updateSeq()

void JASTrack::updateSeq ( bool  param_0,
f32  param_1 
)

◆ updateTempo()

void JASTrack::updateTempo ( )

◆ updateTimedParam()

void JASTrack::updateTimedParam ( )

◆ updateTrack()

void JASTrack::updateTrack ( f32  param_0)

◆ writePort()

void JASTrack::writePort ( u32  param_0,
u16  param_1 
)

◆ writePortSelf()

void JASTrack::writePortSelf ( u32  param_0,
u16  param_1 
)

◆ writeReg()

void JASTrack::writeReg ( JASRegisterParam::RegID  param_0,
u32  param_1 
)
inline

Member Data Documentation

◆ autoDelete

bool JASTrack::autoDelete

◆ field_0x1d8

f32 JASTrack::field_0x1d8

◆ field_0x1dc

f32 JASTrack::field_0x1dc

◆ field_0x22b

u8 JASTrack::field_0x22b

◆ field_0x240

JGadget::TLinkListNode JASTrack::field_0x240

◆ flag2

bool JASTrack::flag2

◆ flag4

bool JASTrack::flag4

◆ flag5

bool JASTrack::flag5

◆ flag6

bool JASTrack::flag6

◆ flag7

bool JASTrack::flag7

◆ mBankNumber

u16 JASTrack::mBankNumber

◆ mBankTable

JASDefaultBankTable* JASTrack::mBankTable

◆ mBendSense

u8 JASTrack::mBendSense

◆ mChannelMgrCount

int JASTrack::mChannelMgrCount

◆ mChannelMgrs

TChannelMgr* JASTrack::mChannelMgrs[4]

◆ mChildren

JASTrack* JASTrack::mChildren[16]

◆ mDefaultChannelMgr

TChannelMgr JASTrack::mDefaultChannelMgr

◆ mDirectRelease

u16 JASTrack::mDirectRelease

◆ mFilterMode

u8 JASTrack::mFilterMode

◆ mFIR

short JASTrack::mFIR[8]

◆ [struct]

struct { ... } JASTrack::mFlags

◆ mGateRate

u8 JASTrack::mGateRate

◆ mIIR

short JASTrack::mIIR[8]

◆ mMixConfig

u16 JASTrack::mMixConfig[6]

◆ mMoveParam

MoveParam_ JASTrack::mMoveParam[6]

◆ mNoteOnPrio

u8 JASTrack::mNoteOnPrio

◆ mOscParam

JASOscillator::Data JASTrack::mOscParam[2]

◆ mOscPoint

JASOscillator::Point JASTrack::mOscPoint[4]

◆ mPanPower

f32 JASTrack::mPanPower

◆ mParent

JASTrack* JASTrack::mParent

◆ mProgNumber

u16 JASTrack::mProgNumber

◆ mRegisterParam

JASRegisterParam JASTrack::mRegisterParam

◆ mReleasePrio

u8 JASTrack::mReleasePrio

◆ mSeqCtrl

JASSeqCtrl JASTrack::mSeqCtrl

◆ mSkipSample

u32 JASTrack::mSkipSample

◆ mStatus

volatile u8 JASTrack::mStatus

◆ mTempo

u16 JASTrack::mTempo

◆ mTempoRate

f32 JASTrack::mTempoRate

◆ mTimebase

u16 JASTrack::mTimebase

◆ mTrackPort

JASTrackPort JASTrack::mTrackPort

◆ mTranspose

s8 JASTrack::mTranspose

◆ mTremDelay

u16 JASTrack::mTremDelay

◆ mTremDepth

f32 JASTrack::mTremDepth

◆ mTremPitch

f32 JASTrack::mTremPitch

◆ mute

void JASTrack::mute

◆ mVibDelay

u16 JASTrack::mVibDelay

◆ mVibDepth

f32 JASTrack::mVibDepth

◆ mVibPitch

f32 JASTrack::mVibPitch

◆ pause

void JASTrack::pause

◆ sAdsTable

JASOscillator::Point const JASTrack::sAdsTable
static
Initial value:
= {
{0, 0, 0x7fff},
{0, 0, 0x7fff},
{0, 0, 0},
{0xe, 0, 0},
}

◆ sDefaultBankTable

JASDefaultBankTable JASTrack::sDefaultBankTable
static

◆ sEnvOsc

JASOscillator::Data const JASTrack::sEnvOsc = {0, 1.0f, NULL, NULL, 1.0f, 0.0f}
static

◆ sPitchEnvOsc

JASOscillator::Data const JASTrack::sPitchEnvOsc = {1, 1.0f, NULL, NULL, 1.0f, 0.0f}
static

◆ sTrackList

JASTrack::TList JASTrack::sTrackList
static

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