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 @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

                              24

                              Online

                              1.8k

                              Users

                              12.0k

                              Topics

                              104.2k

                              Posts