Forum
    • Categories
    • Register
    • Login

    Recent commit to Processor.cpp breaking old project

    Scheduled Pinned Locked Moved Bug Reports
    22 Posts 3 Posters 833 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.
    • Christoph HartC
      Christoph Hart @David Healey
      last edited by

      @David-Healey hmm, works, your snippet didn't include a network with a Gain parameter though - can you load this one?

      HiseSnippet 1534.3ocuX80TabCDWmMBBNoYZloe.byzGb5jwXCDfYxzACF6T2veb4bnvST46jwpbmjm6zEvMMS62f9bdqeM5a7onO2OB4aP5Jo6ruCLDOdRiYFvRq1U+Vs69a2j1ABGZXnH.YUnyvATj0Cv1C4x906SXbTqcPVODuGITRCJZ1Z6gCHggTWjkU9Wn1vZw4P5OueysIdDtCc7VHzQBlCcWlOSNd2A0dIyyqIwk1g4m5zqVqkifWW3Ih.7jGWAMf3bN4L59D0wxgQeOIrOx5awqs9F8VsBsJwoR0UVaipqubkkojUd15qub0UVY8Uc6sV2JNarLxZ9FtLoHvVRjzPj0baKbGZ2WbA2bAGwBYc8npEUQ1vMa1tovyU4hpcQ06y7bam7PEh.qzd7yVdyy1Wg2i4xFs+3muuTKn3XMR+.ZkKK7xmAdUSCuJof2DfjUJHMmAROBa6DvFHGKQgm6iawgnYOBDmRCEyYQ49GKbcAbBtrrO4bZy.XwHMJsVkJOsH7qm77BEfXUnrnQulGW76JpSbJeFU1nWOpirziMxJ173GqN+RK80EeIWzsZrl5uCpkbcfh0E9CDbXQoGqkpzS+kxgJgbYfvqNwyqKjWTRv0hh2VcCvWCEdzxCBXfIRPVYUZpRLi6w3zh8h3NRlfWLqAJ4jb4Os3qIdQzmT3MEVbjQ..rkTFv5FIoYMcxwedg2VHks2WHoGvKosBHo30E0q2DkEiFOZvDEqpXBtKEKwi76RCR6CpCBYEYS0v2dpV5JAGSvI0AE7Vbl7fAT9sUefhinpzxXTAGUpSJeXbRosGykFfXPt2BXcX.oAbLav+9geeyqPup0NDIIwLfEgaY.MPxTNf0NzWCbKlb8Ew6PCOWJFnOabbD3z9nW5kioe1u1vQK9ierlOy00i1VDxTOviO1xWArgCrY+ZBV+q28t+dS+zLgmbkO4xzrfgQ85wfcv3htai7EtwP1g0k5gP2r1EXMDtQdDYVpDU5Vr.ElRW+ppQ4.VGllP9SF+xzBwGgayjN8mLFyMALBA2+OvXLq7WfMTQiA3b3lG+4iBt.NgoHl6cDi3j3dsN.+lFG2owg6u0tmZW+vVs6712z9vC9gF06bZyC1cmFG91C6SFDJbYgxkpKBnKkX+k1KxSx.+jyodpzjx+R3M59ke5p4mvS6ghHIie1dDfATkGuejuMzk1gFeiJBEqbpRey5Jp0pnqMk6pW7A3Srvpp0VwBqlHLEqwbSAqw75hgLjFvm6cEZJzEhC9BgrO3QWy.0D0PSEk0Owbk8u9sexTo7h3j4jtl5JNHp7BQv45zo3uirtmI2ITanS6cIZKOOwEJZNVbQFjCo2qsva3f9BNyQsk4DIgns7EQJNQSbZbE51dBmyMzYlPFLjUGBySUvZGEB77tGvsA6nmryJ+QzfP8ct.tRY3Gn.deMg1BMINPx1v1D3kAXBTsNfPDMnrynxuzdQ5J.yDdokprYxnfFbAtiulUGFDTkD2lD.ZASlnZFjyJeplClhQ0JfpIm5he.tU3QJoNDOzQl2c3gPcKlGasKLu5nXrejGJiyT.6C+srZ+ahZy4ua7ZkKM5PoftBpIqfWf8X7itdVwdjKu1dueS6r8fzerOmdgA1oOoxkV.aLPG5kxNB82gD0WC3Qeo3Wwco8fPkKfryLiZaG08EAhnA5E2352g1i.DN2X+shjB3oxP2e6tYAEnhqf+z6wPtc1HQiKgakS7R0VBBo6vBI.62s4yYbQyHHbpdXqvrKiK.Z4ljJLxQa4N9oGssPbtOQWaOaC1LWpAat+GiWL03GeSsL8a+zMWSoZ28bMtSLIQSQOxQVbpHoScotSm2.ybMIuIE7q8m0lH.gV.FGYdr9edZZztvGsivX6+ygSGROoVlGU1jQko2xTLX63tKiM5U+1L9noKmtqTfSFkBjGuabB.F2lv+7LxfOwIPbpiomqpr7d5c.zv0TyKh2SstX0a1pEdCXm53j0T2PwkmUEWYVUb0YUwmMqJt1rp35ypha7wUT8eZRbyDUJJzRncCMmokUCtg1FZ.i9ODdN.kA
      

      (the 300 extra bytes indicate that this includes an embedded network).

      David HealeyD 1 Reply Last reply Reply Quote 0
      • David HealeyD
        David Healey @Christoph Hart
        last edited by David Healey

        @Christoph-Hart said in Recent commit to Processor.cpp breaking old project:

        your snippet didn't include a network with a Gain parameter though

        You don't see this?

        71421f83-bdf5-4891-8008-b2d6ae021278-image.png

        With your snippet I see this:
        3e899213-f6a7-4270-8974-3bd29758fa06-image.png

        Free HISE Bootcamp Full Course for beginners.
        YouTube Channel - Public HISE tutorials
        My Patreon - HISE tutorials

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

          I saw it until I added a DspNetwork with a Gain parameter.

          I totally overlooked that you added UI controls to the script FX like only a madman would do... Why?

          Also the script FX doesn't contain a setForwardParametersToNetwork(false) (or whatever it's called) call so they are dead in the water anyways?

          What's your use case? I think there's a valid issue with the metadata system only looking in the DspNetwork to build up the parameter metadata list (so the fix would be to also check the UI controls in there.

          David HealeyD 1 Reply Last reply Reply Quote 0
          • David HealeyD
            David Healey @Christoph Hart
            last edited by

            @Christoph-Hart said in Recent commit to Processor.cpp breaking old project:

            I totally overlooked that you added UI controls to the script FX like only a madman would do... Why?

            Haha, I'm using the scripting side of script node :p I made this years ago, I didn't need any of that fancy node graph stuff.

            @Christoph-Hart said in Recent commit to Processor.cpp breaking old project:

            Also the script FX doesn't contain a setForwardParametersToNetwork(false) (or whatever it's called) call so they are dead in the water anyways?

            I don't know what that is, but the effect was working fine up until the latest commits. I'm not compiling it to a DLL, if that makes a difference.

            @Christoph-Hart said in Recent commit to Processor.cpp breaking old project:

            What's your use case?

            I wanted a simple gain that can handle multiple channels.

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - Public HISE tutorials
            My Patreon - HISE tutorials

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

              Did you use the actual processBlock method where you shuffled the buffers into a Libraries.load() module?

              Also the script is completely empty, all you're doing here is declaring some parameters in the XML.

              I wanted a simple gain that can handle multiple channels.

              If you were stuck with the "script" part in scriptnode, use that instead:

              HiseSnippet 1249.3ocuW8zSiaDEelDb1krzpcUaumaksBgBfS.odfPHv1nVfHbJp8Dch8jjQwdFK6w.oU8du0y6s9QnW6M9Nz9AoeCnuwyjDmD1.Dw1fDxu2ad9868+wshDtz3XQDBWr8vPJBulkyPtr+g8ILNpYCD9SsNgDKoQkzrpOLjDGS8PXb92oXfWcET5u+c+5DeB2kNgEBcgf4R+NV.SNgaXsuk46eLwi1lEj4z10Z5J3GJ7EI.dxaUFERbGP5QOknNVNKz2Ph6ivekkmcUJw11yktcWp8dU5r6N6rmaU6xdkqtMsR0tjxU10tqMBW3HOlTD4HIRZL7RqK7F5zWbMWafKXwrN9TEwVHGvxZ1nC6y78ZMJ3DiP3UZMITkWGp9bqSXdrw7mDxdcpfRSzHaPCmaQPZqm.jvYfzJZH8FKG2HVnbhDEddkUSNjA6RfbSVnnOKBeq0gB3.b4lAjAzii.hwJrd0xk2nD7u290cS3tRlfWRvOUHomwW+sE+khqV7WKVZVQc6duxTlIR36SitWwpxgnEo357jfNznMJcEwOgN9ff6OcLsviKl5p85LGTvaxYxyBoF5iE9dpXk544y.HSXCd56a1fHIpjhgGbtPZjjofCtA8JnMPmhV0pAMdfTDhPym+fJGgWhOQNc4jpQyH.hGSkCUIJdLSNLai3SnFq7BqwdrP7MVsXR292OFycOXDhTeLvnoy7SrNpaWpqbB.Ww53eXYaCK+jaCKZZCAap6+zjklACi5+9MqI05gQzPRDssnkOY35wjfPe54.D2nTGeg6.G1OSmuAITif5pSrtaeBmS8iWl9nBOSylPmKRjLduSHxH1MPB4zj.GXrtK8PC5PXKbAUKjltrhVUV3P4doD2A+LB2RQiMB2ZFgaqnyYDt8LB2QQm2HbmYDZqnWwHzdFgUTzVFgUFILSG+oT40hnAoU.lmQ3WpS2woI1K6dC5.eew0GJBBYl9BHsmxqkveXXeAm4pXoOwnfyAAhDvFF+ZRSU8QU.iBVv9v1DlupGyIIFlZ4cF2AdOoKgw4ufFEmZyWXUdS3Onm6TgGH5EGSbgz7vVDYeUyqZPHzoPi1zcbGSVuHaQqdYbVop24ns1ZbAtSfJJo1YqJeZQh.sfMJpgg4v4yLbT2+nnfoC4TFdMqlwWnj5R7QWnJPUJkZEcvN0EJnNZAqdJ3Nk27Jvahna1a1KqnwsQiECYbtr.DkA8P89XJvTmv3F.NZt1Od6IjalgGTCIog57VJu+38u+u12Y.8ZMvMbus2e9E0zdU5EqZSuQ1Vj9tfptq.3nroZ8gKqC0GfUO8shbR57tHQRXJwb1tAsKIwWNG+CRjh.nMOcBMJiWUbduBJBm0qp860dTd0O8YM968MCACDBYeXpvGv0JXkdevGkeYW698K6ZOfq7bjfVy5bZL0X5Oxoooq9vYbt0xTq776mvTmoaPN5Fvpbhelc7vdtFrXBrQv6C3lS4UOXnJKb+m6t6KuM81TbZ51qXykqLjlYYM8F2SONzn4kFWP0EhAAjzwzK2cz9edQFZQKxvKZQFZQKxvysHKf3FItzUee.Ur8kobfAb7zAkqBe1GPWZKzUyVDE.ebykttS+plSwsWVE2YYUzdYUrxxpX0kUwcWVE26gUT8smlg6p9DX1cqiRK7w3i35lUXcH5+.8tIYVB
              
              David HealeyD 2 Replies Last reply Reply Quote 0
              • David HealeyD
                David Healey @Christoph Hart
                last edited by

                @Christoph-Hart said in Recent commit to Processor.cpp breaking old project:

                Also the script is completely empty, all you're doing here is declaring some parameters in the XML.

                Not sure what you mean

                a3c8b145-6d2a-498c-8e9e-7cfb616e3c57-image.png

                c6710f15-5439-4161-8381-4a189005c274-image.png

                Free HISE Bootcamp Full Course for beginners.
                YouTube Channel - Public HISE tutorials
                My Patreon - HISE tutorials

                1 Reply Last reply Reply Quote 0
                • David HealeyD
                  David Healey @Christoph Hart
                  last edited by

                  @Christoph-Hart I saw some scriptnode related commits, do any of them solve this issue?

                  Free HISE Bootcamp Full Course for beginners.
                  YouTube Channel - Public HISE tutorials
                  My Patreon - HISE tutorials

                  1 Reply Last reply Reply Quote 0
                  • David HealeyD
                    David Healey
                    last edited by David Healey

                    I was able to recreate my 16 channel simple gain in scriptnode, not as elegant as my nice simple script though.

                    HiseSnippet 2252.3oc6ct0biaaEGGz1P1V16ljI4g9n5aNc15g2Dk3zGZVeq0Sq7pYkqadaGXRnULlhPCI0tqZm9d9XkOR8aPB.uHRQKIKhrwBSKzCdD3AGgCO3+A3mksD5GRbvQQjPfRyamMACTNFNXVP7nyGg7B.WeAP4kvdnnXbXqzKc1rInnHrKPQY2+B6BJGtGH4w+8OeFxGE3fKtD.bGwyA+28F6EWb09e2eyy2+JjK9Vuwk5s42csCI3bhOYJMd1EpBlfbd.8d7MHV21AB9qnnQ.k+.D4XnopZZ4ZbOBcuqts4PrgkkolwPaUSjMxR01R0TCnz3RWuXR3fXTLNh9hdFwc1fQjOFjN.24E4cuOl0PCLfNxoWFb9HOe294ImH.PYu9EopcSSUeCrmmq27qWjx9xDCsJ7nbRSYm0ERZ0HjTJER6kFReEbfSn2j3BKr34H30AzYvgH5bS4PIsu.keBdNg1gf3SGid.eUHswbGNwRU8Usn+3a+SCmF3D6QBZQBtgDieSvIeay+cyCa9eZ1ppogCWpM1vDR78wgK0LSNDtNGOIX536wgup0GP9Swy6H81ewbZiMKm5jdWWpijfqC7heyDbV6qH9trbE64OdF.jk1nO6eb8EnXDaRI6Zz9MAGF6wBGkKvefVFjNEcH7BbzCwjIzBgGM+QUND2o9n3EkSrBsLCz7wBygrIpfHu3YkKDqgFScsZrMMD+JXeuXmQKOF2YIwHMS8aQLlUY9B3kCGhchKBv8fW887VFpV6xvlYkgzwjM3Gm0r0Ueu1RK.+QXgXeRHdBJDeKouOZ1IQnwS7wukFiup089DmGF38uvOtBYRZHbFqGm3LBEDf8i3oPpwmoEm.ukLM1K388PwgdeBn76uY53Az00cvmmEc.EnxWxpgRaqxZyzECvAtIM9Y5iLiZr1JYF0pXTm0dmLi5ULZvZualQiJFMYs2KynYEisYsgYFaWwnEqciLiVUL1g0d+LicpXrKq8AYF6VwnMq8gYFsqlDRxJMyyBOJGkjWNJ2b0rjVRl43byUySZI4lWjatZlRKI67xbyUyUZI4muH277rUoEHuAG+QR3CIELYOGnb.q532A6M0O1K6kZfGSvmPVbGNLhsThx9PsSUOUE7ZeexGOmLdhW1hLIxvzKjqqd8XxT5.RK30rRcnOwe1jQj.OGVIWwRTmkWNkq7nzE2h77YqXMXZDcO.22DLf9JmfzvVw3FhK8Y6eExgVhLqOJdDakO1tHzvEGdpy7kaV48TQ0OqtIErYkclU30GER6Dcy3nz6VVLjiHkF1z6+wrbLCPRYWl8zjbRv1fEM6CGyF.vJC7TyKK1xccSG1CVXXSSHOQ9Z4CapsMcXgkF1Fv2+nQ8H5nFhO88qd7XlTepwamRyFT2m2hde2yK3N1ZozmB+iT3TpbsG5SYWBBYsGDimjp29FZaZeRdnYZqpoYQWN8A7GSCZfxWCaepottdG0NcL6R4ZUsAo2aIBiaweJ9VRxKNsB6CTNCVLvHKb7tG6Cd8zXxX5J3YjKWfGhnyhoACc+xkF1owXQLe.jEg0KrYcvPUS0f1Aa6tl1cT0xHPGLlPhGQ2QXEAeCXxuLP1f2.pyF5EB77KBd9S6GCeKNBmEGOUxegAew6fzqAJwFB.kTtGAGG8N5xMrqrf78qggoamdZQGVlLt7KPcjxKKh1mEQGjV9qwyRGE9VBhdSKn2oTZ4fjhScKdJo03ujdegpjthBZogoHVBCd9yn7WstxJyTwTGdTfc9eEEXkMUjZvmCM3SsJcw9Ft3mXeirNrx8Mxr+qceijHpI7GlvnYCqrywKg+fazjSyLtzXojq0pvYmRSxvhI4FzI4JSwr1rfDB6iB1bVoFqVjCgVKHaJFiFv2N0GCVXrqxDns4y5IuYCrVyn2vo5rqitiY0AMWGQ+kgKMUbXJJsl8yMGd5xeFOy6ZKAwkf3+pAweQAGsloffheXFNcaAfE2n6+WSBIYw2lr3YRv1RXbILt.Bi+hBV50t2wyIN9Q4L05FRdbAgGu61gG2jmkM0k73RdbAgG2Pv3wMEAdbaIOtjGe6xiaH4wk73BNOtgvwiqK4wEDd7NaGdbtdaLLj73RdbAgGWWv3wMD.dbSUIOtjGe6xiqI4wk73BNOttvwiK++UQT3ws1N73b8eYpojGWxiKH73ZBFOttHviqI4wk73aUdbcaIOtjGWv4w0DNdbUIOtfvi2d6viqyyxlsk73RdbAgGWUv3wEgOKml5RdbIO91kGW9g4TxiK573phFOd0OEgRd7sFOt4yMOd1eWQtdCxsj.4Rf7sHP9wEzz1BFOtpHviaH4wk73aWdb4mmSIOtHxiebALssvgi2UhiKH33FaIb7m62FCINtDG+yINdWw5a5PaQfF2TRiKow2tz3xOMmRZbAmFuqvQi2QRiuMnwW8rzJWtoYoEC9suJoGws7oZykehFCAH+RmVFTgvEdQn68oyLKlwny80plJ4.HI.mbdOj7ExdQyLViqcm+cj97LR50RRGfk5P9m6z55gYs8ncs8vp1dnWCOl+m8n1tzY4tTUFtO7e54RWuP30gKDJOknbyzg4bC0N21t9tXTeWzpsK5102k5e6qW+aecimTMl8mkH+T75I2V4yibJg.pqpcacKCqNZc6XZaugpmR6dtv8V5dcKOaT9qBMNbRmGm3J7T4vIMadbpKON0YoNwy12mQHOLFkbzvv2wn0y7QMDXcG0PJq6nFBrtiZHk0cTCAV2QMjx5Npg.q6nFRYsG0Pf0eTCor9iZHv5OpgTV+QMDX8G0PJO9nFZLxIj7Nmzy2Jl7qUxUnqMEjfZeHrGqcKMvGRkdEGEYi8b8dmiyhuTOxQcdczfWGM40w175nEuN1gWG6xqi100wl4B.Ut8TiaO041SCt8zjaOaysmVb6YGt8rK2dxsFRmaMjN2ZHct0P5bqgz4VCoysFRmaMjN2ZHct0P5bqgL3VCYvsFxXCzPryt1r2mHF7G.zq+kITYJJWFjxxqnrK3W.XAYbxE
                    

                    Edit: I just found a real downside to using scriptnode for this purpose. If I have a project with less than 16 channels then it won't process any of them.

                    With my scripted version the number of channels is passed in the process block so I can work with it dynamically.

                    Is my only solution with the scriptnode version to create a separate effect for each channel configuration?

                    Free HISE Bootcamp Full Course for beginners.
                    YouTube Channel - Public HISE tutorials
                    My Patreon - HISE tutorials

                    ustkU 3 Replies Last reply Reply Quote 0
                    • ustkU
                      ustk @David Healey
                      last edited by

                      @David-Healey A compilable third party node should be able to do it when loaded into an hardcoded FX. This is theory though, I've never done this...
                      this way you could do it in C++

                      Hise made me an F5 dude, any other app just suffers...

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

                        @David-Healey Just tried by curiosity but it's still half dynamic, because you still have to hard code the number of channel (getFixChannelAmount) and recompile the DLL...

                        Weird there's no way to get the hardcoded FX to actually fix the number of channel in the function parameter, @Christoph-Hart?

                        // ==================================| Third Party Node Template |==================================
                        
                        #pragma once
                        #include <JuceHeader.h>
                        
                        namespace project
                        {
                        using namespace juce;
                        using namespace hise;
                        using namespace scriptnode;
                        
                        // ==========================| The node class with all required callbacks |==========================
                        
                        template <int NV> struct MultiChannelThirdPartyGain_custom_node: public data::base
                        {
                        	// Metadata Definitions ------------------------------------------------------------------------
                        	
                        	SNEX_NODE(MultiChannelThirdPartyGain_custom_node);
                        	
                        	struct MetadataClass
                        	{
                        		SN_NODE_ID("MultiChannelThirdPartyGain_custom_node");
                        	};
                        	
                        	// set to true if you want this node to have a modulation dragger
                        	static constexpr bool isModNode() { return false; };
                        	static constexpr bool isPolyphonic() { return NV > 1; };
                        	// set to true if your node produces a tail
                        	static constexpr bool hasTail() { return false; };
                        	// set to true if your doesn't generate sound from silence and can be suspended when the input signal is silent
                        	static constexpr bool isSuspendedOnSilence() { return false; };
                        	// Undefine this method if you want a dynamic channel count
                        	static constexpr int getFixChannelAmount() { return 6; };
                        	
                        	// Define the amount and types of external data slots you want to use
                        	static constexpr int NumTables = 0;
                        	static constexpr int NumSliderPacks = 0;
                        	static constexpr int NumAudioFiles = 0;
                        	static constexpr int NumFilters = 0;
                        	static constexpr int NumDisplayBuffers = 0;
                        	
                        	// Scriptnode Callbacks ------------------------------------------------------------------------
                        	
                        	void prepare(PrepareSpecs specs)
                        	{
                        		
                        	}
                        	
                        	void reset()
                        	{
                        		
                        	}
                        	
                        	void handleHiseEvent(HiseEvent& e)
                        	{
                        		
                        	}
                        	
                        	template <typename T> void process(T& data)
                        	{
                        		auto gainFactor = Decibels::decibelsToGain(gain);
                        
                        		for (auto ch : data)
                        		{
                        			auto block = data.toChannelData(ch);
                        			for (auto& s : block)
                        				s *= gainFactor;
                        		}
                        	}
                        
                        	template <typename T> void processFrame(T& data)
                        	{
                        		auto gainFactor = Decibels::decibelsToGain(gain);
                        
                        		for (auto& s : data)
                        			s *= gainFactor;
                        	}
                        	
                        	int handleModulation(double& value)
                        	{
                        		
                        		return 0;
                        		
                        	}
                        	
                        	void setExternalData(const ExternalData& data, int index)
                        	{
                        		
                        	}
                        	// Parameter Functions -------------------------------------------------------------------------
                        	
                        	template <int P> void setParameter(double v)
                        	{
                        		if (P == 0)
                        		{
                        			gain = (float)v;
                        		}
                        		
                        	}
                        	
                        	void createParameters(ParameterDataList& data)
                        	{
                        		{
                        			parameter::data p("Gain", { -100.0, 0.0, 0.1 });
                        			registerCallback<0>(p);
                        			p.setDefaultValue(0.0);
                        			p.setSkewForCentre(-12.0);
                        			data.add(std::move(p));
                        		}
                        	}
                        
                        	float gain = 0.0f;
                        };
                        }
                        
                        
                        
                        

                        Hise made me an F5 dude, any other app just suffers...

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

                          @David-Healey Oh... Didn't see you opened a thread precisely for that matter...
                          https://forum.hise.audio/topic/14770/compiled-network-fixed-channel-count

                          Hise made me an F5 dude, any other app just suffers...

                          David HealeyD 1 Reply Last reply Reply Quote 1
                          • David HealeyD
                            David Healey @ustk
                            last edited by

                            @ustk Yeah I'd rather avoid the c++ route (I'd rather avoid scriptnode too) but my preferred method is broken in the latest version of HISE and the fix requires more than Claude so I'm looking for the simplest alternative. It has to work with expansions so it's a bit of an edge case too.

                            Free HISE Bootcamp Full Course for beginners.
                            YouTube Channel - Public HISE tutorials
                            My Patreon - HISE tutorials

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

                            21

                            Online

                            2.3k

                            Users

                            13.7k

                            Topics

                            119.2k

                            Posts