HISE Logo Forum
    • Categories
    • Register
    • Login

    Stock Table Upgrade?

    Scheduled Pinned Locked Moved General Questions
    37 Posts 8 Posters 138 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.
    • DanHD
      DanH @griffinboy
      last edited by

      @griffinboy yeah that's why I think the stock table needs the upgrade to avoid compatibility issues. The table is so crucial to so many bits of hise

      DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
      https://dhplugins.com/ | https://dcbreaks.com/
      London, UK

      1 Reply Last reply Reply Quote 0
      • HISEnbergH
        HISEnberg @griffinboy
        last edited by

        @griffinboy Is it your own custom floating tile or is this something you achieved in HISEscript?

        Sonic Architect && Software Mercenary

        griffinboyG 1 Reply Last reply Reply Quote 0
        • griffinboyG
          griffinboy @HISEnberg
          last edited by griffinboy

          @HISEnberg

          4db2d7f4-3ba9-4f43-8b40-b2fb1b13027e-image.png

          It's hisescript.
          Currently only integrated for custom c++ projects with my custom modulation source.

          ustkU 1 Reply Last reply Reply Quote 1
          • ustkU
            ustk @griffinboy
            last edited by

            @griffinboy @DanH in fact I’m doing exactly the same, custom panel tied up to C++ nodes.

            Hise made me an F5 dude, browser just suffers...

            HISEnbergH 1 Reply Last reply Reply Quote 1
            • dannytaurusD
              dannytaurus
              last edited by

              I expect we all want slightly different sets of interactions with tables. I wonder if we can expose them as project settings, so we can all have what we want in our own plugins?

              I think (so far 😜) my preference would be:

              Table points: left-click to add, left drag to move, double left-click to remove
              Lines: left drag to bend (only within the current line boundaries), double- left-click to reset

              The current method of left-click-and-drag to both add a point and position it in one motion is nice, but I'd happily give that up for a two-step click-to-add then drag-to-move system if it means not dealing with right clicks.

              Although I do quite like the idea of double left-click to both add and remove points, as @DanH mentions above.

              I would also want (as noted above) dragging curves to be restricted to the current line segment only. Currently if I drag a curve up/down then move my cursor left-right if starting bending neighbour curves. Feels very weird.

              Meat Beats: https://meatbeats.com
              Klippr Video: https://klippr.video

              ustkU 1 Reply Last reply Reply Quote 0
              • Oli UllmannO
                Oli Ullmann
                last edited by Oli Ullmann

                @DanH
                @griffinboy
                @HISEnberg
                @ustk
                Please do not change the mouse behavior of the current table (left click, right click, double click, etc.). That would not only break my project but certainly many others as well.

                It would be better to create a new one, a Flex Table, like @Christoph-Hart did with the Flex Envelope. :-)

                DanHD griffinboyG 2 Replies Last reply Reply Quote 3
                • DanHD
                  DanH @Oli Ullmann
                  last edited by

                  @Oli-Ullmann yes backwards compatibility is the main issue here. The table is everywhere in Hise. Perhaps the existing table can have a switch to choose between types of table, 0 for the stock Hise table, 1 for the new 'flex' table or whatever...

                  DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                  https://dhplugins.com/ | https://dcbreaks.com/
                  London, UK

                  1 Reply Last reply Reply Quote 0
                  • griffinboyG
                    griffinboy @Oli Ullmann
                    last edited by

                    @Oli-Ullmann

                    Indeed, that's my thinking. It would be nice for table 2.0!

                    Although, I'm likely to do it custom no matter what, as is my preference for high control!

                    1 Reply Last reply Reply Quote 0
                    • ustkU
                      ustk @dannytaurus
                      last edited by

                      @dannytaurus said in Stock Table Upgrade?:

                      I expect we all want slightly different sets of interactions with tables

                      Yes that's why I went for panel, if you need more behaviour like smoothing or different cubic/quadratic splines.

                      Hise made me an F5 dude, browser just suffers...

                      1 Reply Last reply Reply Quote 1
                      • HISEnbergH
                        HISEnberg @ustk
                        last edited by

                        @ustk Are you controlling the table with a panel in your case? I didn't know that was possible. If you are then it sounds like the simplest solution for a Table 2.0 just exists in HISEscript + a bit of math.

                        This article peaked my interest however!

                        https://signalsmith-audio.co.uk/writing/2021/monotonic-smooth-interpolation/

                        Sonic Architect && Software Mercenary

                        ustkU 2 Replies Last reply Reply Quote 2
                        • ustkU
                          ustk @HISEnberg
                          last edited by

                          @HISEnberg You could, but there's no point interfacing a table when your panel addresses everything already. I just send the data to C++ node.
                          That being said, the panel is quite a beast...

                          Hise made me an F5 dude, browser just suffers...

                          griffinboyG 1 Reply Last reply Reply Quote 0
                          • griffinboyG
                            griffinboy @ustk
                            last edited by griffinboy

                            @ustk

                            Idk if you have used a different strategy, but the way I'm doing it, is sending only the control points and tensions into c++
                            Since the GUI code only contructs the graph at the resolution it needs to for each segment, there is no point calculating a high resolution graph on the hise side of things.

                            The c++ then constructs the actual modulation shape in high resolution to be used for audio processing.

                            ustkU 1 Reply Last reply Reply Quote 1
                            • ustkU
                              ustk @HISEnberg
                              last edited by

                              @HISEnberg Yep this article is nice. In the end it all depends on the interaction you want with the curve, because there would be as many spline constructions as desired interactions... I needed mine with curve passing through the points, and no possible overshoot on the y axis (when 2 points have same x, it's forbidden for the curve to pass those points (like in standard table) which isn't possible with standard cubic unless all control points are permanently resizing to follow their neighbours

                              Hise made me an F5 dude, browser just suffers...

                              1 Reply Last reply Reply Quote 1
                              • ustkU
                                ustk @griffinboy
                                last edited by ustk

                                @griffinboy Yeah same here šŸ‘
                                I just send the nodes and tension information (called smoothing here) to C++ and build the curve in there...
                                We should have worked together on this lol šŸ˜†

                                Hise made me an F5 dude, browser just suffers...

                                griffinboyG 1 Reply Last reply Reply Quote 1
                                • griffinboyG
                                  griffinboy @ustk
                                  last edited by

                                  @ustk

                                  haha indeed, we have the same system.

                                  HISEnbergH 1 Reply Last reply Reply Quote 0
                                  • HISEnbergH
                                    HISEnberg @griffinboy
                                    last edited by

                                    @griffinboy @ustk Thanks for sharing! I think I am going to build my own system now and we can see who has the smoothest curves 😁

                                    Sonic Architect && Software Mercenary

                                    ustkU 1 Reply Last reply Reply Quote 2
                                    • ustkU
                                      ustk @HISEnberg
                                      last edited by

                                      @HISEnberg sick! a contest! You have to know mine is as smooth as baby skin... šŸ˜‚

                                      Hise made me an F5 dude, browser just suffers...

                                      griffinboyG 1 Reply Last reply Reply Quote 1
                                      • griffinboyG
                                        griffinboy @ustk
                                        last edited by griffinboy

                                        @ustk @HISEnberg

                                        jokingly
                                        If we make this a contest, I'll just be putting my table through my super strong antialiasing resampler. Can't beat antialised tables...

                                        That said, we could probably pump out a hell of a table, if we pooled our resources lol

                                        1 Reply Last reply Reply Quote 2
                                        • ustkU ustk referenced this topic
                                        • Oli UllmannO
                                          Oli Ullmann
                                          last edited by

                                          Here's some info for you that I noticed recently:
                                          If you use the content callback of a table as follows:

                                          Table.setContentCallback(tableCallback);
                                          
                                          inline function tableCallback(i)
                                          {
                                          	// Your code
                                          }
                                          

                                          i returns the index of the point that you control from outside, for example from a panel or a slider.
                                          This was very useful for my use case.

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

                                            Another issue is only being able to move points by a pixel at a time. This came up a few weeks ago and is apparently a Juce issue but it's a very poor resolution by modern standards so would love to investigate further.

                                            What's that?

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

                                            12

                                            Online

                                            2.0k

                                            Users

                                            12.8k

                                            Topics

                                            111.4k

                                            Posts