summaryrefslogtreecommitdiff
path: root/src/drivers/include/playback.hpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2022-11-15 13:25:58 +1100
committerjacqueline <me@jacqueline.id.au>2022-11-15 13:25:58 +1100
commit530fd15e66a2c89c0dcd6edd1b2a318958c349a4 (patch)
tree2b4b75a644587440a6a5cf6620f1b6e36f81c2d6 /src/drivers/include/playback.hpp
parent37041b810fbd10aab0834a33ae1dbd9edbb8bcb9 (diff)
downloadtangara-fw-530fd15e66a2c89c0dcd6edd1b2a318958c349a4.tar.gz
WIP audio play and pause
Diffstat (limited to 'src/drivers/include/playback.hpp')
-rw-r--r--src/drivers/include/playback.hpp67
1 files changed, 0 insertions, 67 deletions
diff --git a/src/drivers/include/playback.hpp b/src/drivers/include/playback.hpp
deleted file mode 100644
index 5fa7ab38..00000000
--- a/src/drivers/include/playback.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-#pragma once
-
-#include "dac.hpp"
-#include "storage.hpp"
-
-#include <cstdint>
-#include <memory>
-#include <string>
-
-#include "audio_common.h"
-#include "audio_element.h"
-#include "audio_event_iface.h"
-#include "audio_pipeline.h"
-#include "esp_err.h"
-#include "fatfs_stream.h"
-#include "i2s_stream.h"
-#include "mp3_decoder.h"
-#include "result.hpp"
-
-namespace drivers {
-
-class DacAudioPlayback {
- public:
- enum Error { PIPELINE_INIT };
- static auto create(AudioDac* dac)
- -> cpp::result<std::unique_ptr<DacAudioPlayback>, Error>;
-
- DacAudioPlayback(AudioDac* dac,
- audio_pipeline_handle_t pipeline,
- audio_element_handle_t fatfs_stream_reader,
- audio_element_handle_t i2s_stream_writer,
- audio_event_iface_handle_t event_interface,
- audio_element_handle_t mp3_decoder);
- ~DacAudioPlayback();
-
- void Play(const std::string& filename);
- void Resume();
- void Pause();
-
- void ProcessEvents();
-
- /* for gapless */
- void set_next_file(const std::string& filename);
-
- void set_volume(uint8_t volume);
- auto volume() -> uint8_t;
-
- // Not copyable or movable.
- DacAudioPlayback(const DacAudioPlayback&) = delete;
- DacAudioPlayback& operator=(const DacAudioPlayback&) = delete;
-
- private:
- AudioDac* dac_;
- std::mutex playback_lock_;
-
- std::string next_filename_;
- uint8_t volume_;
-
- audio_pipeline_handle_t pipeline_;
- audio_element_handle_t fatfs_stream_reader_;
- audio_element_handle_t i2s_stream_writer_;
- audio_event_iface_handle_t event_interface_;
-
- audio_element_handle_t mp3_decoder_;
-};
-
-} // namespace drivers