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

Marquee Widget speed - feature request #153

Open
danrods opened this issue Feb 6, 2022 · 3 comments
Open

Marquee Widget speed - feature request #153

danrods opened this issue Feb 6, 2022 · 3 comments

Comments

@danrods
Copy link

danrods commented Feb 6, 2022

I'm not sure if this is exactly the best place to put this, happy to put this anywhere needed.

It's difficult to include a screenshot for this but I noticed when I use the Marquee widget, especially in vertical mode that it scrolls so fast I can barely make out what it says. A possible feature request would be to allow fine-tuning the speed of the marquee to make it easier to read.

I'm not sure exactly how to do it or I would open a PR for this, but I can imagine the issue is the number of frames used is too low when its animated? Any help would be appreciated!

@danrods
Copy link
Author

danrods commented Feb 6, 2022

Note, I've tried setting the box bigger so it has longer to scroll but there is a breaking point where there is a long break between the text showing up because of empty frames. before and after the text. Still a little flimsy, having a native option would be less error prone and give a better experience

render.Box(
                    height=22,
                    child=render.Marquee(
                         width=64,
                         height=23,
                         child=render.Box(
                             height=256,
                             child=render.WrappedText(content=<insert long text>,
                                                      color="#fde333",
                                                      font="6x13"
                                                      )
                         ),
                         scroll_direction="vertical"
                    )


                )

@danrods danrods changed the title Marquee Widget speed feature request Marquee Widget speed - feature request Feb 6, 2022
@vlauffer
Copy link

vlauffer commented Feb 8, 2022

I've found that adding a delay parameter to the root will change the speed of the scroll. Here's an example:

def main():
    return render.Root(
        delay = 100,
        child = render.Marquee(
            width = 64, 
            height = 32,
            scroll_direction = 'vertical',
            child = render.WrappedText("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.")
        ),
        
    )

A couple things to be aware of:

  • a delay value of 11 seems like the fastest possible scroll speed
  • any value below 11 seems to cause problems (when testing on tidbyt hardware instead of computer with value 1, noticed that the screen never moves on to next app)
  • The higher the value (11 and up), the slower the scroll speed gets.

Haven't dug super deep into the Marquee code so not sure why this happens, but this is what works in my project and I hope it works in yours too!

@LukiLeu
Copy link

LukiLeu commented Feb 8, 2022

  • a delay value of 11 seems like the fastest possible scroll speed
  • any value below 11 seems to cause problems (when testing on tidbyt hardware instead of computer with value 1, noticed that the screen never moves on to next app)
  • The higher the value (11 and up), the slower the scroll speed gets.

Just some notes here: The delay value is in milliseconds. I guess if the animation speed is faster than the TidByt refresh rate (just a wild guess), it might break the app cycling.
Note that this delay value is valid for all used marquee and animation schemas in your app (if used multiple)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants