Add silence audio stream
This commit is contained in:
parent
94216ce638
commit
61919a264e
3 changed files with 37 additions and 0 deletions
|
|
@ -1,4 +1,5 @@
|
||||||
#include <psemek/audio/engine.hpp>
|
#include <psemek/audio/engine.hpp>
|
||||||
|
#include <psemek/audio/wave/silence.hpp>
|
||||||
#include <psemek/audio/wave/sine.hpp>
|
#include <psemek/audio/wave/sine.hpp>
|
||||||
#include <psemek/audio/wave/sawtooth.hpp>
|
#include <psemek/audio/wave/sawtooth.hpp>
|
||||||
#include <psemek/audio/wave/square.hpp>
|
#include <psemek/audio/wave/square.hpp>
|
||||||
|
|
|
||||||
10
libs/audio/include/psemek/audio/wave/silence.hpp
Normal file
10
libs/audio/include/psemek/audio/wave/silence.hpp
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <psemek/audio/stream.hpp>
|
||||||
|
|
||||||
|
namespace psemek::audio
|
||||||
|
{
|
||||||
|
|
||||||
|
stream_ptr silence();
|
||||||
|
|
||||||
|
}
|
||||||
26
libs/audio/source/wave/silence.cpp
Normal file
26
libs/audio/source/wave/silence.cpp
Normal 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>();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue