# IExSound Struct Reference

Inheritance diagram for IExSound:

List of all members.

## Public Member Functions
virtual boolean | Prepare (IMCFile *file)=0
virtual uint32 | GetDuration () const =0
virtual uint32 | GetBitDepth () const =0
virtual uint32 | GetChannelCount () const =0
virtual uint32 | GetSamplingRate () const =0
virtual uint32 | GetSampleFormat () const =0
virtual void | GetPreviewData (TMCArray< real32 > *outArray)=0
virtual uint32 | GetSampleCount () const =0
virtual uint32 | GetDataSize () const =0
virtual void | GetFullPathName (TMCString &outName)=0
virtual uint32 | GetDataOffset () const =0
virtual uint32 | GetSoundType () const =0
virtual MCSize | GetSamples (int8 *outData, int32 offset, MCSize numBytes)=0
virtual void | GetResampledData (TMCArray< int8 > &outData, int32 offsetInOriginalData, uint32 channelCount, uint32 bitDepth, uint32 samplingRate, uint32 duration)=0

## Member Function Documentation

virtual uint32 IExSound::GetBitDepth | ( |  | ) | const`[pure virtual]`

virtual uint32 IExSound::GetChannelCount | ( |  | ) | const`[pure virtual]`

virtual uint32 IExSound::GetDataOffset | ( |  | ) | const`[pure virtual]`

virtual uint32 IExSound::GetDataSize | ( |  | ) | const`[pure virtual]`

virtual uint32 IExSound::GetDuration | ( |  | ) | const`[pure virtual]`

virtual void IExSound::GetFullPathName | ( | TMCString & | outName | ) | `[pure virtual]`

virtual void IExSound::GetPreviewData | ( | TMCArray< real32 > * | outArray | ) | `[pure virtual]`

virtual void IExSound::GetResampledData | ( | TMCArray< int8 > & | outData,
|  | int32 | offsetInOriginalData,
|  | uint32 | channelCount,
|  | uint32 | bitDepth,
|  | uint32 | samplingRate,
|  | uint32 | duration |
| ) |  |  | `[pure virtual]`

Read and resample the date to desired format. To maintain alignment, some IExSounds will only read increments of 4 bytes (ie 1 stereo 16 bit sample).

Parameters:

  | outData | pointer into which we're re-sampling
  `[in]` | offsetInOriginalData | offset in the file's audio data from which to start the resample
  `[in]` | channelCount | the desired number of channels
  `[in]` | bitDepth | the desired bit depth
  `[in]` | samplingRate | the desired sampling rate
  `[in]` | duration | sample data duration in milliseconds

virtual uint32 IExSound::GetSampleCount | ( |  | ) | const`[pure virtual]`

virtual uint32 IExSound::GetSampleFormat | ( |  | ) | const`[pure virtual]`

virtual MCSize IExSound::GetSamples | ( | int8 * | outData,
|  | int32 | offset,
|  | MCSize | numBytes |
| ) |  |  | `[pure virtual]`

Reads numBytes of samples into outData. To maintain alignment, some IExSounds will only read increments of 4 bytes (ie 1 stereo 16 bit sample).

Parameters:

  | outData | pointer into which we're reading the samples
  | offset | offset in the file's audio data from which to start the read
  | numBytes | number of bytes of sample to read

Returns:
  number of bytes actually read.

virtual uint32 IExSound::GetSamplingRate | ( |  | ) | const`[pure virtual]`

virtual uint32 IExSound::GetSoundType | ( |  | ) | const`[pure virtual]`

virtual boolean IExSound::Prepare | ( | IMCFile * | file | ) | `[pure virtual]`

The documentation for this struct was generated from the following file:

- IExSound.h