Add silence audio stream

This commit is contained in:
Nikita Lisitsa 2022-10-05 13:57:57 +03:00
parent 94216ce638
commit 61919a264e
3 changed files with 37 additions and 0 deletions

View file

@ -1,4 +1,5 @@
#include <psemek/audio/engine.hpp>
#include <psemek/audio/wave/silence.hpp>
#include <psemek/audio/wave/sine.hpp>
#include <psemek/audio/wave/sawtooth.hpp>
#include <psemek/audio/wave/square.hpp>

View file

@ -0,0 +1,10 @@
#pragma once
#include <psemek/audio/stream.hpp>
namespace psemek::audio
{
stream_ptr silence();
}

View file

@ -0,0 +1,26 @@
#include <psemek/audio/wave/silence.hpp>
namespace psemek::audio
{
namespace
{
struct silence_impl
: stream
{
std::size_t read(float * data, std::size_t sample_count) override
{
std::fill(data, data + sample_count, 0.f);
return sample_count;
}
};
}
stream_ptr silence()
{
return std::make_shared<silence_impl>();
}
}