diff options
| author | jacqueline <me@jacqueline.id.au> | 2022-11-15 13:25:58 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2022-11-15 13:25:58 +1100 |
| commit | 530fd15e66a2c89c0dcd6edd1b2a318958c349a4 (patch) | |
| tree | 2b4b75a644587440a6a5cf6620f1b6e36f81c2d6 /src/drivers/include/playback.hpp | |
| parent | 37041b810fbd10aab0834a33ae1dbd9edbb8bcb9 (diff) | |
| download | tangara-fw-530fd15e66a2c89c0dcd6edd1b2a318958c349a4.tar.gz | |
WIP audio play and pause
Diffstat (limited to 'src/drivers/include/playback.hpp')
| -rw-r--r-- | src/drivers/include/playback.hpp | 67 |
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 |
