Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

XFuXMPlayer Class Reference

Plays XM music files. More...

#include <XFuXMPlayer.h>

Collaboration diagram for XFuXMPlayer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void initSong (INT16 aStartOrder)
 Initializes the playhead to the beginning of a certain pattern.

INT32 getTick ()
 Returns the player's internal tick.

INT16 getCurrentOrder ()
 Returns the current order being played.

void addHandler (XFuXMPlayerEvent aEvent, XFuXMPlayerEventHandler *aHandler)
 Adds a new event handler to this player.

INT removeHandler (XFuXMPlayerEventHandler *aHandler)
 Removes a specific event handler from this player.

void removeHandlers ()
 Removes all event handlers from this player.

virtual void stop ()
virtual UINT32 stream (void *aBuf, INT32 aSamples)
virtual ~XFuXMPlayer ()

Static Public Member Functions

XFuXMPlayer * create (const CHAR *aFilename, FLOAT32 aSamplingRate, UINT32 aFlags)
 Creates an XM-Player.


Protected Member Functions

INT32 loadXM (const CHAR *aFilename, XFcFile *aTextout)
XFuXMFormatAtom getAtom ()
void dumpSongParameters (XFcFile *aTextout)
UINT32 getPeriod (INT8 aNote, INT8 aFinetune)
UINT32 getSpeed (UINT32 aPeriod, FLOAT32 aSamplingRate)
void initChannel (XFuXMChannel &aCh)
void initSound (XFuXMChannel &aCh)
void notifyHandlers (XFuXMChannel &aCh)
 Notify handlers of events.

 XFuXMPlayer (FLOAT32 aSampleRate, UINT32 aFlags)

Protected Attributes

FLOAT32 mSampleRate
 Sample rate.

UINT32 mFlags
 Format flags.

INT32 mTgtXor
 Signed/unsigned xor value.

XFuXMFormatHeader mXMHeader
 XM file header.

XFuXMSong mSong
 Module.

XFuXMFormatPatternHeadermXMPatternHeaders
 XM pattern headers.

XFuXMPatternmPatternData
 Pattern data.

XFuXMInstrumentmInstruments
 Instruments.

XFuXMChannelmChannels
 Channels.

INT16 mSineWaveTable [XMFORMAT_SIZEOF_WAVEFORM]
INT16 mSquareWaveTable [XMFORMAT_SIZEOF_WAVEFORM]
INT16 mRampUpTable [XMFORMAT_SIZEOF_WAVEFORM]
INT16 mRampDownTable [XMFORMAT_SIZEOF_WAVEFORM]
UINT32 mPpoint
 Pattern data index.

INT16 mCurrentOrder
 Order index.

INT16 mPatternNb
 Pattern index.

INT16 mCurrentRow
 Row index.

INT32 mSamplesPerTick
 Amount of samples in one tick.

INT32 mSamplePointer
 Counter.

FLOAT32 mTickRate
 Tick speed in Hz.

INT32 mRamp
UINT8 mPatternDelayCounter
 Pattern delay counter.

UINT8 mPatternDelayCounterTemp
 Temporary pattern delay counter.

UINT8 mIsRead
 Flag indicating whether pattern data should be read.

UINT8 mJumpFlag
 Flag for pattern jump and pattern break commands.

UINT8 mCurrentTick
 Tick index (0..tempo-1).

UINT32 mTotalTicks
 Test tick counter.

REAL mVolumeRampDivOpt
 For volume ramping.

XFcLinkedList< XFuXMPlayerEventHandlerSlot > * mEventHandlers
 List of event handlers interested in events of this player.


Detailed Description

Plays XM music files.

Definition at line 42 of file XFuXMPlayer.h.


Constructor & Destructor Documentation

XFuXMPlayer::XFuXMPlayer FLOAT32    aSampleRate,
UINT32    aFlags
[protected]
 

Definition at line 2524 of file XFuXMPlayer.cpp.

References mChannels, mEventHandlers, mFlags, mInstruments, XFuXMSong::mOrderTable, mPatternData, mRampDownTable, mRampUpTable, mSampleRate, mSineWaveTable, mSong, mSquareWaveTable, mTgtXor, and mXMPatternHeaders.

Referenced by create().

XFuXMPlayer::~XFuXMPlayer   [virtual]
 

Definition at line 2602 of file XFuXMPlayer.cpp.

