Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Rework button graphics generation #262

Open
dnmeid opened this issue Sep 28, 2018 · 6 comments
Open

Feature Request: Rework button graphics generation #262

dnmeid opened this issue Sep 28, 2018 · 6 comments
Labels
area/gui GUI / Webapp related Enhancement New feature or request
Milestone

Comments

@dnmeid
Copy link
Member

dnmeid commented Sep 28, 2018

  1. Let's unify the button styles further. In my opinion a button should have layers, a color background layer, a png layer and a text layer. So we don't need two different button styles anymore. And we could combine background colors with transparent pngs. And maybe for the future we can offer the ability to let the user add more layers or give more options to layers or more types of layers.
  2. There should be an option to resize pngs and alignment control option. Resizing should not be done during upload, but during presentation.
  3. Feedbacks could also use one or more layers, let's say a feedback is writing some text into a text layer and the user can have another textlayer writing his own text.
  4. Button states. Let's give each button the ability to have more than one design. This would make much things much easier. Each state has all the options of the button design in it, so a module or the user can prepare many states and switch between them only with changing the state. Great for toggle with state 0 and state 1. But there could be more states, feedback can also be used to switch states, so it is easy to implement feedback and at the same time it is comprehensible to the user and easy adjustable.
@dnmeid dnmeid added Enhancement New feature or request area/gui GUI / Webapp related labels Sep 28, 2018
@haakonnessjoen
Copy link
Member

I also want to add support for uploading gifs. But with some limitations. They will always loop, and a fixed delay between each frame. So a gobal timer for all gifs.

It should actually be very simple to implement, with js-only modules, so I might, some day ;P

@edifyyo
Copy link

edifyyo commented Jul 20, 2019

I'd very much like GIF support, as well!

@RobbieBott
Copy link

+1 for looping gif support.

@Julusian
Copy link
Member

Julusian commented Feb 8, 2021

I think that supporting animated gifs will require some technical thought about how to avoid it becoming a performance hog.

  • Ideally we should be able to generate each frame once and to reuse it upon looping. How many frames is too many? we don't want to use too much ram to buffer these.
  • do we lazy render them, or render all frames at once? lazily will cause some more complex logic for the display side, but all at once will cause burstier cpu and be wasteful in the case of long gifs and fast changing feedbacks.
  • how do we efficiently transfer these renders to connected clients/devices? it would be good to avoid resending the same data repeatedly, this becomes a similar problem to the rendering
  • mixed framerates should be ok, if the frame ticking is done outside the core (clients/usb process)
  • what will be the performance impact of this? with companion being mostly single threaded I would be concerned about the impact that the extra rendering and data shuffling will have on device operations. This might be something to put off until there is more threading going on

@barnes2000
Copy link

I would very much like to see animated gifs added to companion for stream deck. I am not an engineer, but if there are donations needed to help expedite this, please let me know. Thank you.

@barnes2000
Copy link

It's 2022 now and I'd like to bump this request again. I am willing to donate $$$ to help expedite this feature, if there's someone that thinks they can achieve it. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/gui GUI / Webapp related Enhancement New feature or request
Projects
Status: No status
Status: In Progress
Status: No status
Development

No branches or pull requests

6 participants