65 lines
1.2 KiB
C++
65 lines
1.2 KiB
C++
#include "xaudiochannelmap.h"
|
|
|
|
XAudioChannelMap::XAudioChannelMap()
|
|
: XAsset()
|
|
, mEntryCount(0)
|
|
, mEntries(QVector<XAudioChannelMapEntry*>())
|
|
{
|
|
|
|
}
|
|
|
|
XAudioChannelMap::~XAudioChannelMap()
|
|
{
|
|
for (int i = 0; i < mEntries.size(); i++)
|
|
{
|
|
delete mEntries[i];
|
|
}
|
|
mEntries.clear();
|
|
}
|
|
|
|
quint8 XAudioChannelMap::GetEntryCount() const
|
|
{
|
|
return mEntryCount;
|
|
}
|
|
|
|
XAudioChannelMapEntry *XAudioChannelMap::GetMapEntry(int aIndex) const
|
|
{
|
|
return mEntries[aIndex];
|
|
}
|
|
|
|
void XAudioChannelMap::SetMapEntry(int aIndex, XAudioChannelMapEntry *aEntry)
|
|
{
|
|
mEntries[aIndex] = aEntry;
|
|
}
|
|
|
|
void XAudioChannelMap::ParseData(QDataStream *aStream)
|
|
{
|
|
*aStream >> mEntryCount;
|
|
|
|
aStream->skipRawData(3);
|
|
|
|
quint32 entriesPtr;
|
|
*aStream >> entriesPtr;
|
|
|
|
if (entriesPtr)
|
|
{
|
|
mEntries.resize(mEntryCount);
|
|
for (int i = 0; i < mEntryCount; i++)
|
|
{
|
|
mEntries[i] = new XAudioChannelMapEntry();
|
|
mEntries[i]->ParseData(aStream);
|
|
}
|
|
}
|
|
}
|
|
|
|
void XAudioChannelMap::Clear()
|
|
{
|
|
mEntryCount = 0;
|
|
|
|
for (int i = 0; i < mEntries.size(); i++)
|
|
{
|
|
delete mEntries[i];
|
|
}
|
|
mEntries.clear();
|
|
}
|