References mChannels, XFuXMPattern::mData, mEventHandlers, mInstruments, XFuXMSong::mNbInstruments, XFuXMSong::mNbPatterns, XFuXMInstrument::mNbSamples, XFuXMSample::mOffset, XFuXMSong::mOrderTable, mPatternData, XFuXMPattern::mRows, XFuXMInstrument::mSamples, mSong, and mXMPatternHeaders.


Member Function Documentation

void XFuXMPlayer::addHandler XFuXMPlayerEvent    aEvent,
XFuXMPlayerEventHandler   aHandler
 

Adds a new event handler to this player.

Definition at line 1238 of file XFuXMPlayer.cpp.

References XFuXMPlayerEventHandlerSlot::mEvent, mEventHandlers, and XFuXMPlayerEventHandlerSlot::mHandler.

XFuXMPlayer * XFuXMPlayer::create const CHAR *    aFilename,
FLOAT32    aSamplingRate,
UINT32    aFlags
[static]
 

Creates an XM-Player.

Creates an XM-Player with the given module name, sampling rate and audio format.

Definition at line 2647 of file XFuXMPlayer.cpp.

References DebugPrint(), dumpSongParameters(), getAtom(), initSong(), loadXM(), XFuXMFormatAtom::mEffectType, XFuXMFormatAtom::mEffectValue, mEventHandlers, XFuXMFormatAtom::mInstrumentNb, XFuXMFormatHeader::mNbChannels, XFuXMFormatHeader::mNbPatterns, XFuXMFormatPatternHeader::mNbRows, XFuXMFormatAtom::mNote, mPatternNb, mPpoint, XFuXMFormatPatternHeader::mSize, XFuXMFormatAtom::mVolume, mVolumeRampDivOpt, mXMHeader, mXMPatternHeaders, and XFuXMPlayer().

void XFuXMPlayer::dumpSongParameters XFcFile *    aTextout [protected]
 

Definition at line 245 of file XFuXMPlayer.cpp.

References DebugPrint(), XFuXMSong::mBpm, mInstruments, XFuXMInstrument::mIsVibrato, XFuXMSong::mNbChannels, XFuXMSong::mNbInstruments, XFuXMSong::mNbPatterns, XFuXMSong::mOrderTable, XFuXMInstrument::mPanEnvEnd, XFuXMInstrument::mPanEnvLoopEnd, XFuXMInstrument::mPanEnvLoopStart, XFuXMInstrument::mPanEnvType, XFuXMInstrument::mPanningEnvelope, XFuXMSong::mRestartPosition, mSong, XFuXMSong::mSongLength, XFuXMSong::mTempo, XFuXMSong::mTypeString, XFuXMInstrument::mVibratoDepth, XFuXMInstrument::mVibratoRate, XFuXMInstrument::mVibratoSweep, XFuXMInstrument::mVibratoType, XFuXMInstrument::mVolEnvEnd, XFuXMInstrument::mVolEnvLoopEnd, XFuXMInstrument::mVolEnvLoopStart, XFuXMInstrument::mVolEnvSustain, XFuXMInstrument::mVolEnvType, XFuXMInstrument::mVolumeEnvelope, and XFuXMInstrument::mVolumeFadeout.

Referenced by create().

XFuXMFormatAtom XFuXMPlayer::getAtom   [protected]
 

Definition at line 892 of file XFuXMPlayer.cpp.

References XFuXMFormatAtom::mEffectType, XFuXMFormatAtom::mEffectValue, XFuXMFormatAtom::mInstrumentNb, XFuXMFormatAtom::mNote, mPatternData, mPatternNb, mPpoint, and XFuXMFormatAtom::mVolume.

Referenced by create(), and stream().

INT16 XFuXMPlayer::getCurrentOrder  
 

Returns the current order being played.

Definition at line 1232 of file XFuXMPlayer.cpp.

References mCurrentOrder.

UINT32 XFuXMPlayer::getPeriod INT8    aNote,
INT8    aFinetune
[protected]
 

Definition at line 863 of file XFuXMPlayer.cpp.

Referenced by initSound().

UINT32 XFuXMPlayer::getSpeed UINT32    aPeriod,
FLOAT32    aSamplingRate
[protected]
 

Definition at line 872 of file XFuXMPlayer.cpp.

References FP_VALUE, and linearFrequencyTable.

Referenced by stream().

