#include <XFuXMPlayer.h>
Collaboration diagram for XFuXMPlayer:
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. |
Definition at line 42 of file XFuXMPlayer.h.
|
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(). |
|
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. |
|
Adds a new event handler to this player.
Definition at line 1248 of file XFuXMPlayer.cpp. References XFuXMPlayerEventHandlerSlot::mEvent, mEventHandlers, and XFuXMPlayerEventHandlerSlot::mHandler. |
|
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(). |
|
Referenced by create(), dumpSongParameters(), and loadXM(). |
|
|
Definition at line 901 of file XFuXMPlayer.cpp. References XFuXMFormatAtom::mEffectType, XFuXMFormatAtom::mEffectValue, XFuXMFormatAtom::mInstrumentNb, XFuXMFormatAtom::mNote, mPatternData, mPatternNb, mPpoint, and XFuXMFormatAtom::mVolume. |
|
Returns the current order being played.
Definition at line 1242 of file XFuXMPlayer.cpp. References mCurrentOrder. |
|
Definition at line 872 of file XFuXMPlayer.cpp. Referenced by initSound(). |
|
Definition at line 881 of file XFuXMPlayer.cpp. References FP_VALUE, and linearFrequencyTable. Referenced by stream(). |
|
Returns the player's internal tick.
Definition at line 1236 of file XFuXMPlayer.cpp. References mSamplingRate, and mTotalTicks. |
|
|
|
|
|
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(). |
|
Removes a specific event handler from this player.
Definition at line 1261 of file XFuXMPlayer.cpp. References mEventHandlers, and XFuXMPlayerEventHandlerSlot::mHandler. |
|
Removes all event handlers from this player.
Definition at line 1275 of file XFuXMPlayer.cpp. References mEventHandlers. |
|
Definition at line 1287 of file XFuXMPlayer.cpp. References initSong(). |
|
|
Channels.
Definition at line 57 of file XFuXMPlayer.h. Referenced by initSong(), loadXM(), stream(), XFuXMPlayer(), and ~XFuXMPlayer(). |
|
Order index.
Definition at line 65 of file XFuXMPlayer.h. Referenced by getCurrentOrder(), initSong(), and stream(). |
|
Row index.
Definition at line 67 of file XFuXMPlayer.h. Referenced by initSong(), and stream(). |
|
Tick index (0..tempo-1).
Definition at line 80 of file XFuXMPlayer.h. Referenced by initSong(), and stream(). |
|
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(). |
|
Format flags.
Definition at line 46 of file XFuXMPlayer.h. Referenced by loadXM(), stream(), and XFuXMPlayer(). |
|
Instruments.
Definition at line 55 of file XFuXMPlayer.h. Referenced by dumpSongParameters(), initChannel(), loadXM(), stream(), XFuXMPlayer(), and ~XFuXMPlayer(). |
|
Flag indicating whether pattern data should be read.
Definition at line 77 of file XFuXMPlayer.h. Referenced by initSong(), and stream(). |
|
Flag for pattern jump and pattern break commands.
Definition at line 78 of file XFuXMPlayer.h. Referenced by initSong(), and stream(). |
|
Pattern data.
Definition at line 53 of file XFuXMPlayer.h. Referenced by getAtom(), loadXM(), stream(), XFuXMPlayer(), and ~XFuXMPlayer(). |
|
Pattern delay counter.
Definition at line 73 of file XFuXMPlayer.h. Referenced by initChannel(), initSong(), and stream(). |
|
Temporary pattern delay counter.
Definition at line 74 of file XFuXMPlayer.h. Referenced by initSong(), and stream(). |
|
Flag for skipping pattern delay commands.
Definition at line 75 of file XFuXMPlayer.h. Referenced by initSong(), and stream(). |
|
Pattern index.
Definition at line 66 of file XFuXMPlayer.h. Referenced by create(), getAtom(), initSong(), and stream(). |
|
Pattern data index.
Definition at line 64 of file XFuXMPlayer.h. |
|
Definition at line 71 of file XFuXMPlayer.h. Referenced by stream(). |
|
Definition at line 62 of file XFuXMPlayer.h. Referenced by stream(), and XFuXMPlayer(). |
|
Definition at line 61 of file XFuXMPlayer.h. Referenced by XFuXMPlayer(). |
|
Counter.
Definition at line 69 of file XFuXMPlayer.h. Referenced by initSong(), and stream(). |
|
Amount of samples in one tick.
Definition at line 68 of file XFuXMPlayer.h. Referenced by initSong(), and stream(). |
|
Sampling rate.
Definition at line 45 of file XFuXMPlayer.h. Referenced by getTick(), initSong(), stream(), and XFuXMPlayer(). |
|
Definition at line 59 of file XFuXMPlayer.h. Referenced by stream(), and XFuXMPlayer(). |
|
Module.
Definition at line 50 of file XFuXMPlayer.h. Referenced by dumpSongParameters(), initChannel(), initSong(), loadXM(), stream(), XFuXMPlayer(), and ~XFuXMPlayer(). |
|
Definition at line 60 of file XFuXMPlayer.h. Referenced by stream(), and XFuXMPlayer(). |
|
Signed/unsigned xor value.
Definition at line 47 of file XFuXMPlayer.h. Referenced by stream(), and XFuXMPlayer(). |
|
Tick speed in Hz.
Definition at line 70 of file XFuXMPlayer.h. Referenced by initSong(), and stream(). |
|
Test tick counter.
Definition at line 81 of file XFuXMPlayer.h. Referenced by getTick(), initSong(), and stream(). |
|
For volume ramping.
Definition at line 83 of file XFuXMPlayer.h. |
|
XM file header.
Definition at line 49 of file XFuXMPlayer.h. |
|
XM pattern headers.
Definition at line 52 of file XFuXMPlayer.h. Referenced by create(), loadXM(), stream(), XFuXMPlayer(), and ~XFuXMPlayer(). |
![]() | ||||
![]() |
Confidential Copyright © 2002-2003 Fathammer | with doxygen by Dimitri van Heesch |