diff --git a/examples/audio.cpp b/examples/audio.cpp index 8d95f3ae..2576c321 100644 --- a/examples/audio.cpp +++ b/examples/audio.cpp @@ -1,4 +1,5 @@ #include +#include #include #include #include diff --git a/libs/audio/include/psemek/audio/wave/silence.hpp b/libs/audio/include/psemek/audio/wave/silence.hpp new file mode 100644 index 00000000..939c6e1f --- /dev/null +++ b/libs/audio/include/psemek/audio/wave/silence.hpp @@ -0,0 +1,10 @@ +#pragma once + +#include + +namespace psemek::audio +{ + + stream_ptr silence(); + +} diff --git a/libs/audio/source/wave/silence.cpp b/libs/audio/source/wave/silence.cpp new file mode 100644 index 00000000..9bb36508 --- /dev/null +++ b/libs/audio/source/wave/silence.cpp @@ -0,0 +1,26 @@ +#include + +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(); + } + +}