INT32 XFuXMPlayer::getTick  
 

Returns the player's internal tick.

Definition at line 1226 of file XFuXMPlayer.cpp.

References mSampleRate, and mTotalTicks.

void XFuXMPlayer::initChannel XFuXMChannel   aCh [protected]
 

Definition at line 932 of file XFuXMPlayer.cpp.

References initSound(), XFuXMChannel::mBaseVolume, XFuXMChannel::mCurrentInstrument, XFuXMChannel::mCurrentSample, XFuXMChannel::mInitSample, XFuXMChannel::mInstrumentNb, XFuXMFormatAtom::mInstrumentNb, mInstruments, XFuXMChannel::mIsValid, XFuXMInstrument::mKeyboard, XFuXMChannel::mMultiRetrigTicker, XFuXMSong::mNbInstruments, XFuXMInstrument::mNbSamples, XFuXMChannel::mNote, XFuXMFormatAtom::mNote, XFuXMChannel::mOldPeriod, XFuXMSample::mPan, XFuXMChannel::mPan, mPatternDelayCounter, XFuXMChannel::mPeriod, XFuXMInstrument::mSamples, mSong, XFuXMChannel::mTa, XFuXMChannel::mTremorTicker, XFuXMSample::mVolume, XFuXMChannel::mVolume, XFuXMFormatAtom::mVolume, and XFuXMChannel::mVolumeColumn.

Referenced by stream().

void XFuXMPlayer::initSong INT16    aStartOrder
 

Initializes the playhead to the beginning of a certain pattern.

Definition at line 1109 of file XFuXMPlayer.cpp.

References XFuXMChannel::mBasePeriod, XFuXMChannel::mBaseVolume, XFuXMSong::mBpm, mChannels, mCurrentOrder, mCurrentRow, mCurrentTick, XFuXMChannel::mDestPeriod, XFuXMChannel::mDirection, XFuXMChannel::mEffectType, XFuXMChannel::mEffectValue, XFuXMChannel::mExtraFinePortamentoDownV, XFuXMChannel::mExtraFinePortamentoUpV, XFuXMChannel::mFinalOldVolume, XFuXMChannel::mFinalVolumeSpeed, XFuXMChannel::mFinePortamentoDownV, XFuXMChannel::mFinePortamentoUpV, XFuXMChannel::mFineVolumeSlideDownV, XFuXMChannel::mFineVolumeSlideUpV, XFuXMSong::mGlobalVolume, XFuXMChannel::mGlobalVolumeSlideV, XFuXMChannel::mInstrumentNb, mIsRead, XFuXMChannel::mIsSample, XFuXMChannel::mIsVibrato, mJumpFlag, XFuXMChannel::mLength, XFuXMChannel::mLoop, XFuXMChannel::mLoopEnd, XFuXMChannel::mLoopStart, XFuXMChannel::mMultiRetrigRateV, XFuXMChannel::mMultiRetrigTicker, XFuXMChannel::mMultiRetrigVolumeV, XFuXMSong::mNbChannels, XFuXMSong::mNbPatterns, XFuXMChannel::mNote, XFuXMChannel::mOffset, XFuXMChannel::mOldPeriod, XFuXMSong::mOrderTable, XFuXMChannel::mPanEnvLoopEnd, XFuXMChannel::mPanEnvLoopStart, XFuXMChannel::mPanEnvPointer, XFuXMChannel::mPanEnvSpeed, XFuXMChannel::mPanEnvSustain, XFuXMChannel::mPanEnvType, XFuXMChannel::mPanEnvValue, mPatternDelayCounter, mPatternDelayCounterTemp, mPatternNb, XFuXMChannel::mPeriod, XFuXMChannel::mPointer, mSamplePointer, mSampleRate, mSamplesPerTick, mSong, XFuXMSong::mSongLength, XFuXMChannel::mSpeed, XFuXMChannel::mSustainReleased, XFuXMSong::mTempo, mTickRate, XFuXMChannel::mTonePortamentoV, mTotalTicks, XFuXMChannel::mTremoloDepth, XFuXMChannel::mTremoloPointer, XFuXMChannel::mTremoloRate, XFuXMChannel::mTremoloWaveform, XFuXMChannel::mTremorTicker, XFuXMChannel::mTremorV, XFuXMChannel::mVibratoDepth, XFuXMChannel::mVibratoPointer, XFuXMChannel::mVibratoRate, XFuXMChannel::mVibratoWaveform, XFuXMChannel::mVolEnvLoopEnd, XFuXMChannel::mVolEnvLoopStart, XFuXMChannel::mVolEnvPointer, XFuXMChannel::mVolEnvSpeed, XFuXMChannel::mVolEnvSustain, XFuXMChannel::mVolEnvType, XFuXMChannel::mVolEnvValue, XFuXMChannel::mVolume, XFuXMChannel::mVolumeColumn, XFuXMChannel::mVolumeFadeout, XFuXMChannel::mVolumeFadeoutValue, XFuXMChannel::mVolumeSlideV, and WAVEFORM_SINEWAVE.

