Commit d9ee2bb9 authored by Chuck Walbourn's avatar Chuck Walbourn
Browse files

Updated DirectX Tool Kit and DirectXTex for July 2018 releases

parent a733a399
Loading
Loading
Loading
Loading
+25 −25
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ namespace
            {
                throw std::exception("CreateEvent");
            }
        };
        }

        virtual ~EngineCallback()
        {
@@ -264,7 +264,7 @@ public:
        , mDLL(nullptr)
    #endif
    {
    };
    }

#if (_WIN32_WINNT < _WIN32_WINNT_WIN8)
    ~Impl()
@@ -371,8 +371,8 @@ HRESULT AudioEngine::Impl::Reset(const WAVEFORMATEX* wfx, const wchar_t* deviceI
    }

    assert(!xaudio2);
    assert(!mMasterVoice);
    assert(!mReverbVoice);
    assert(mMasterVoice == nullptr);
    assert(mReverbVoice == nullptr);

    masterChannelMask = masterChannels = masterRate = 0;

@@ -701,7 +701,7 @@ HRESULT AudioEngine::Impl::Reset(const WAVEFORMATEX* wfx, const wchar_t* deviceI
    //
    for (auto it = mNotifyObjects.begin(); it != mNotifyObjects.end(); ++it)
    {
        assert(*it != 0);
        assert(*it != nullptr);
        (*it)->OnReset();
    }

@@ -713,20 +713,20 @@ void AudioEngine::Impl::SetSilentMode()
{
    for (auto it = mNotifyObjects.begin(); it != mNotifyObjects.end(); ++it)
    {
        assert(*it != 0);
        assert(*it != nullptr);
        (*it)->OnCriticalError();
    }

    for (auto it = mOneShots.begin(); it != mOneShots.end(); ++it)
    {
        assert(it->second != 0);
        assert(it->second != nullptr);
        it->second->DestroyVoice();
    }
    mOneShots.clear();

    for (auto it = mVoicePool.begin(); it != mVoicePool.end(); ++it)
    {
        assert(it->second != 0);
        assert(it->second != nullptr);
        it->second->DestroyVoice();
    }
    mVoicePool.clear();
@@ -746,7 +746,7 @@ void AudioEngine::Impl::Shutdown()
{
    for (auto it = mNotifyObjects.begin(); it != mNotifyObjects.end(); ++it)
    {
        assert(*it != 0);
        assert(*it != nullptr);
        (*it)->OnDestroyEngine();
    }

@@ -758,14 +758,14 @@ void AudioEngine::Impl::Shutdown()

        for (auto it = mOneShots.begin(); it != mOneShots.end(); ++it)
        {
            assert(it->second != 0);
            assert(it->second != nullptr);
            it->second->DestroyVoice();
        }
        mOneShots.clear();

        for (auto it = mVoicePool.begin(); it != mVoicePool.end(); ++it)
        {
            assert(it->second != 0);
            assert(it->second != nullptr);
            it->second->DestroyVoice();
        }
        mVoicePool.clear();
@@ -811,7 +811,7 @@ bool AudioEngine::Impl::Update()
            // Scan for completed one-shot voices
            for (auto it = mOneShots.begin(); it != mOneShots.end(); )
            {
                assert(it->second != 0);
                assert(it->second != nullptr);

                XAUDIO2_VOICE_STATE xstate;
            #if (_WIN32_WINNT >= _WIN32_WINNT_WIN8)
@@ -856,7 +856,7 @@ bool AudioEngine::Impl::Update()
    //
    for (auto it = mNotifyUpdates.begin(); it != mNotifyUpdates.end(); ++it)
    {
        assert(*it != 0);
        assert(*it != nullptr);
        (*it)->OnUpdate();
    }

@@ -917,7 +917,7 @@ AudioStatistics AudioEngine::Impl::GetStatistics() const

    for (auto it = mNotifyObjects.begin(); it != mNotifyObjects.end(); ++it)
    {
        assert(*it != 0);
        assert(*it != nullptr);
        (*it)->GatherStatistics(stats);
    }

@@ -931,13 +931,13 @@ void AudioEngine::Impl::TrimVoicePool()
{
    for (auto it = mNotifyObjects.begin(); it != mNotifyObjects.end(); ++it)
    {
        assert(*it != 0);
        assert(*it != nullptr);
        (*it)->OnTrim();
    }

    for (auto it = mVoicePool.begin(); it != mVoicePool.end(); ++it)
    {
        assert(it->second != 0);
        assert(it->second != nullptr);
        it->second->DestroyVoice();
    }
    mVoicePool.clear();
@@ -998,7 +998,7 @@ void AudioEngine::Impl::AllocateVoice(const WAVEFORMATEX* wfx, SOUND_EFFECT_INST
                if (it != mVoicePool.end())
                {
                    // Found a matching (stopped) voice to reuse
                    assert(it->second != 0);
                    assert(it->second != nullptr);
                    *voice = it->second;
                    mVoicePool.erase(it);

@@ -1072,7 +1072,7 @@ void AudioEngine::Impl::AllocateVoice(const WAVEFORMATEX* wfx, SOUND_EFFECT_INST
                    }
                }

                assert(*voice != 0);
                assert(*voice != nullptr);
                HRESULT hr = (*voice)->SetSourceSampleRate(wfx->nSamplesPerSec);
                if (FAILED(hr))
                {
@@ -1141,7 +1141,7 @@ void AudioEngine::Impl::AllocateVoice(const WAVEFORMATEX* wfx, SOUND_EFFECT_INST

    if (oneshot)
    {
        assert(*voice != 0);
        assert(*voice != nullptr);
        mOneShots.emplace_back(std::make_pair(voiceKey, *voice));
    }
}
@@ -1180,7 +1180,7 @@ void AudioEngine::Impl::DestroyVoice(_In_ IXAudio2SourceVoice* voice)

void AudioEngine::Impl::RegisterNotify(_In_ IVoiceNotify* notify, bool usesUpdate)
{
    assert(notify != 0);
    assert(notify != nullptr);
    mNotifyObjects.insert(notify);

    if (usesUpdate)
@@ -1192,7 +1192,7 @@ void AudioEngine::Impl::RegisterNotify(_In_ IVoiceNotify* notify, bool usesUpdat

void AudioEngine::Impl::UnregisterNotify(_In_ IVoiceNotify* notify, bool usesOneShots, bool usesUpdate)
{
    assert(notify != 0);
    assert(notify != nullptr);
    mNotifyObjects.erase(notify);

    // Check for any pending one-shots for this notification object
@@ -1202,7 +1202,7 @@ void AudioEngine::Impl::UnregisterNotify(_In_ IVoiceNotify* notify, bool usesOne

        for (auto it = mOneShots.begin(); it != mOneShots.end(); ++it)
        {
            assert(it->second != 0);
            assert(it->second != nullptr);

            XAUDIO2_VOICE_STATE state;
        #if (_WIN32_WINNT >= _WIN32_WINNT_WIN8)
@@ -1431,7 +1431,7 @@ WAVEFORMATEXTENSIBLE AudioEngine::GetOutputFormat() const
    wfx.Format.nBlockAlign = WORD(wfx.Format.nChannels * wfx.Format.wBitsPerSample / 8);
    wfx.Format.nAvgBytesPerSec = wfx.Format.nSamplesPerSec * wfx.Format.nBlockAlign;

    static const GUID s_pcm = { WAVE_FORMAT_PCM, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71 };
    static const GUID s_pcm = { WAVE_FORMAT_PCM, 0x0000, 0x0010, { 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71 } };
    memcpy(&wfx.SubFormat, &s_pcm, sizeof(GUID));

    return wfx;
@@ -1452,7 +1452,7 @@ int AudioEngine::GetOutputChannels() const

bool AudioEngine::IsAudioDevicePresent() const
{
    return (pImpl->xaudio2.Get() != 0) && !pImpl->mCriticalError;
    return pImpl->xaudio2 && !pImpl->mCriticalError;
}


+4 −4
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ public:

        CreateIntegerPCM(&mWaveFormat, sampleRate, channels, sampleBits);

        assert(engine != 0);
        assert(engine != nullptr);
        engine->RegisterNotify(this, true);

        mBase.Initialize(engine, &mWaveFormat, flags);
@@ -69,7 +69,7 @@ public:
        mBufferNeeded = bufferNeeded;
    }

    virtual ~Impl()
    virtual ~Impl() override
    {
        mBase.DestroyVoice();

@@ -86,7 +86,7 @@ public:

    void SubmitBuffer(_In_reads_bytes_(audioBytes) const uint8_t* pAudioData, uint32_t offset, size_t audioBytes);

    const WAVEFORMATEX* GetFormat() const { return &mWaveFormat; };
    const WAVEFORMATEX* GetFormat() const { return &mWaveFormat; }

    // IVoiceNotify
    virtual void __cdecl OnBufferEnd() override
+3 −3
Original line number Diff line number Diff line
@@ -308,7 +308,7 @@ bool DirectX::IsValid(_In_ const WAVEFORMATEX* wfx)
            }
            else
            {
                static const GUID s_wfexBase = { 0x00000000, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71 };
                static const GUID s_wfexBase = { 0x00000000, 0x0000, 0x0010, { 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71 } };

                auto wfex = reinterpret_cast<const WAVEFORMATEXTENSIBLE*>(wfx);

@@ -727,7 +727,7 @@ void SoundEffectInstanceBase::Apply3D(const AudioListener& listener, const Audio
    assert(mDSPSettings.DstChannelCount <= 8);
    mDSPSettings.pMatrixCoefficients = matrix;

    assert(engine != 0);
    assert(engine != nullptr);
    if (rhcoords)
    {
        X3DAUDIO_EMITTER lhEmitter;
@@ -756,7 +756,7 @@ void SoundEffectInstanceBase::Apply3D(const AudioListener& listener, const Audio
    (void)voice->SetFrequencyRatio(mFreqRatio * mDSPSettings.DopplerFactor);

    auto direct = mDirectVoice;
    assert(direct != 0);
    assert(direct != nullptr);
    (void)voice->SetOutputMatrix(direct, mDSPSettings.SrcChannelCount, mDSPSettings.DstChannelCount, matrix);

    if (reverb)
+8 −8
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ namespace DirectX
            if (wfx->cbSize < (sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX)))
                return 0;

            static const GUID s_wfexBase = { 0x00000000, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71 };
            static const GUID s_wfexBase = { 0x00000000, 0x0000, 0x0010, { 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71 } };

            auto wfex = reinterpret_cast<const WAVEFORMATEXTENSIBLE*>(wfx);

@@ -86,12 +86,12 @@ namespace DirectX

        ~SoundEffectInstanceBase()
        {
            assert(!voice);
            assert(voice == nullptr);
        }

        void Initialize(_In_ AudioEngine* eng, _In_ const WAVEFORMATEX* wfx, SOUND_EFFECT_INSTANCE_FLAGS flags)
        {
            assert(eng != 0);
            assert(eng != nullptr);
            engine = eng;
            mDirectVoice = eng->GetMasterVoice();
            mReverbVoice = eng->GetReverbVoice();
@@ -102,7 +102,7 @@ namespace DirectX
                mFlags = static_cast<SOUND_EFFECT_INSTANCE_FLAGS>(static_cast<int>(flags) & ~SoundEffectInstance_UseRedirectLFE);

            memset(&mDSPSettings, 0, sizeof(X3DAUDIO_DSP_SETTINGS));
            assert(wfx != 0);
            assert(wfx != nullptr);
            mDSPSettings.SrcChannelCount = wfx->nChannels;
            mDSPSettings.DstChannelCount = eng->GetOutputChannels();
        }
@@ -112,7 +112,7 @@ namespace DirectX
            if (voice)
                return;

            assert(engine != 0);
            assert(engine != nullptr);
            engine->AllocateVoice(wfx, mFlags, false, &voice);
        }

@@ -120,7 +120,7 @@ namespace DirectX
        {
            if (voice)
            {
                assert(engine != 0);
                assert(engine != nullptr);
                engine->DestroyVoice(voice);
                voice = nullptr;
            }
@@ -299,7 +299,7 @@ namespace DirectX

        void OnReset()
        {
            assert(engine != 0);
            assert(engine != nullptr);
            mDirectVoice = engine->GetMasterVoice();
            mReverbVoice = engine->GetReverbVoice();

+4 −4
Original line number Diff line number Diff line
@@ -45,11 +45,11 @@ public:
        , mXMAMemory(nullptr)
    #endif
    {
        assert(mEngine != 0);
        assert(mEngine != nullptr);
        mEngine->RegisterNotify(this, false);
    }

    virtual ~Impl()
    virtual ~Impl() override
    {
        if (!mInstances.empty())
        {
@@ -57,7 +57,7 @@ public:

            for (auto it = mInstances.begin(); it != mInstances.end(); ++it)
            {
                assert(*it != 0);
                assert(*it != nullptr);
                (*it)->OnDestroyParent();
            }

@@ -474,7 +474,7 @@ void SoundEffect::Play(float volume, float pitch, float pan)
std::unique_ptr<SoundEffectInstance> SoundEffect::CreateInstance(SOUND_EFFECT_INSTANCE_FLAGS flags)
{
    auto effect = new SoundEffectInstance(pImpl->mEngine, this, flags);
    assert(effect != 0);
    assert(effect != nullptr);
    pImpl->mInstances.emplace_back(effect);
    return std::unique_ptr<SoundEffectInstance>(effect);
}
Loading