From 01be69eca1fa89c047fc29f5cb0ea8ba0898dad1 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Wed, 7 Dec 2022 15:36:47 +1100 Subject: better handling of chunk buffer --- src/main/app_console.cpp | 14 +++++--------- src/main/app_console.hpp | 7 +++++-- src/main/main.cpp | 21 +++++---------------- 3 files changed, 15 insertions(+), 27 deletions(-) (limited to 'src/main') diff --git a/src/main/app_console.cpp b/src/main/app_console.cpp index fbb8df87..281454dc 100644 --- a/src/main/app_console.cpp +++ b/src/main/app_console.cpp @@ -8,11 +8,14 @@ #include #include +#include "audio_playback.hpp" #include "esp_console.h" namespace console { -std::string toSdPath(std::string filepath) { +static AppConsole* sInstance = nullptr; + +std::string toSdPath(const std::string& filepath) { return std::string(drivers::kStoragePath) + "/" + filepath; } @@ -57,12 +60,7 @@ int CmdPlayFile(int argc, char** argv) { return 1; } - /* sInstance->playback_->Play(toSdPath(argv[1])); - if (argc == 3) { - sInstance->playback_->SetNextFile(toSdPath(argv[2])); - } - */ return 0; } @@ -125,14 +123,12 @@ void RegisterVolume() { esp_console_cmd_register(&cmd); } -/* -AppConsole::AppConsole() { +AppConsole::AppConsole(audio::AudioPlayback* playback) : playback_(playback) { sInstance = this; } AppConsole::~AppConsole() { sInstance = nullptr; } -*/ auto AppConsole::RegisterExtraComponents() -> void { RegisterListDir(); diff --git a/src/main/app_console.hpp b/src/main/app_console.hpp index 155d8127..f94bcb51 100644 --- a/src/main/app_console.hpp +++ b/src/main/app_console.hpp @@ -2,6 +2,7 @@ #include +#include "audio_playback.hpp" #include "console.hpp" #include "storage.hpp" @@ -9,8 +10,10 @@ namespace console { class AppConsole : public Console { public: - AppConsole() {} - virtual ~AppConsole() {} + explicit AppConsole(audio::AudioPlayback* playback); + virtual ~AppConsole(); + + audio::AudioPlayback* playback_; protected: virtual auto RegisterExtraComponents() -> void; diff --git a/src/main/main.cpp b/src/main/main.cpp index 3e073401..a923b683 100644 --- a/src/main/main.cpp +++ b/src/main/main.cpp @@ -24,6 +24,7 @@ #include "widgets/lv_label.h" #include "app_console.hpp" +#include "audio_playback.hpp" #include "battery.hpp" #include "dac.hpp" #include "display.hpp" @@ -102,7 +103,7 @@ extern "C" void app_main(void) { ESP_LOGE(TAG, "Failed: %d", storage_res.error()); return; } - std::unique_ptr storage = std::move(storage_res.value()); + std::shared_ptr storage = std::move(storage_res.value()); LvglArgs* lvglArgs = (LvglArgs*)calloc(1, sizeof(LvglArgs)); lvglArgs->gpio_expander = expander; @@ -110,32 +111,20 @@ extern "C" void app_main(void) { (void*)lvglArgs, 1, sLvglStack, &sLvglTaskBuffer, 1); - /* - ESP_LOGI(TAG, "Init audio output (I2S)"); - auto sink_res = drivers::I2SAudioOutput::create(expander); - if (sink_res.has_error()) { - ESP_LOGE(TAG, "Failed: %d", sink_res.error()); - return; - } - std::unique_ptr sink = std::move(sink_res.value()); - ESP_LOGI(TAG, "Init audio pipeline"); - auto playback_res = drivers::AudioPlayback::create(std::move(sink)); + auto playback_res = audio::AudioPlayback::create(expander, storage); if (playback_res.has_error()) { ESP_LOGE(TAG, "Failed: %d", playback_res.error()); return; } - std::unique_ptr playback = + std::shared_ptr playback = std::move(playback_res.value()); - playback->SetVolume(130); - */ ESP_LOGI(TAG, "Launch console"); - console::AppConsole console; + console::AppConsole console(playback.get()); console.Launch(); while (1) { - // playback->ProcessEvents(5); vTaskDelay(pdMS_TO_TICKS(100)); } } -- cgit v1.2.3