Referenced by create(), and stop().

void XFuXMPlayer::initSound XFuXMChannel   aCh [protected]
 

Definition at line 1004 of file XFuXMPlayer.cpp.

References FP_BITS, getPeriod(), LOOP_FORWARD, LOOP_PINGPONG, XFuXMChannel::mBasePeriod, XFuXMChannel::mCurrentInstrument, XFuXMChannel::mCurrentSample, XFuXMChannel::mDirection, XFuXMChannel::mEffectType, XFuXMSample::mFinetune, XFuXMChannel::mFinetune, XFuXMChannel::mInitSample, XFuXMChannel::mIsSample, XFuXMChannel::mIsValid, XFuXMChannel::mIsVibrato, XFuXMChannel::mLength, XFuXMChannel::mLoop, XFuXMSample::mLoopEnd, XFuXMChannel::mLoopEnd, XFuXMSample::mLoopForward, XFuXMSample::mLoopPingpong, XFuXMSample::mLoopStart, XFuXMChannel::mLoopStart, XFuXMChannel::mNote, XFuXMSample::mOffset, XFuXMChannel::mOffset, XFuXMInstrument::mPanEnvLoopEnd, XFuXMChannel::mPanEnvLoopEnd, XFuXMInstrument::mPanEnvLoopStart, XFuXMChannel::mPanEnvLoopStart, XFuXMChannel::mPanEnvPointer, XFuXMChannel::mPanEnvSpeed, XFuXMInstrument::mPanEnvSustain, XFuXMChannel::mPanEnvSustain, XFuXMInstrument::mPanEnvType, XFuXMChannel::mPanEnvType, XFuXMChannel::mPeriod, XFuXMChannel::mPointer, XFuXMSample::mRelativeNote, XFuXMSample::mSize, XFuXMChannel::mSustainReleased, XFuXMChannel::mTremoloPointer, XFuXMChannel::mTremoloWaveform, XFuXMChannel::mVibratoPointer, XFuXMChannel::mVibratoWaveform, XFuXMInstrument::mVolEnvLoopEnd, XFuXMChannel::mVolEnvLoopEnd, XFuXMInstrument::mVolEnvLoopStart, XFuXMChannel::mVolEnvLoopStart, XFuXMChannel::mVolEnvPointer, XFuXMChannel::mVolEnvSpeed, XFuXMInstrument::mVolEnvSustain, XFuXMChannel::mVolEnvSustain, XFuXMInstrument::mVolEnvType, XFuXMChannel::mVolEnvType, XFuXMChannel::mVolumeColumn, XFuXMInstrument::mVolumeFadeout, XFuXMChannel::mVolumeFadeout, XFuXMChannel::mVolumeFadeoutValue, and WAVEFORM_NO_RETRIG.

Referenced by initChannel(), and stream().

INT32 XFuXMPlayer::loadXM const CHAR *    aFilename,
XFcFile *    aTextout
[protected]
 

Definition at line 310 of file XFuXMPlayer.cpp.

