Aircoookie / WLED

Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!
https://kno.wled.ge
MIT License
14.79k stars 3.18k forks source link

Combine Soundreactive 2D and FastLED_2D implementations #2420

Closed embedded-creations closed 1 year ago

embedded-creations commented 2 years ago

WLED Soundreactive has a 2D implementation based around a single matrix where multiple segments can be mapped onto the matrix, and multiple panels can be stacked horizontally and vertically to create a larger matrix. My FastLED_2D branch has a 2D implementation based around pixel coordinate mapping, with support for multiple segments, each with its own 2D map. Several of us want to combine our 2D efforts and make a 2D implementation that supports all of the above and more, that can be integrated into the main WLED repo.

Right now this issue is just a place to discuss the idea and collect requirements:

Must

Want

Like

Consider

Issues

ewoudwijma commented 2 years ago

One addition: WLED SR 2D supports multiple matrix panels which can be stacked horizontally and vertically to create a larger matrix

embedded-creations commented 2 years ago

Thanks, I edited the description

embedded-creations commented 2 years ago

I've been editing the description capturing important notes from our discussions in the Discord #2d channel, and I'll keep doing that.

hi5grant commented 2 years ago

I’m very interested in this feature as a user. Some of my questions and brainstorming will be more out of ignorance of the software so just know that.

embedded-creations commented 2 years ago

@hi5grant Join the WLED Discord, there's a lot going on in the #2d channel. https://discord.gg/e2NW9hwPeV

Ideally effects should scale to the user's hardware, some will handle that better than others. Content like GIFs won't scale easily on device, but the content can be scaled before loading. I have GIF playback from the onboard storage or external SD card working already on my branch.

softhack007 commented 1 year ago

@ewoudwijma, @embedded-creations, @blazoncek: is this topic still open for WLED 0.14.0 ? If yes, what are the points that need improvements or further attention?

In case nothing left to do, I suggest we close this one, and maybe open a new feature request for things still to be done in 0.14.x versions.

blazoncek commented 1 year ago

I have nothing to do with it, but I implemented my own 2D functionality and ported useful and relevant SR effects upstream (with your and @ewoudwijma help) while preparing 0.14. 😄 I am ok to close it.

softhack007 commented 1 year ago

😃 yes, that was a huge joint effort 👍 Let's close this one now.

@ewoudwijma @embedded-creations not sure about the framebuffer-GFX part... please open a new feature request if you like.

ewoudwijma commented 1 year ago

I think it is still good to compare the design of @embedded-creations with what we have now as we have a lot of mapping systems, see https://mm.kno.wled.ge/moonmodules/mappings/ where I try to list the mappings, a description should follow (wip). Maybe I add more description in the weekend.

@embedded-creations , what do you think, what is the current status of your mapping system and how does it compare to what we have now and could we benefit from it?

marcmerlin commented 6 months ago

Since I can't re-open the original bug, I was prodded by others who use wled and told me it's more ready for 2d support today, to re-open a bug on the mapping issue, so I did do here https://github.com/Aircoookie/WLED/issues/3906

I'll let you decide what route you think is best, but obviously adding neomatrix mapping support is kind of important if you want to be able to support 2D matrices