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/audio/include/fatfs_audio_input.hpp | 66 --------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 src/audio/include/fatfs_audio_input.hpp (limited to 'src/audio/include/fatfs_audio_input.hpp') diff --git a/src/audio/include/fatfs_audio_input.hpp b/src/audio/include/fatfs_audio_input.hpp deleted file mode 100644 index 10b7433e..00000000 --- a/src/audio/include/fatfs_audio_input.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2023 jacqueline - * - * SPDX-License-Identifier: GPL-3.0-only - */ - -#pragma once - -#include -#include -#include -#include -#include - -#include "ff.h" -#include "freertos/portmacro.h" - -#include "audio_source.hpp" -#include "codec.hpp" -#include "future_fetcher.hpp" -#include "tag_parser.hpp" -#include "tasks.hpp" -#include "types.hpp" - -namespace audio { - -/* - * Audio source that fetches data from a FatFs (or exfat i guess) filesystem. - * - * All public methods are safe to call from any task. - */ -class FatfsAudioInput : public IAudioSource { - public: - explicit FatfsAudioInput(database::ITagParser&, tasks::WorkerPool&); - ~FatfsAudioInput(); - - /* - * Immediately cease reading any current source, and begin reading from the - * given file path. - */ - auto SetPath(std::optional) -> void; - auto SetPath(const std::string&,uint32_t offset = 0) -> void; - auto SetPath() -> void; - - auto HasNewStream() -> bool override; - auto NextStream() -> std::shared_ptr override; - - FatfsAudioInput(const FatfsAudioInput&) = delete; - FatfsAudioInput& operator=(const FatfsAudioInput&) = delete; - - private: - auto OpenFile(const std::string& path,uint32_t offset) -> bool; - - auto ContainerToStreamType(database::Container) - -> std::optional; - - database::ITagParser& tag_parser_; - tasks::WorkerPool& bg_worker_; - - std::mutex new_stream_mutex_; - std::shared_ptr new_stream_; - - std::atomic has_new_stream_; -}; - -} // namespace audio -- cgit v1.2.3