References DebugPrint(), ENV_SUSTAIN, LOOP_FORWARD, LOOP_PINGPONG, XFuXMSample::m16Bit, XFuXMSong::mBpm, XFuXMFormatHeader::mBpm, mChannels, XFuXMPattern::mData, XFuXMSample::mFinetune, XFuXMFormatSample::mFinetune, mFlags, XFuXMFormatHeader::mFlags, XFuXMFormatHeader::mH1A, XFuXMFormatHeader::mHeaderSize, XFuXMFormatHeader::mIdString, XFuXMFormatInstrumentHeader::mInstrumentName, mInstruments, XFuXMInstrument::mIsVibrato, XFuXMInstrument::mKeyboard, XFuXMFormatInstrument::mKeyboard, XFuXMSample::mLoopEnd, XFuXMSample::mLoopForward, XFuXMFormatSample::mLoopLength, XFuXMSample::mLoopPingpong, XFuXMSample::mLoopStart, XFuXMFormatSample::mLoopStart, XFuXMFormatHeader::mModuleName, XFuXMSong::mNbChannels, XFuXMFormatHeader::mNbChannels, XFuXMSong::mNbInstruments, XFuXMFormatHeader::mNbInstruments, XFuXMFormatInstrument::mNbPanEnvPoints, XFuXMSong::mNbPatterns, XFuXMFormatHeader::mNbPatterns, XFuXMInstrument::mNbSamples, XFuXMFormatInstrumentHeader::mNbSamples, XFuXMFormatInstrument::mNbVolEnvPoints, XFuXMSample::mOffset, XFuXMSong::mOrderTable, XFuXMFormatHeader::mOrderTable, XFuXMSample::mPan, XFuXMFormatSample::mPan, XFuXMInstrument::mPanEnvEnd, XFuXMInstrument::mPanEnvLoopEnd, XFuXMFormatInstrument::mPanEnvLoopEnd, XFuXMInstrument::mPanEnvLoopStart, XFuXMFormatInstrument::mPanEnvLoopStart, XFuXMInstrument::mPanEnvSustain, XFuXMFormatInstrument::mPanEnvSustain, XFuXMInstrument::mPanEnvType, XFuXMFormatInstrument::mPanEnvType, XFuXMInstrument::mPanningEnvelope, XFuXMFormatInstrument::mPanningEnvelope, mPatternData, XFuXMSample::mRelativeNote, XFuXMFormatSample::mRelativeNote, XFuXMFormatSample::mReserved, XFuXMFormatInstrument::mReserved, XFuXMSong::mRestartPosition, XFuXMFormatHeader::mRestartPosition, XFuXMPattern::mRows, XFuXMFormatInstrument::mSampleHeaderSize, XFuXMFormatSample::mSampleLength, XFuXMFormatSample::mSampleName, XFuXMInstrument::mSamples, XFuXMSample::mSize, XFuXMFormatInstrumentHeader::mSize, XFuXMFormatPatternHeader::mSize, mSong, XFuXMSong::mSongLength, XFuXMFormatHeader::mSongLength, XFuXMSong::mTempo, XFuXMFormatHeader::mTempo, XFuXMFormatHeader::mTrackerName, XFuXMFormatSample::mType, XFuXMFormatInstrumentHeader::mType, XFuXMSong::mTypeString, XFuXMFormatHeader::mVersion, XFuXMInstrument::mVibratoDepth, XFuXMFormatInstrument::mVibratoDepth, XFuXMInstrument::mVibratoRate, XFuXMFormatInstrument::mVibratoRate, XFuXMInstrument::mVibratoSweep, XFuXMFormatInstrument::mVibratoSweep, XFuXMInstrument::mVibratoType, XFuXMFormatInstrument::mVibratoType, XFuXMInstrument::mVolEnvEnd, XFuXMInstrument::mVolEnvLoopEnd, XFuXMFormatInstrument::mVolEnvLoopEnd, XFuXMInstrument::mVolEnvLoopStart, XFuXMFormatInstrument::mVolEnvLoopStart, XFuXMInstrument::mVolEnvSustain, XFuXMFormatInstrument::mVolEnvSustain, XFuXMInstrument::mVolEnvType, XFuXMFormatInstrument::mVolEnvType, XFuXMSample::mVolume, XFuXMFormatSample::mVolume, XFuXMInstrument::mVolumeEnvelope, XFuXMFormatInstrument::mVolumeEnvelope, XFuXMInstrument::mVolumeFadeout, XFuXMFormatInstrument::mVolumeFadeout, mXMHeader, mXMPatternHeaders, and XMFORMAT_SAMPLE_16BIT.

Referenced by create().

void XFuXMPlayer::notifyHandlers XFuXMChannel   aCh [protected]
 

Notify handlers of events.

Definition at line 1071 of file XFuXMPlayer.cpp.

