XFuXMPlayer class Reference

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:

[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 *aBuffer, INT32 aTargetSamples, INT32 aOffset, INT32 aSamples)
virtual | ~XFuXMPlayer ()

## Static Public Member Functions

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

## Protected Member Functions

INT | 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.
void | debugPrint (XFcFile *aTextout, char *aFmt,...)
| XFuXMPlayer (FLOAT32 aSamplingRate, UINT32 aFlags)

## Protected Attributes

FLOAT32 | mSamplingRate
| Sampling rate.
UINT32 | mFlags
| Format flags.
INT32 | mTgtXor
| Signed/unsigned xor value.
XFuXMFormatHeader | mXMHeader
| XM file header.
XFuXMSong | mSong
| Module.
XFuXMFormatPatternHeader * | mXMPatternHeaders
| XM pattern headers.
XFuXMPattern * | mPatternData
| Pattern data.
XFuXMInstrument * | mInstruments
| Instruments.
XFuXMChannel * | mChannels
| 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 | mPatternDelaySkip
| Flag for skipping pattern delay commands.
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 | aSamplingRate,
|  | UINT32 | aFlags
| ) | `[protected]`

Definition at line 2581 of file XFuXMPlayer.cpp.

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

Referenced by create().

XFuXMPlayer::~XFuXMPlayer | ( |  | ) | `[virtual]`

| Definition at line 2659 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 1248 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 2704 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::debugPrint | ( | XFcFile * | aTextout,
|  | char * | aFmt,
|  | ... |
| ) | `[protected]`

| Referenced by create(), dumpSongParameters(), and loadXM().

void XFuXMPlayer::dumpSongParameters | ( | XFcFile * | aTextout | ) | `[protected]`

Definition at line 246 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, 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 901 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 1242 of file XFuXMPlayer.cpp. References mCurrentOrder.

UINT32 XFuXMPlayer::getPeriod | ( | INT8 | aNote,
|  | INT8 | aFinetune
| ) | `[protected]`

| Definition at line 872 of file XFuXMPlayer.cpp. Referenced by initSound().

UINT32 XFuXMPlayer::getSpeed | ( | UINT32 | aPeriod,
|  | FLOAT32 | aSamplingRate
| ) | `[protected]`

| Definition at line 881 of file XFuXMPlayer.cpp. References FP_VALUE, and linearFrequencyTable. Referenced by stream().

INT32 XFuXMPlayer::getTick | ( |  | ) |

| Returns the player's internal tick. Definition at line 1236 of file XFuXMPlayer.cpp. References mSamplingRate, and mTotalTicks.

void XFuXMPlayer::initChannel | ( | XFuXMChannel & | aCh | ) | `[protected]`

Definition at line 941 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 1118 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, mPatternDelaySkip, mPatternNb, XFuXMChannel::mPeriod, XFuXMChannel::mPointer, mSamplePointer, mSamplesPerTick, mSamplingRate, 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 1013 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().

INT XFuXMPlayer::loadXM | ( | const CHAR * | aFilename,
|  | XFcFile * | aTextout
| ) | `[protected]`

Definition at line 310 of file XFuXMPlayer.cpp.

References debugPrint(), ENVELOPE_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, 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 1080 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 1261 of file XFuXMPlayer.cpp. References mEventHandlers, and XFuXMPlayerEventHandlerSlot::mHandler.

void XFuXMPlayer::removeHandlers | ( |  | ) |

| Removes all event handlers from this player. Definition at line 1275 of file XFuXMPlayer.cpp. References mEventHandlers.

void XFuXMPlayer::stop | ( |  | ) | `[virtual]`

| Definition at line 1287 of file XFuXMPlayer.cpp. References initSong().

UINT32 XFuXMPlayer::stream | ( | void * | aBuffer,
|  | INT32 | aTargetSamples,
|  | INT32 | aOffset,
|  | INT32 | aSamples
| ) | `[virtual]`

| Definition at line 1295 of file XFuXMPlayer.cpp. References ABS, addPointer, addPointerBidirectionalLoop, addPointerForwardLoop, ENVELOPE_LOOP, ENVELOPE_ON, ENVELOPE_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, mPatternDelaySkip, mPatternNb, XFuXMChannel::mPeriod, XFuXMChannel::mPointer, XFuXMChannel::mPortamentoDownV, XFuXMChannel::mPortamentoUpV, mPpoint, mRamp, mRampDownTable, XFuXMSong::mRestartPosition, mSamplePointer, mSamplesPerTick, mSamplingRate, 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 80 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 86 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 77 of file XFuXMPlayer.h. Referenced by initSong(), and stream().

UINT8 XFuXMPlayer::mJumpFlag`[protected]`

| Flag for pattern jump and pattern break commands. Definition at line 78 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().

UINT8 XFuXMPlayer::mPatternDelaySkip`[protected]`

| Flag for skipping pattern delay commands. Definition at line 75 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().

INT32 XFuXMPlayer::mSamplesPerTick`[protected]`

| Amount of samples in one tick. Definition at line 68 of file XFuXMPlayer.h. Referenced by initSong(), and stream().

FLOAT32 XFuXMPlayer::mSamplingRate`[protected]`

| Sampling rate. Definition at line 45 of file XFuXMPlayer.h. Referenced by getTick(), initSong(), stream(), and XFuXMPlayer().

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 81 of file XFuXMPlayer.h. Referenced by getTick(), initSong(), and stream().

REAL XFuXMPlayer::mVolumeRampDivOpt`[protected]`

| For volume ramping. Definition at line 83 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:

- XFuXMPlayer.h
- XFuXMPlayer.cpp

|  | X-Forge Documentation Confidential Copyright © 2002-2003 Fathammer |  | Documentation generated with doxygen by Dimitri van Heesch