diff --git a/libs/audio/include/psemek/audio/effect/loop.hpp b/libs/audio/include/psemek/audio/effect/loop.hpp index c3a0347c..04ad3cb3 100644 --- a/libs/audio/include/psemek/audio/effect/loop.hpp +++ b/libs/audio/include/psemek/audio/effect/loop.hpp @@ -1,10 +1,12 @@ #pragma once #include +#include namespace psemek::audio { + stream_ptr loop(track_ptr track, std::optional count = {}); stream_ptr loop(stream_ptr stream, std::optional count = {}); } diff --git a/libs/audio/source/effect/loop.cpp b/libs/audio/source/effect/loop.cpp index 10f20ce5..a4f4ccd5 100644 --- a/libs/audio/source/effect/loop.cpp +++ b/libs/audio/source/effect/loop.cpp @@ -54,11 +54,16 @@ namespace psemek::audio } + stream_ptr loop(track_ptr track, std::optional count) + { + return std::make_shared(track, count); + } + stream_ptr loop(stream_ptr stream, std::optional count) { if (!stream->length()) return stream; - return std::make_shared(make_duplicator(std::move(stream)), count); + return loop(make_duplicator(std::move(stream)), count); } }