References XFuXMPlayerEventHandler::handleXMPlayerEvent(), XFuXMPlayerEvent::mEffectType, XFuXMChannel::mEffectType, XFuXMChannel::mEffectValue, XFuXMPlayerEvent::mEffectValue, XFuXMPlayerEventHandlerSlot::mEvent, mEventHandlers, XFuXMPlayerEventHandlerSlot::mHandler, XFuXMChannel::mInstrumentNb, XFuXMPlayerEvent::mInstrumentNb, XFuXMChannel::mNote, XFuXMPlayerEvent::mNote, XFuXMPlayerEvent::mPlayer, XFuXMChannel::mVolume, and XFuXMPlayerEvent::mVolume.

Referenced by stream().

INT XFuXMPlayer::removeHandler XFuXMPlayerEventHandler   aHandler
 

Removes a specific event handler from this player.

Definition at line 1251 of file XFuXMPlayer.cpp.

References mEventHandlers, and XFuXMPlayerEventHandlerSlot::mHandler.

void XFuXMPlayer::removeHandlers  
 

Removes all event handlers from this player.

Definition at line 1265 of file XFuXMPlayer.cpp.

References mEventHandlers.

void XFuXMPlayer::stop   [virtual]
 

Definition at line 1277 of file XFuXMPlayer.cpp.

References initSong().

UINT32 XFuXMPlayer::stream void *    aBuf,
INT32    aSamples
[virtual]
 

Definition at line 1286 of file XFuXMPlayer.cpp.

References ABS, addPointer, addPointerBidirectionalLoop, addPointerForwardLoop, ENV_LOOP, ENV_ON, ENV_SUSTAIN, FP_BITS, FP_VALUE, getAtom(), getSpeed(), initChannel(), initSound(), interpolateLinear16, interpolateLinear8, interpolateLinearBidirectionalLoop16, interpolateLinearBidirectionalLoop8, interpolateLinearForwardLoop16, interpolateLinearForwardLoop8, LOOP_FORWARD, LOOP_PINGPONG, XFuXMSample::m16Bit, XFuXMChannel::mBasePeriod, XFuXMChannel::mBaseVolume, XFuXMSong::mBpm, mChannels, mCurrentOrder, mCurrentRow, XFuXMChannel::mCurrentSample, mCurrentTick, XFuXMChannel::mDestPeriod, XFuXMFormatAtom::mEffectType, XFuXMChannel::mEffectType, XFuXMFormatAtom::mEffectValue, XFuXMChannel::mEffectValue, XFuXMChannel::mExtraFinePortamentoDownV, XFuXMChannel::mExtraFinePortamentoUpV, XFuXMChannel::mFinalOldVolume, XFuXMChannel::mFinalPan, XFuXMChannel::mFinalVolume, XFuXMChannel::mFinalVolumeSpeed, XFuXMChannel::mFinePortamentoUpV, XFuXMChannel::mFinetune, XFuXMChannel::mFineVolumeSlideDownV, XFuXMChannel::mFineVolumeSlideUpV, mFlags, XFuXMSong::mGlobalVolume, XFuXMChannel::mGlobalVolumeSlideV, XFuXMChannel::mInitSample, XFuXMChannel::mInstrumentNb, mInstruments, mIsRead, XFuXMChannel::mIsSample, XFuXMChannel::mIsVibrato, mJumpFlag, XFuXMChannel::mLength, XFuXMChannel::mLoop, XFuXMChannel::mMultiRetrigRateV, XFuXMChannel::mMultiRetrigTicker, XFuXMChannel::mMultiRetrigVolumeV, XFuXMSong::mNbChannels, XFuXMSong::mNbInstruments, XFuXMSong::mNbPatterns, XFuXMFormatAtom::mNote, XFuXMChannel::mOffset, XFuXMChannel::mOldPeriod, XFuXMSong::mOrderTable, XFuXMChannel::mPan, XFuXMInstrument::mPanEnvEnd, XFuXMChannel::mPanEnvLoopEnd, XFuXMChannel::mPanEnvLoopStart, XFuXMChannel::mPanEnvPointer, XFuXMChannel::mPanEnvSpeed, XFuXMChannel::mPanEnvSustain, XFuXMChannel::mPanEnvType, XFuXMChannel::mPanEnvValue, XFuXMInstrument::mPanningEnvelope, XFuXMChannel::mPanningSlideV, mPatternData, mPatternDelayCounter, mPatternDelayCounterTemp, mPatternNb, XFuXMChannel::mPeriod, XFuXMChannel::mPointer, XFuXMChannel::mPortamentoDownV, XFuXMChannel::mPortamentoUpV, mPpoint, mRamp, mRampDownTable, XFuXMSong::mRestartPosition, mSamplePointer, mSampleRate, mSamplesPerTick, mSineWaveTable, mSong, XFuXMSong::mSongLength, XFuXMChannel::mSpeed, mSquareWaveTable, XFuXMChannel::mSustainReleased, XFuXMChannel::mTa, XFuXMSong::mTempo, mTgtXor, mTickRate, XFuXMChannel::mTonePortamentoV, mTotalTicks, XFuXMChannel::mTremoloDepth, XFuXMChannel::mTremoloPointer, XFuXMChannel::mTremoloRate, XFuXMChannel::mTremoloWaveform, XFuXMChannel::mTremorTicker, XFuXMChannel::mTremorV, XFuXMChannel::mVibratoDepth, XFuXMChannel::mVibratoPointer, XFuXMChannel::mVibratoRate, XFuXMChannel::mVibratoWaveform, XFuXMInstrument::mVolEnvEnd, XFuXMChannel::mVolEnvLoopEnd, XFuXMChannel::mVolEnvLoopStart, XFuXMChannel::mVolEnvPointer, XFuXMChannel::mVolEnvSpeed, XFuXMChannel::mVolEnvSustain, XFuXMChannel::mVolEnvType, XFuXMChannel::mVolEnvValue, XFuXMChannel::mVolume, XFuXMChannel::mVolumeColumn, XFuXMInstrument::mVolumeEnvelope, XFuXMChannel::mVolumeFadeout, XFuXMChannel::mVolumeFadeoutValue, mVolumeRampDivOpt, XFuXMChannel::mVolumeSlideV, mXMPatternHeaders, notifyHandlers(), VOLUME_RAMP_WIDTH, WAVEFORM_RAMPDOWN, WAVEFORM_SINEWAVE, WAVEFORM_SQUAREWAVE, and XMFORMAT_SIZEOF_WAVEFORM.


