MusicFlex Class Reference

#include <MusicFlex.h>

Inheritance diagram for MusicFlex:

Pentagram::Archive List of all members.

Public Member Functions

 ENABLE_RUNTIME_CLASSTYPE ()
 MusicFlex (IDataSource *ds)
 ~MusicFlex ()
XMidiFilegetXMidi (uint32 index)
const SongInfogetSongInfo (uint32 index) const
IDataSourcegetAdlibTimbres ()
virtual void cache (uint32 index)
virtual void uncache (uint32 index)
virtual bool isCached (uint32 index)

Private Member Functions

void loadSongInfo ()

Private Attributes

SongInfoinfo [128]
XMidiFile ** songs

Classes

struct  SongInfo

Detailed Description

Definition at line 26 of file MusicFlex.h.


Constructor & Destructor Documentation

MusicFlex::MusicFlex ( IDataSource ds  ) 

Definition at line 28 of file MusicFlex.cpp.

References info, loadSongInfo(), and songs.

MusicFlex::~MusicFlex (  ) 

Definition at line 35 of file MusicFlex.cpp.

References info, and songs.


Member Function Documentation

void MusicFlex::cache ( uint32  index  )  [virtual]

Cache a single object.

Implements Pentagram::Archive.

Definition at line 63 of file MusicFlex.cpp.

References Pentagram::Archive::count, Pentagram::Archive::getRawObject(), songs, and x.

MusicFlex::ENABLE_RUNTIME_CLASSTYPE (  ) 

Reimplemented from Pentagram::Archive.

IDataSource * MusicFlex::getAdlibTimbres (  ) 

Get the Adlib Timbres (index 259).

Definition at line 109 of file MusicFlex.cpp.

References Pentagram::Archive::getRawObject().

Referenced by FMOplMidiDriver::open().

const SongInfo* MusicFlex::getSongInfo ( uint32  index  )  const [inline]

Get song info.

Definition at line 54 of file MusicFlex.h.

References info.

Referenced by MusicProcess::playMusic_internal().

XMidiFile* MusicFlex::getXMidi ( uint32  index  )  [inline]

Get an xmidi.

Definition at line 46 of file MusicFlex.h.

References Pentagram::Archive::cache(), Pentagram::Archive::count, and songs.

Referenced by TimidityMidiDriver::open(), MusicProcess::playMusic_internal(), and MusicProcess::run().

bool MusicFlex::isCached ( uint32  index  )  [virtual]

Check if an object is cached.

Implements Pentagram::Archive.

Definition at line 101 of file MusicFlex.cpp.

References Pentagram::Archive::count, and songs.

void MusicFlex::loadSongInfo (  )  [private]

Load the song info.

Definition at line 116 of file MusicFlex.cpp.

References Pentagram::Archive::getRawObject(), info, line, MusicFlex::SongInfo::loop_jump, MusicFlex::SongInfo::num_measures, perr, IDataSource::readline(), and MusicFlex::SongInfo::transitions.

Referenced by MusicFlex().

void MusicFlex::uncache ( uint32  index  )  [virtual]

Uncache a single object Potentially dangerous. See uncache()

Implements Pentagram::Archive.

Definition at line 92 of file MusicFlex.cpp.

References Pentagram::Archive::count, and songs.


Member Data Documentation

SongInfo* MusicFlex::info[128] [private]

Definition at line 68 of file MusicFlex.h.

Referenced by getSongInfo(), loadSongInfo(), MusicFlex(), and ~MusicFlex().

XMidiFile** MusicFlex::songs [private]

Definition at line 69 of file MusicFlex.h.

Referenced by cache(), getXMidi(), isCached(), MusicFlex(), uncache(), and ~MusicFlex().


The documentation for this class was generated from the following files:
Generated on Fri Jul 27 22:29:39 2007 for pentagram by  doxygen 1.4.7