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/wave/silence.hpp>
|
||||
#include <psemek/audio/wave/sine.hpp>
|
||||
#include <psemek/audio/wave/sawtooth.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