Member Data Documentation

XFuXMChannel* XFuXMPlayer::mChannels [protected]
 

Channels.

Definition at line 57 of file XFuXMPlayer.h.

Referenced by initSong(), loadXM(), stream(), XFuXMPlayer(), and ~XFuXMPlayer().

INT16 XFuXMPlayer::mCurrentOrder [protected]
 

Order index.

Definition at line 65 of file XFuXMPlayer.h.

Referenced by getCurrentOrder(), initSong(), and stream().

INT16 XFuXMPlayer::mCurrentRow [protected]
 

Row index.

Definition at line 67 of file XFuXMPlayer.h.

Referenced by initSong(), and stream().

UINT8 XFuXMPlayer::mCurrentTick [protected]
 

Tick index (0..tempo-1).

Definition at line 79 of file XFuXMPlayer.h.

Referenced by initSong(), and stream().

XFcLinkedList<XFuXMPlayerEventHandlerSlot>* XFuXMPlayer::mEventHandlers [protected]
 

List of event handlers interested in events of this player.

Definition at line 85 of file XFuXMPlayer.h.

Referenced by addHandler(), create(), notifyHandlers(), removeHandler(), removeHandlers(), XFuXMPlayer(), and ~XFuXMPlayer().

UINT32 XFuXMPlayer::mFlags [protected]
 

Format flags.

Definition at line 46 of file XFuXMPlayer.h.

Referenced by loadXM(), stream(), and XFuXMPlayer().

XFuXMInstrument* XFuXMPlayer::mInstruments [protected]
 

Instruments.

Definition at line 55 of file XFuXMPlayer.h.

Referenced by dumpSongParameters(), initChannel(), loadXM(), stream(), XFuXMPlayer(), and ~XFuXMPlayer().

UINT8 XFuXMPlayer::mIsRead [protected]
 

Flag indicating whether pattern data should be read.

Definition at line 76 of file XFuXMPlayer.h.

Referenced by initSong(), and stream().

UINT8 XFuXMPlayer::mJumpFlag [protected]
 

Flag for pattern jump and pattern break commands.

Definition at line 77 of file XFuXMPlayer.h.

Referenced by initSong(), and stream().

XFuXMPattern* XFuXMPlayer::mPatternData [protected]
 

Pattern data.

Definition at line 53 of file XFuXMPlayer.h.

Referenced by getAtom(), loadXM(), stream(), XFuXMPlayer(), and ~XFuXMPlayer().

