HISE Logo Forum
    • Categories
    • Register
    • Login

    best way for animations in HISE

    Scheduled Pinned Locked Moved General Questions
    10 Posts 5 Posters 761 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      treynterrio
      last edited by

      Hi there, what is the best way to insert an animation in HISE? via timer and filmstrip, Lottie or webview? I have animations with 300 photos.
      I tried the option from the following post, but only 60 frames run smoothly, everything above that isn't displayed correctly to me.

      Link Preview Image
      Animating a filmstrip with a knob

      There you go: Content.makeFrontInterface(600, 500); const var Panel1 = Content.getComponent("Panel1"); const var Knob1 = Content.getComponent("Knob1"); //...

      favicon

      Forum (forum.hise.audio)

      A clevername27C 2 Replies Last reply Reply Quote 0
      • A
        aaronventure @treynterrio
        last edited by

        On your road of animating in HISE you'll discover great many things. Here are my findings so far:

        • rasterised animations with a lot of frames are a RAM hog; the PNGs get uncompressed to raw bitmap data. You can safely estimate the RAM hit to he 4x the total size of your PNG files.
        • 128 frames for a small knob is more than enough
        • transition and passive animations are best done with a timer. don't go above 60fps. for smaller widgets, 30 is enough
        • you'll achieve the smoothest output by drawing vector graphics directly in HISE. that way you can be calculating the exact frametime using the Date.getSystemTimeMs() and applying corrections due to frametime inconsistencies
        • large areas with attempted high fps will still choke the message thread and will definitely act differently across systems and DAWs
        • webview sure, but your webview is always on top, so you cannot place any HISE widgets underneath it
        • if you NEED super smooth animations, your best bet is writing shaders with OpenGL. But that'll only work consistently on Windows
          *the fadeComponent() method is broken on mac and Windows as it occasionally fails and instantly changes the visibility instead of fading
        T 1 Reply Last reply Reply Quote 3
        • clevername27C
          clevername27 @treynterrio
          last edited by clevername27

          @aaronventure

          Well, obviously all of that.

          @treynterrio

          Can you tell us the context of the animation?

          I needed to tweak the HISE source code to remove the timer-limit to get smooth animations. (But don't do this.)

          d.healeyD 1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey @clevername27
            last edited by

            @clevername27 said in best way for animations in HISE:

            I needed to tweak the HISE source code to remove the timer-limit

            That might explain the issue you were having when running multiple plugin instances.

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

            clevername27C 1 Reply Last reply Reply Quote 1
            • clevername27C
              clevername27 @d.healey
              last edited by

              @d-healey Especially given Chris's explanation, yes.

              1 Reply Last reply Reply Quote 0
              • T
                treynterrio @aaronventure
                last edited by

                @aaronventure what about lottie animations? my animation has 500x500px and ~300 images

                d.healeyD 1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @treynterrio
                  last edited by

                  @treynterrio said in best way for animations in HISE:

                  500x500px and ~300 images

                  That will eat up RAM.

                  Lottie might be more efficient but it's a specialised skill set and you'll probably get better results creating vectors directly in HISE.

                  One thing to keep in mind with UIs in general is that once a user has setup the plugin in their project they will likely close the UI and rarely look at it again unless they need to adjust something.

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  Christoph HartC 1 Reply Last reply Reply Quote 0
                  • Christoph HartC
                    Christoph Hart @d.healey
                    last edited by

                    @d-healey yeah that depends on the plugin type. For orchestral projects sure, but synths and drum plugins are far more likely to be interacted with on a regular basis.

                    But I would also try to keep the footprint of the UI as low as possible - it's a bit ridiculous to optimize the streaming of the samples to the last byte and then load in hundreds of MB of filmstrip images.

                    T A 2 Replies Last reply Reply Quote 0
                    • T
                      treynterrio @Christoph Hart
                      last edited by

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • A
                        aaronventure @Christoph Hart
                        last edited by

                        @Christoph-Hart unless that's your whole thing (Softube for example)

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        18

                        Online

                        1.7k

                        Users

                        11.8k

                        Topics

                        102.8k

                        Posts