Forum
    • Categories
    • Register
    • Login

    Best practice for Real-Time Metering: How to pass dynamic peak values from RNBO to HISE UI?

    Scheduled Pinned Locked Moved General Questions
    2 Posts 2 Posters 20 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.
    • voxuer1V
      voxuer1
      last edited by

      Hi everyone,

      I'm trying to build a Peak Meter in HISE where the UI fader/progress bar is driven by dynamic values calculated inside an RNBO patch.

      I've been stuck for hours trying to bridge the gap between the RNBO C++ engine and the HISE UI Designer. My goal is simple: Read a real-time amplitude/peak value from RNBO and use it to animate a HISE component.

      I've explored these three avenues, but each seems to have a "dead end" in my current workflow:

      The Audio Out Way: I added extra out~ ports in RNBO (Channels 3+4) for the peak signal. My plan was to route these to a to_global_cable node in Scriptnode and read them via Globals.getValue() in the UI. However, I keep hitting "Channel Mismatch" errors or the extra pins simply don't show up in the Scriptnode UI.

      The Data Port Way: Has anyone successfully used RNBO outport messages to send data values directly to the HISE message stack?

      The Parameter Way: Can an RNBO param be updated internally by the RNBO logic (like a follower) and "push" that change back to the HISE parameter system so the UI can listen to it?

      If you have a working project with RNBO and a dancing VU-meter, could you please share the "Golden Path"? Is the to_global_cable via extra audio channels indeed the way to go, or is there a more efficient "scripting" way?

      Thanks for your help!

      Christoph HartC 1 Reply Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart @voxuer1
        last edited by

        @voxuer1 yes global_cable is the best way, mod output => global_cable in scriptnode, then register the callback with AsyncNotification, then it's automatically polled and just updated when the value changes.

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

        15

        Online

        2.3k

        Users

        13.7k

        Topics

        118.9k

        Posts