You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
ndg/demos/music
alex 752e2c61ad Squashed 'lib/lvgl/' changes from 9024b72b4..74d0a816a
74d0a816a release v8.3.11
8194d8322 chore(cmsis-pack): prepare for v8.3.11 (#4936)
1840decb4 fix(qrcode): use LV_ASSERT instead of assert
ef76206c7 fix(disp): fix infinite recursive SCREEN_LOADED events
4fdc4c20b fix(obj): readjust scroll after layout when child removed (#4921)
85776aeec fix(rt-thread): fix create lvgl thread problem (#4862)
d20bd1ca3 fix(keyboard): add '&' character
c16bfdc22 fix(obj): fix arduino compile warnings (#4807)
3b6f98a93 fix(table):fix issue with abnormal string output of 'lv_table_set_cell_value_fmt' (#4804)
6c86969ee fix(table) user data API functions renamed (#4769)
fdfff5c0b feat(table): add user_data to table cells (#4767)
2791d5739 feat(tiny_ttf): backport Tiny TTF to lvgl 8 (#4727)
68d380eb9 fix(ime_pinyin): keep cursor in the textarea when a candidate is pressed (#4731)
20b6199ba fix(arc): fix setting value by click
7efcea6d0 chore(cmake): add support for user-specified lv_conf.h path (#4689)
7f894cf75 fix(draw_needles): changed needle line draw start point from scale ce… (#4682)
fa40b0519 feat(littlefs): add lv_fs_littlefs system as a driver (#4677)
17c580fad fix(arc): handle click outside background angle range (#4586) (#4667)
454e45429 fix(meter):  fix minor issues (#4657)
9fbac7570 docs: fix typo
1e381f11b STM32U5 DMA2D support (8.3) (#4643)
d22cda3cd fix: fix warning in lv_draw_sw_letter.c
869cc6300 backport: fix(lv_disp): fix lv_scr_load_anim being called twice quickly (#4629)
73fa50afa docs(obj): fix wording (#4625)
7a8fcbfd3 fix(draw): fix scaling rectangle parts with opa
7568df77d chore: fix compile error
9a673e447 chore(lv_draw_sw_letter.c): Fix print format (#4615)
3b2d75be0 fix(draw): fix compiler error in lv_draw_sw_transform.c #2 (#4612)
87ff746e2 docs(label): update text for recoloring (#4606)
14e21d27f fix(dropdown): avoid partial match in lv_dropdown_get_option_index (#4598)
ff4f3f976 fix(dropdown): reset char_i = 0, avoid access overflow (#4589)
a7a9d278c fix(btnmatrix): set LV_BTNMATRIX_BTN_NONE when clicking of disabled button (#4571) (#4578)
06e229cc7 release v8.3.10
9e388055e chore(cmsis-pack): create cmsis-pack for v8.3.10 (#4572)
eb87767cc chore: code formatting
01cd1fed9 fix(vglite): be sure end_angle > start_angle in arc drawing
28094404a fix(refr): fix single buffered direct mode
e2b19eb4a fix: build on Windows (MinGW environment) (#4538)
bff1f2297 fix(docs): dropdown: fix function name in description of static options (#4535)
9787d47d0 fix: do not copy invalid areas if not double buffered mode (#4526)
6548ea0f2 feat(style): backport opa_layered
1375ea85a Update screen object opacity function documentation (#4505)
a29645659 docs(calendar): update according to v8.2 changes
336f24127 feat(disp): add double buffered direct-mode efficient sync algorithm (v8.3) (#4497)
1c5df6c66 demo(sress): fix issues when the stress test is opened/clsoed multiple times
7d314aab6 fix(sdl): add missing parameter in lv_draw_sdl_composite_texture_obtain (#4490)
fd21ed0eb ci: update screenshot compare from v9 to automatically create missing reference images
5fc488a08 ci(dropdown): fix test
f17458924 fix(dropdown): position to the selected item in lv_dropdown_set_selected
bcebafe4f docs(simulator): remove SDL support from the Visual Studio project
8063fac79 fix(btnmatrix): fix tapping just outside a button in a buttonmatrix
9ec3b8706 docs: update changelog
bdf5bfb88 chore(cmsis-pack): prepare for release v8.3.9 (#4424)
4f102d7b6 fix: use const lv_img_dsc_t * dsc function parameter in lv_img_buf.h/
810852b41 docs(disp): metined that rotation rotates the touch coordinates too
21e95bc1b fix(decoder): fix LV_IMG_CF_ALPHA_8BIT bin file decoder (#4406)
dbcf56288 fix(config): fix typo in LV_USE_PERF_MONITOR and LV_USE_MEM_MONITOR (#4403)
eee2dd186 fix(attr): refactor LV_ATTRIBUTE_* for function attributes (#4404)
141f4b8ab fix(font): fix optimizer issue in  lv_font_fmt_txt.c (#4385)
f9ffcc9d8 fix(chart): fix lv_chart_get_point_pos_by_id
385d999a4 fix(imgbtn): support LV_OBJ_FLAG_CHECKABLE
29ed7c571 fix(btnmatrix): Fix typo in previous commit!
65f1c9305 fix(btnmatrix): Hide button matrix when all buttons hidden
b1bbb95ce chore: format code
223dc1cf9 fix(tabview): fix warning
416b26771 chore(music demo) fix formatting
645006e35 fix(indev): fix warnings when loggin coordinates is enabled
375b3b5d3 fix(obj) prevent hidden objects keeping focus
1c5d4b02d Merge branch 'demo-close' into release/v8.3
e6d7be00b docs: update changelog
15433d69b chore(cmsis-pack): update cmsis-pack for v8.3.8 (#4340)
91038a99e demos: add lv_demo_..._close() functions for each demo
9491c3ff6 example(tabview): fix tabview disable scrollig example
3de61c76a fix(tabview): remove the animation if the tab is selected by clicking the button on the header
09cc0de57 docs: mention incompatibility between software rotation and `direct_mode` or `full_refresh` (#4308)
227ac0234 docs(faq): don't say 24 bit is support as LVGL can't render in RGB888 directly
8b83fe7ea feat(rt-thread): make the rt-thread env recursively glob the UI files
edd5ad28a fix(btnmatrix): fix array out of bounds addressing with groups and no buttons
07bce7466 fix:(BtnMatrix) Backport https://github.com/lvgl/lvgl/pull/4185
1713cd3fd Revert "fix:(BtnMatrix) Backport https://github.com/lvgl/lvgl/pull/4185"
cb602ea77 fix:(BtnMatrix) Backport https://github.com/lvgl/lvgl/pull/4185
caf29ef0c add(docs): add renesas-ra6m3 get-started document (#4278)
a3199514a fix(stm32): static function prototypes moved from .h to .c (#4276)
78cbdfc15 add(gpu): add renesas-ra6m3 gpu adaptation (#4270)
75e6ef4e1 fix(btnmatrix): fix using > 7 as button width
2376c5786 fix(png): fix decode image size and some warnings (#4248)
e3659c46b fix(arduino): fix messed up variable types
df96b57f4 fix(bidi): add more Hebrew checks to RTL characters set (#4171) (#4239)
67b3011f8 fix(chart): fix division by zero if there are no ticks
d87737612 perf(pxp, vglite): improve performance and add more features (#4222)
6a89bd2d7 fix(msgbox): fix typo
6843c191b fix(msgbox): add missing lv_obj_class_init_obj
1caafc55d fix(disp): fix memory leak lv_scr_load_anim with auto_del and time=0
5ba90a5c4 fix(flex): register LV_STYLE_FLEX_GROW
630da9c6c fix(img): fix getting the image type on big endian systems (#4215)
ee95e7dc2 fix(sdl): destroy texture after use if not stored in cache (#4173)
45b13c378 fix(draw): typo with LV_COLOR_DEPTH 8
2b56e0420 chore(cmsis-pack): update cmsis-pack for v8.3.7 (#4203)
177900b03 docs(changelog): update changelog for v8.3.7
203e7fc97 fix (spinbox):  doubling characters entered from the keyboard (#4190)
7345e6235 fix(arm-2d): fix transform-chrome-keying issue (#4178)
48d7878ba fix(style): fix trasition on bg_grad color fixes: #4174
a0795b49e fix(indev): fix integer overflow in recursive zoom calculation
a150b15e4 feat(btnmatrix): review ctrl map and allow width values to be max 15
a95714ba7 fix(menu): prevent setting the current page again (#4136)
8536152d8 fix(esp): fix ESP-IDF pedantic builds (backport v8.3) (#4135)
631444183 fix: color mixing with LV_COLOR_SWAP == 1 (#4101)
88c51b22a docs: udpate changelog
6b0092c0d chore(cmsis-pack): update cmsis-pack for v8.3.6 (#4108)
aa313806d fix(bar): delete running animations when a new value is set without animation
5e0e1c8c4 chore: code formatting
d0e19eb2d fix(arc): fix knob area invalidation
fd20fabfd fix(group): fix default_group becomes wild pointer when deleted (#4076)
399069b4a Update build_html_examples.sh
501230e0f docs: use a fixed commit of lv_web_emscripten
adcf16638 fix(fs_posix): allow creating new file and set permission. (#3976)
2f294aa76 docs(arduino): add note to not use lv_examles library
9a870b34a format code
0b7777f27 fix(slider): consider animations on pressing
e8d8f399e fix(img): support negative angles (#3846)
0df09db23 fix(gif): synchronize with master (#4003)
e2386fd46 fix(gpu): fix STM GPU drivers for some variants (#4004)
2944277f0 fix(img): possible divide by 0 exception (lvgl#3988) (#3990)
6af01798d feat(msg): add lv_msg_unsubcribe_obj
77670fb1a chore: update the version numbers to v8.3.5-dev
f29514aa5 docs: update changelog
e7e8cf846 feat(cmsis-pack): update cmsis-pack for v8.3.5 (#3972)
8b1270347 fix(monkey): remove executable permissions from source files (#3971)
e6cd7063b fix(ci): set Ubuntu version for MicroPython test (#3865)
34c545ef1 docs(indev): fix the name of long_press_repeat_time (was long_press_rep_time)
361ee7961 feat(gpu): improve NXP's PXP and VGLite accelerators (#3952)
39f424767 fix(roller): consider the recolor setting of the label
1853cc514 perf(dam2d): rework stm32 dma2d  (#3904)
9faca8a8d Update layer.md
8ea6f03fc fix(Kconfig): Fix wrong type of LV_FS_STDIO_CACHE_SIZE (v8.3) (#3906)
c6c1b0b3d chore: add an option to "LV_TICK_CUSTOM" (#3879)
e529230f4 ci(esp): fix push to the component registry on tag
dbb15bb3e feat(cmsis-pack): update for v8.3.4 (#3896)
47c8f8f98 bump version numbers to v8.3.5-dev
2c0162b45 release v8.3.4
dec580b9f fix(rt-thread): sync rt-thread v5.0.0 rt_align (#3864)
ad56dfaf7 fix(gridnav): fix stucking in pressed state with encoder
c8e584f87 fix(style): add the missing support for pct pivot in tranasform style properties
d2d886aae fix(draw): SDL2 gradient support  #3848 (#3856)
1e3ca25fe fix(example): fix warnings
84cf05d8b fix(indev): fix scrolling on transformed obejcts
2c17b28ac fix(darw): add back the disappeared antialising=0 support
1ed026ca7 fix(benchmark): fix warnings
ae3825871 demo(benchmark): fix lv_label_set_text_fmt format strings
ae300acb2 [v8.3.x][rt-thread][squareline] fix compiler cannot find the lvgl/lvg… (#3834)
41fa41613 fix(msg): fix typos in API by adding wrappers fixes #3822
68f6190f8 chore: format code
1173dcba9 demo(benchmark): fix warning
716e5e2c8 fix(meter): fix setting part_draw_dsc.id in needle img drawing
bb2c2ac34 fix(chart): fix very dense bar charts
c4c400716 fix(flex): be sure obj->w_layout and h_layout can't be set at the same time
6825d4bd1 chore(table): remove extra spaces (#3805)
39d03a80f feat(table): scroll to the selected cell with key navigation
340a1cb60 fix(esp.cmake): add demos and examples (#3784)
e06f03db7 fix(draw): fix transformation accuracy
bd11ad854 fix(draw): handle LV_COLOR_DEPTH == 1 too in lv_draw_sw_transform
e050f5ca1 fix(draw): fix text color with sub pixel rendering and BGR order
903e94b71 fix(style): remove the reduntant define of LV_GRADIENT_MAX_STOPS
0732400e7 Revert "feat(keyboard): ported arabic keyboard from release 7.10.0 (#3728)"
483b2a432 feat(keyboard): ported arabic keyboard from release 7.10.0 (#3728)
5545ffc92 release v8.3.3
c8bee4041 fix: version number in lvgl.h
755d363ec release v8.3.2
dfd14fa77 fix(slider): find the nearest value on click instead of floor
1ab9aa531 fix(fragment): fixed child fragment event dispatch (#3683)
4d69cd865 fix(sdl): clear streaming/target texture with FillRect (#3682)
832bef434 fix(sdl): transformation with alpha (#3576) (#3678)
d5b2a9b25 fix(draw): fix border drawing with thick borders
764095021 chore: fix warnings
8b605cc48 fix(refr): fix true double double buffering logic with transparent screens
ece349500 fix(draw): allow drawing outline with LV_DRAW_COMPLEX == 0 too
f6655c2aa fix(draw_sw): fix image cache to access the freed stack space (#3584)
cba2aa95c fix(style): use compile time prop_cnt for const styles (#3609)
660464c97 chore(rt-thread) backport fixes from v9 (#3604)
5156ee058 fix(group): be sure obj is removed from its current group in lv_group_add_obj
a0515ba30 fix(style): add missing invalidation in lv_obj_remove_local_style_prop
1a4603091 docs(draw) remove reference to old lv_fs_add_drv function (#3564)
f58dcd94f docs(disp): LV_COLOR_SCREEN_TRANSP remove dependency on LV_COLOR_DEPTH_32 as transparency is supported across all color depths (#3556)
d59bba12d fix(colorwheel): fix updating color when using lv_colorwheel_set_hsv
5022476ed remove accidentally added code
b884abae2 fix(canvas): fix clipéping on transformation
aa45d5985 fix(demo): can not found lvgl.h file (#3477)
55e95ed35 fix(ci) checkout lv_micropython release/v8 branch (#3524)
be485d760 ci: protect test.c with #if LV_BUILD_TEST

git-subtree-dir: lib/lvgl
git-subtree-split: 74d0a816a440eea53e030c4f1af842a94f7ce3d3
9 months ago
..
assets Squashed 'lib/lvgl/' content from commit 9024b72b 2 years ago
README.md Squashed 'lib/lvgl/' content from commit 9024b72b 2 years ago
lv_demo_music.c Squashed 'lib/lvgl/' changes from 9024b72b4..74d0a816a 9 months ago
lv_demo_music.h Squashed 'lib/lvgl/' changes from 9024b72b4..74d0a816a 9 months ago
lv_demo_music_list.c Squashed 'lib/lvgl/' changes from 9024b72b4..74d0a816a 9 months ago
lv_demo_music_list.h Squashed 'lib/lvgl/' changes from 9024b72b4..74d0a816a 9 months ago
lv_demo_music_main.c Squashed 'lib/lvgl/' changes from 9024b72b4..74d0a816a 9 months ago
lv_demo_music_main.h Squashed 'lib/lvgl/' changes from 9024b72b4..74d0a816a 9 months ago
screenshot1.gif Squashed 'lib/lvgl/' content from commit 9024b72b 2 years ago

README.md

Music player demo

Overview

The music player demo shows what kind of modern, smartphone-like user interfaces can be created on LVGL. It works the best with display with 480x272 or 272x480 resolution.

Music player demo with LVGL embedded GUI library

Run the demo

  • In lv_conf.h or equivalent places set LV_USE_DEMO_MUSIC 1
  • With LV_DEMO_MUSIC_AUTO_PLAY enabled a ~60 sec demo will be played.
  • After lv_init() and initializing the drivers call lv_demo_music()

How the spectrum animation works

  • assets/spectrum.py creates an array of spectrum values from a music. 4 band are created with 33 samples/sec: bass, bass-mid, mid, mid-treble.
  • The spectrum meter UI does the followings:
    • Zoom the album cover proportionality to the current bass value
    • Display the 4 bands on the left side of a circle by default at 0°, 45°, 90°, 135°
    • Add extra bars next to the "main bars" with a cosine shape. Add more bars for the lower bands.
    • If there is a large enough bass, add a random offset to the position of the bars. E.g. start from 63° instead of 0°. (bars greater than 180° start again from 0°)
    • If there is no bass, add 1 to the offset of the bars (it creates a "walking" effect)
    • Mirror the bars to the right side of the circle

Using spectrum.py

  • install librosa with pip3 install librosa
  • run python sectrum.py my_file.mp3
  • see the result in spectrum.h