stuff-from-scratch/test/audio/TestAudioWriter.cpp
2021-10-31 13:04:48 +00:00

56 lines
1.2 KiB
C++

#include "AudioSample.h"
#include "AudioSynth.h"
#include "AudioWriter.h"
#include "WasapiInterface.h"
#include "TestCase.h"
#include "TestCaseRunner.h"
#include <memory>
#include <string>
#include <windows.h>
#include <iostream>
class TestWriteWav : public TestCase
{
public:
bool Run() override
{
AudioWriter writer;
writer.SetPath("test.wav");
AudioSynth synth;
auto sample = synth.GetSineWave(240, 5);
writer.Write(sample);
return true;
}
};
class TestAudioRender : public TestCase
{
public:
bool Run() override
{
WasapiInterface audio_interface;
auto device = AudioDevice::Create();
audio_interface.Play(device);
return true;
}
};
//int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)
int main()
{
CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);
std::cout << "into entry point" << std::endl;
TestCaseRunner runner;
//runner.AddTestCase("TestWriteNav", std::make_unique<TestWriteWav>());
runner.AddTestCase("TestAudioRender", std::make_unique<TestAudioRender>());
const auto testsPassed = runner.Run();
return testsPassed ? 0 : -1;
CoUninitialize();
}