Sirikata
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes
Sirikata::SDL::AudioSimulation Class Reference

#include <SDLAudio.hpp>

Inheritance diagram for Sirikata::SDL::AudioSimulation:
Collaboration diagram for Sirikata::SDL::AudioSimulation:

List of all members.

Classes

struct  Clip
struct  DownloadTask

Public Member Functions

 AudioSimulation (Context *ctx, Network::IOStrandPtr aStrand)
virtual ~AudioSimulation ()
virtual void start ()
virtual void stop ()
virtual boost::any invoke (std::vector< boost::any > &params)
void mix (uint8 *raw_stream, int32 len)

Private Types

typedef uint32 ClipHandle
typedef boost::mutex Mutex
typedef boost::unique_lock< MutexLock
typedef std::map
< Transfer::URI, DownloadTask
DownloadTaskMap
typedef std::map< ClipHandle,
Clip
ClipMap

Private Member Functions

void iStart (Liveness::Token lt)
void iStop (Liveness::Token lt)
bool ready () const
void handleFinishedDownload (Transfer::ResourceDownloadTaskPtr taskptr, Transfer::TransferRequestPtr request, Transfer::DenseDataPtr response)
void iHandleFinishedDownload (Liveness::Token lt, Transfer::ResourceDownloadTaskPtr taskptr, Transfer::TransferRequestPtr request, Transfer::DenseDataPtr response)

Private Attributes

bool initialized
Network::IOStrandPtr audioStrand
ContextmContext
bool mInitializedAudio
bool mOpenedAudio
ClipHandle mClipHandleSource
Mutex mMutex
Transfer::TransferPoolPtr mTransferPool
DownloadTaskMap mDownloads
ClipMap mClips
bool mPlaying

Member Typedef Documentation

typedef boost::unique_lock<Mutex> Sirikata::SDL::AudioSimulation::Lock [private]
typedef boost::mutex Sirikata::SDL::AudioSimulation::Mutex [private]

Constructor & Destructor Documentation

Sirikata::SDL::AudioSimulation::AudioSimulation ( Context ctx,
Network::IOStrandPtr  aStrand 
)
Sirikata::SDL::AudioSimulation::~AudioSimulation ( ) [virtual]

Member Function Documentation

void Sirikata::SDL::AudioSimulation::handleFinishedDownload ( Transfer::ResourceDownloadTaskPtr  taskptr,
Transfer::TransferRequestPtr  request,
Transfer::DenseDataPtr  response 
) [private]
void Sirikata::SDL::AudioSimulation::iHandleFinishedDownload ( Liveness::Token  lt,
Transfer::ResourceDownloadTaskPtr  taskptr,
Transfer::TransferRequestPtr  request,
Transfer::DenseDataPtr  response 
) [private]
boost::any Sirikata::SDL::AudioSimulation::invoke ( std::vector< boost::any > &  params) [virtual]
void Sirikata::SDL::AudioSimulation::iStart ( Liveness::Token  lt) [private]
void Sirikata::SDL::AudioSimulation::iStop ( Liveness::Token  lt) [private]
void Sirikata::SDL::AudioSimulation::mix ( uint8 *  raw_stream,
int32  len 
)

References MAX_CHANNELS, mClips, mMutex, and mPlaying.

bool Sirikata::SDL::AudioSimulation::ready ( ) const [private]

References mInitializedAudio, mOpenedAudio, and mTransferPool.

Referenced by invoke().

void Sirikata::SDL::AudioSimulation::start ( ) [virtual]
void Sirikata::SDL::AudioSimulation::stop ( ) [virtual]

Member Data Documentation

Referenced by handleFinishedDownload(), start(), and stop().

Referenced by invoke().

Referenced by iStart(), iStop(), and ready().

Referenced by iStart(), iStop(), and ready().

Referenced by iHandleFinishedDownload(), and mix().

Referenced by invoke(), iStart(), iStop(), and ready().


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