lvgl-music-player
:::warning [UNTESTED]
The UI is the upstream lv_demo_music() reference; panel bring-up gates on the v1.0 HiL sweep. Try lvgl-widgets-demo first — it is the simplest LVGL test.
:::
Wraps the upstream lv_demo_music() — the most polished of LVGL's bundled demos: album-art carousel, time slider, track list, equaliser visualiser.
Source: examples/display/lvgl-music-player/.
:::info This is a display-only demo — there is no audio path
lv_demo_music() animates the player scene but does not decode or play any audio, and main.c makes no alp_i2s_* or codec calls. A real audio output path (a WM8960 / TLV320 codec over I²S plus an MP3 decoder) is intentionally out of scope here.
For the decoder half see minimp3-decode; for the I²S output half see i2s-tone.
:::
What it shows
- LVGL renders the player UI on a 240×320 ST7789 panel.
- The app opens the panel through
<alp/display.h>and binds LVGL with<alp/gui.h>, withCONFIG_LV_Z_AUTO_INIT=ninprj.conf— seelvgl-widgets-demofor the reference init sequence. - The demo is memory-hungry by LVGL standards:
CONFIG_LV_Z_MEM_POOL_SIZE=131072andCONFIG_HEAP_MEM_POOL_SIZE=262144.
Hardware needed
- E1M-AEN family SoM.
- E1M-EVK board.
- 240×320 ST7789 TFT on SPI + control GPIOs.
board.yaml
libraries:
- name: lvgl
cores: [m55_hp]
som:
sku: E1M-AEN801
preset: e1m-evk
pins:
- { e1m: E1M_SPI1, macro: EVK_SPI_BUS_ARDUINO, doc: "Arduino UNO header SPI" }
cores:
a32_cluster:
os: "off"
m55_hp:
app: ./src
peripherals:
- spi
- gpio # ST7789 panel: SPI data + control GPIOs.
chips:
- st7789 # Display.
diagnostics:
log_level: info
Note there is no i2c / i2s peripheral and no codec chip — consistent with the display-only scope above.
See also
<alp/display.h>·<alp/gui.h>lvgl-widgets-demo·lvgl-benchmarkminimp3-decode— the MP3 decode half this demo deliberately omits- Examples overview