From 1573a8c4cde1cd9528b422b2dcc598e37ffe94a7 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Thu, 2 May 2024 19:12:26 +1000 Subject: WIP merge cyclically dependent components into one big component --- src/tangara/audio/audio_source.cpp | 55 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/tangara/audio/audio_source.cpp (limited to 'src/tangara/audio/audio_source.cpp') diff --git a/src/tangara/audio/audio_source.cpp b/src/tangara/audio/audio_source.cpp new file mode 100644 index 00000000..ee2f617f --- /dev/null +++ b/src/tangara/audio/audio_source.cpp @@ -0,0 +1,55 @@ +/* + * Copyright 2023 jacqueline + * + * SPDX-License-Identifier: GPL-3.0-only + */ + +#include "audio_source.hpp" +#include "codec.hpp" +#include "types.hpp" + +namespace audio { + +TaggedStream::TaggedStream(std::shared_ptr t, + std::unique_ptr w, + std::string filepath, + uint32_t offset) + : codecs::IStream(w->type()), tags_(t), wrapped_(std::move(w)), filepath_(filepath), offset_(offset) {} + +auto TaggedStream::tags() -> std::shared_ptr { + return tags_; +} + +auto TaggedStream::Read(std::span dest) -> ssize_t { + return wrapped_->Read(dest); +} + +auto TaggedStream::CanSeek() -> bool { + return wrapped_->CanSeek(); +} + +auto TaggedStream::SeekTo(int64_t destination, SeekFrom from) -> void { + wrapped_->SeekTo(destination, from); +} + +auto TaggedStream::CurrentPosition() -> int64_t { + return wrapped_->CurrentPosition(); +} + +auto TaggedStream::Size() -> std::optional { + return wrapped_->Size(); +} + +auto TaggedStream::Offset() -> uint32_t { + return offset_; +} + +auto TaggedStream::Filepath() -> std::string { + return filepath_; +} + +auto TaggedStream::SetPreambleFinished() -> void { + wrapped_->SetPreambleFinished(); +} + +} // namespace audio -- cgit v1.2.3 From 7d7f7755d17e1e0a2348d75d797097f166b70471 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Thu, 2 May 2024 21:41:56 +1000 Subject: start moving include files into subdirs --- src/tangara/audio/audio_source.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/tangara/audio/audio_source.cpp') diff --git a/src/tangara/audio/audio_source.cpp b/src/tangara/audio/audio_source.cpp index ee2f617f..4989c470 100644 --- a/src/tangara/audio/audio_source.cpp +++ b/src/tangara/audio/audio_source.cpp @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ -#include "audio_source.hpp" +#include "audio/audio_source.hpp" #include "codec.hpp" #include "types.hpp" @@ -14,7 +14,11 @@ TaggedStream::TaggedStream(std::shared_ptr t, std::unique_ptr w, std::string filepath, uint32_t offset) - : codecs::IStream(w->type()), tags_(t), wrapped_(std::move(w)), filepath_(filepath), offset_(offset) {} + : codecs::IStream(w->type()), + tags_(t), + wrapped_(std::move(w)), + filepath_(filepath), + offset_(offset) {} auto TaggedStream::tags() -> std::shared_ptr { return tags_; -- cgit v1.2.3