From b2741b5bef7c7676df2f4ce68704e61c87dbf3f1 Mon Sep 17 00:00:00 2001 From: Philippe G Date: Tue, 11 Jan 2022 20:15:16 -0800 Subject: [PATCH] duration is now 1ms units & don't get cspot artwork when display disabled --- build-scripts/I2S-4MFlash-sdkconfig.defaults | 2 +- build-scripts/SqueezeAmp-sdkconfig.defaults | 2 +- components/display/display.c | 7 +++++++ components/display/display.h | 1 + components/spotify/Shim.cpp | 3 +-- components/spotify/cspot_sink.c | 2 +- 6 files changed, 12 insertions(+), 5 deletions(-) diff --git a/build-scripts/I2S-4MFlash-sdkconfig.defaults b/build-scripts/I2S-4MFlash-sdkconfig.defaults index 11d9651a..40110fd2 100644 --- a/build-scripts/I2S-4MFlash-sdkconfig.defaults +++ b/build-scripts/I2S-4MFlash-sdkconfig.defaults @@ -728,7 +728,7 @@ CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y # # ESP HTTP client # -CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y # CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set # end of ESP HTTP client diff --git a/build-scripts/SqueezeAmp-sdkconfig.defaults b/build-scripts/SqueezeAmp-sdkconfig.defaults index 3c3f7ecc..fb63230a 100644 --- a/build-scripts/SqueezeAmp-sdkconfig.defaults +++ b/build-scripts/SqueezeAmp-sdkconfig.defaults @@ -700,7 +700,7 @@ CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y # # ESP HTTP client # -CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y # CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set # end of ESP HTTP client diff --git a/components/display/display.c b/components/display/display.c index 4af7eec1..94414dac 100644 --- a/components/display/display.c +++ b/components/display/display.c @@ -281,6 +281,13 @@ void displayer_artwork(uint8_t *data) { } +/**************************************************************************************** + * + */ +bool displayer_can_artwork(void) { + return displayer.artwork.active; +} + /**************************************************************************************** * */ diff --git a/components/display/display.h b/components/display/display.h index ebb857e7..278bc077 100644 --- a/components/display/display.h +++ b/components/display/display.h @@ -40,4 +40,5 @@ void displayer_control(enum displayer_cmd_e cmd, ...); void displayer_metadata(char *artist, char *album, char *title); void displayer_artwork(uint8_t *data); void displayer_timer(enum displayer_time_e mode, int elapsed, int duration); +bool displayer_can_artwork(void); char * display_get_supported_drivers(void); diff --git a/components/spotify/Shim.cpp b/components/spotify/Shim.cpp index 54560b9a..577143e3 100644 --- a/components/spotify/Shim.cpp +++ b/components/spotify/Shim.cpp @@ -119,8 +119,7 @@ static void cspotTask(void *pvParameters) { switch (event.eventType) { case CSpotEventType::TRACK_INFO: { TrackInfo track = std::get(event.data); - // duration is in chunks of 0.5 ms - cspot.cHandler(CSPOT_TRACK, 44100, track.duration / 2, track.artist.c_str(), + cspot.cHandler(CSPOT_TRACK, 44100, track.duration, track.artist.c_str(), track.album.c_str(), track.name.c_str(), track.imageUrl.c_str()); break; } diff --git a/components/spotify/cspot_sink.c b/components/spotify/cspot_sink.c index 67677e88..c98634cd 100644 --- a/components/spotify/cspot_sink.c +++ b/components/spotify/cspot_sink.c @@ -144,7 +144,7 @@ static bool cmd_handler(cspot_event_t event, ...) { int duration = va_arg(args, int); char *artist = va_arg(args, char*), *album = va_arg(args, char*), *title = va_arg(args, char*); char *artwork = va_arg(args, char*); - if (artwork) { + if (artwork && displayer_can_artwork()) { ESP_LOGI(TAG, "requesting artwork %s", artwork); http_download(artwork, 128*1024, got_artwork, NULL); }