Forum

    • Register
    • Login
    • Search
    • Categories

    RAW Panel

    C++ Development
    2
    8
    178
    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.
    • ustk
      ustk last edited by ustk

      Hi there,

      @Christoph-Hart Is there a way to create a RAW panel? The idea behind this is to monitor scriptnode parameters without using a timer (it's not accurate when drawing precise shapes and I encountered many crashes in different projects using this method with complex drawings)
      So I'd like to animate a panel using a listener. Actually, it's apparently only possible to replace the whole interface or nothing, but I might be wrong...

      I cannot help pressing F5 in the forum...
      Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

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

        You can create a custom component and load that as ExternalFloatingTile in the compiled plugin and still use the scripted interface around it.

        https://github.com/christophhart/hise_tutorial/tree/master/ExternalFloatingTileTest

        I just fixed the example, it should compile against the latest scriptnode branch.

        How do you want to display the parameter? If you can somehow turn it into a signal, you could add a core.peak node and then grab its output as it will create a nice ringbuffer with the entire signal.

        ustk 2 Replies Last reply Reply Quote 0
        • ustk
          ustk @Christoph Hart last edited by

          @Christoph-Hart oh yes I was almost certain a solution existed and forgot for that floating tile ! ๐Ÿ™ƒ
          Yes I already grab a peak node through a parameter at the moment (have a look at the lfo section of my project when you'll be able to open it) but I read it from a timer. It's nice enough for a meter like visualization but not for a realtime lfo plotter like the one I recreated for higher ratesโ€ฆ the drawing involved is too cpu greedy, so I'll try a c++ tile โ˜บ

          I cannot help pressing F5 in the forum...
          Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

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

            @Christoph-Hart I understand how it works step by step, but I am not able to make the connection for a ScripFX (DSP graph)

            hise::raw::UIConnection::Slider<ScriptFX::myParameter> Connection;
            

            Throws:

            โŒ  /Users/greg/Documents/_PROGRAMMING/_GREG_ExternalFloatingTileTest/AdditionalSourceCode/ExternalFloatingTileDemo.cpp:80:34:
            "use of undeclared identifier 'ScriptFX'"
            
                    hise::raw::UIConnection::Slider<ScriptFX::myParameter> Connection;
                                                    ^
            

            What would be the identifier of a ScriptFX type module?
            I tried many things around JavascriptMasterEffect and scriptFxProcessor, but in this case, it is the parameter member that is not known...
            Something tells me that JavascriptMasterEffect is the way to go but the DSP parameters don't link at the moment I am right?

            The next step is a unidirectional connection...

            I cannot help pressing F5 in the forum...
            Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

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

              The template parameter just needs to be an integer, so this is a rare case of where you actually need to use a magic number, so just use the index of your scriptnode parameter (starting with 0 of course)

              ustk 1 Reply Last reply Reply Quote 0
              • Christoph Hart
                Christoph Hart last edited by

                Oh and for an unidirectional connection, use a raw::Reference:

                https://docs.hise.audio/cpp_api/raw/classhise_1_1raw_1_1_reference.html

                The example in there should translate to your use case pretty fine.

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

                  @Christoph-Hart Well I must have done something wrong because I get:

                  โŒ  /Users/greg/Documents/_PROGRAMMING/_GREG_ExternalFloatingTileTest/AdditionalSourceCode/ExternalFloatingTileDemo.cpp:81:64:
                  "expected unqualified-id"
                  
                          hise::raw::UIConnection::Slider<hise::JavascriptMasterEffect::0> lfoConnection;
                  

                  I cannot help pressing F5 in the forum...
                  Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

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

                    @Christoph-Hart Ok so I went a bit further by using the parameter index only:

                    hise::raw::UIConnection::Slider<0> lfoConnection;
                    

                    But the slider is updating only when changing the frequency parameter of the DSP:

                    rawtest.gif

                    I don't know if it's related but there's no unidirectional connection yet (I'm struggling with that too ๐Ÿ™„ )

                    EDIT:
                    the finality would be to draw anything in the panel base on the listened value. But since the UIConnection offers Slider and buttons like component only (I tried a VuMeter but creating my own class is too hard), I have no idea how to simply paint in the panel based on a unidirectional value without a concrete example to be honest...

                    I cannot help pressing F5 in the forum...
                    Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

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

                    18
                    Online

                    977
                    Users

                    6.6k
                    Topics

                    60.6k
                    Posts