HISE Logo Forum
    • Categories
    • Register
    • Login

    Is it possible to get the Display Buffer into a Floating Tile?

    Scheduled Pinned Locked Moved Solved General Questions
    19 Posts 7 Posters 813 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.
    • Dan KorneffD
      Dan Korneff @ustk
      last edited by

      @ustk You're hired!

      Dan Korneff - Producer / Mixer / Audio Nerd

      1 Reply Last reply Reply Quote 2
      • Dan KorneffD
        Dan Korneff @Christoph Hart
        last edited by

        @Christoph-Hart I need to increase the buffer size to about twice what's available to the Plotter. Can I just change this:

        return SimpleRingBuffer::withinRange<4096, 32768 * 4>(v) && wasPowerOfTwo;
        

        to:

        return SimpleRingBuffer::withinRange<4096, 32768 * 8>(v) && wasPowerOfTwo;
        

        Or will this blow up??

        Dan Korneff - Producer / Mixer / Audio Nerd

        Dan KorneffD 1 Reply Last reply Reply Quote 0
        • Dan KorneffD
          Dan Korneff @Dan Korneff
          last edited by

          So far, no explosions

          Dan Korneff - Producer / Mixer / Audio Nerd

          ustkU JulesVJ 2 Replies Last reply Reply Quote 2
          • ustkU
            ustk @Dan Korneff
            last edited by

            @Dan-Korneff I imagine the only issue would be that a longer buffer would require more time to create a path, but if it can be noticeable I don't know :man_shrugging:

            Can't help pressing F5 in the forum...

            1 Reply Last reply Reply Quote 1
            • JulesVJ
              JulesV @Dan Korneff
              last edited by

              @Dan-Korneff @ustk It seems interesting. Can you guys share a basic fast snippet for this please?

              JulesVJ 1 Reply Last reply Reply Quote 0
              • JulesVJ
                JulesV @JulesV
                last edited by

                Bump please

                orangeO 1 Reply Last reply Reply Quote 0
                • orangeO
                  orange @JulesV
                  last edited by orange

                  @JulesV Here is a custom node example. After adding a display buffer to the custom node and compiling it, you need to open this node in HardcodedMasterFX and apply the following method. To get the look I wanted here, I had to keep the buffer length quite high, it's set to 65536 :)

                  The drawing process takes place in a timer object.

                  Pnlll2.gif

                  const var dp = Synth.getDisplayBufferSource("HardcodedMasterFX");
                  const var gr = dp.getDisplayBuffer(0);
                  
                  gr.setRingBufferProperties({
                  "BufferLength": 65536,
                  "NumChannels": 1
                  });
                  
                  const var Panel1 = Content.getComponent ("Panel1");
                  const var a = Panel1.getLocalBounds(0);
                  const var Cmpt = Engine.createTimerObject();
                  
                  Cmpt.setTimerCallback(function()
                  {	
                  	Panel1.setPaintRoutine(function(g)
                  	{
                  		g.setColour (this.get("bgColour"));
                  		g.fillRect(a);
                  		g.setColour(this.get("itemColour"));
                  		var p = gr.createPath(a, [0,1,0,-1], 1.0);
                  		g.fillPath(p, a);
                  	});
                  });
                  
                  Cmpt.startTimer(40);
                  
                  
                  LindonL 1 Reply Last reply Reply Quote 2
                  • LindonL
                    Lindon @orange
                    last edited by

                    @orange is there some reason you are declaring the paint routine in the timer and not outside it, then issuing a repaint in the timer?

                    HISE Development for hire.
                    www.channelrobot.com

                    orangeO 1 Reply Last reply Reply Quote 0
                    • orangeO
                      orange @Lindon
                      last edited by orange

                      @Lindon Not a specific reason, I just used the time object to refresh the paint.
                      If you have a better usage recommendation instead, I'm open to it.

                      LindonL 1 Reply Last reply Reply Quote 0
                      • LindonL
                        Lindon @orange
                        last edited by Lindon

                        @orange well clearly I havent tried it, but give this a go and see if it works?

                        const var dp = Synth.getDisplayBufferSource("HardcodedMasterFX");
                        const var gr = dp.getDisplayBuffer(0);
                        
                        gr.setRingBufferProperties({
                        "BufferLength": 65536,
                        "NumChannels": 1
                        });
                        
                        reg p;
                        const var Panel1 = Content.getComponent ("Panel1");
                        Panel1.setPaintRoutine(function(g)
                        {
                        	g.setColour (this.get("bgColour"));
                        	g.fillRect(a);
                        	g.setColour(this.get("itemColour"));
                        	p = gr.createPath(a, [0,1,0,-1], 1.0);
                        	g.fillPath(p, a);
                        });
                        
                        
                        
                        const var a = Panel1.getLocalBounds(0);
                        const var Cmpt = Engine.createTimerObject();
                        Cmpt.setTimerCallback(function()
                        {	
                        	Panel1.repaint()
                        });
                        
                        Cmpt.startTimer(40);
                        

                        HISE Development for hire.
                        www.channelrobot.com

                        orangeO 2 Replies Last reply Reply Quote 3
                        • orangeO
                          orange @Lindon
                          last edited by

                          @Lindon That’s better, thanks :)

                          LindonL 1 Reply Last reply Reply Quote 0
                          • orangeO
                            orange @Lindon
                            last edited by

                            This post is deleted!
                            1 Reply Last reply Reply Quote 0
                            • LindonL
                              Lindon @orange
                              last edited by

                              @orange glad that it worked...

                              HISE Development for hire.
                              www.channelrobot.com

                              JulesVJ 1 Reply Last reply Reply Quote 0
                              • JulesVJ
                                JulesV @Lindon
                                last edited by

                                @Lindon @orange Thank you for your help!

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

                                18

                                Online

                                1.8k

                                Users

                                12.0k

                                Topics

                                104.2k

                                Posts