UINT8 XFuXMPlayer::mPatternDelayCounter [protected]
 

Pattern delay counter.

Definition at line 73 of file XFuXMPlayer.h.

Referenced by initChannel(), initSong(), and stream().

UINT8 XFuXMPlayer::mPatternDelayCounterTemp [protected]
 

Temporary pattern delay counter.

Definition at line 74 of file XFuXMPlayer.h.

Referenced by initSong(), and stream().

INT16 XFuXMPlayer::mPatternNb [protected]
 

Pattern index.

Definition at line 66 of file XFuXMPlayer.h.

Referenced by create(), getAtom(), initSong(), and stream().

UINT32 XFuXMPlayer::mPpoint [protected]
 

Pattern data index.

Definition at line 64 of file XFuXMPlayer.h.

Referenced by create(), getAtom(), and stream().

INT32 XFuXMPlayer::mRamp [protected]
 

Definition at line 71 of file XFuXMPlayer.h.

Referenced by stream().

INT16 XFuXMPlayer::mRampDownTable[XMFORMAT_SIZEOF_WAVEFORM] [protected]
 

Definition at line 62 of file XFuXMPlayer.h.

Referenced by stream(), and XFuXMPlayer().

INT16 XFuXMPlayer::mRampUpTable[XMFORMAT_SIZEOF_WAVEFORM] [protected]
 

Definition at line 61 of file XFuXMPlayer.h.

Referenced by XFuXMPlayer().

INT32 XFuXMPlayer::mSamplePointer [protected]
 

Counter.

Definition at line 69 of file XFuXMPlayer.h.

Referenced by initSong(), and stream().

FLOAT32 XFuXMPlayer::mSampleRate [protected]
 

Sample rate.

Definition at line 45 of file XFuXMPlayer.h.

Referenced by getTick(), initSong(), stream(), and XFuXMPlayer().

INT32 XFuXMPlayer::mSamplesPerTick [protected]
 

Amount of samples in one tick.

Definition at line 68 of file XFuXMPlayer.h.

Referenced by initSong(), and stream().

INT16 XFuXMPlayer::mSineWaveTable[XMFORMAT_SIZEOF_WAVEFORM] [protected]
 

Definition at line 59 of file XFuXMPlayer.h.

Referenced by stream(), and XFuXMPlayer().

XFuXMSong XFuXMPlayer::mSong [protected]
 

Module.

Definition at line 50 of file XFuXMPlayer.h.

Referenced by dumpSongParameters(), initChannel(), initSong(), loadXM(), stream(), XFuXMPlayer(), and ~XFuXMPlayer().

INT16 XFuXMPlayer::mSquareWaveTable[XMFORMAT_SIZEOF_WAVEFORM] [protected]
 

Definition at line 60 of file XFuXMPlayer.h.

Referenced by stream(), and XFuXMPlayer().

INT32 XFuXMPlayer::mTgtXor [protected]
 

Signed/unsigned xor value.

Definition at line 47 of file XFuXMPlayer.h.

Referenced by stream(), and XFuXMPlayer().

FLOAT32 XFuXMPlayer::mTickRate [protected]
 

Tick speed in Hz.

Definition at line 70 of file XFuXMPlayer.h.

Referenced by initSong(), and stream().

UINT32 XFuXMPlayer::mTotalTicks [protected]
 

Test tick counter.

Definition at line 80 of file XFuXMPlayer.h.

Referenced by getTick(), initSong(), and stream().

REAL XFuXMPlayer::mVolumeRampDivOpt [protected]
 

For volume ramping.

Definition at line 82 of file XFuXMPlayer.h.

Referenced by create(), and stream().

XFuXMFormatHeader XFuXMPlayer::mXMHeader [protected]
 

XM file header.

Definition at line 49 of file XFuXMPlayer.h.

Referenced by create(), and loadXM().

XFuXMFormatPatternHeader* XFuXMPlayer::mXMPatternHeaders [protected]
 

XM pattern headers.

Definition at line 52 of file XFuXMPlayer.h.

Referenced by create(), loadXM(), stream(), XFuXMPlayer(), and ~XFuXMPlayer().


The documentation for this class was generated from the following files:
   
X-Forge Documentation
Confidential
Copyright © 2002-2003 Fathammer
   
Documentation generated
with doxygen
by Dimitri van Heesch