HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. Orvillain
    3. Posts
    • Profile
    • Following 1
    • Followers 0
    • Topics 61
    • Posts 477
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: Roadmap to HISE 5
      HiseSnippet 1259.3oc6X0sSabDEdVfkFHMnRBpppRUZunWPphprAiCndAFL+TqD.KVGZTuIcX2yZOx6Ny1YmkhSTuqOO8UH8QnuB8Mf2f1yrqs20fCwrpIzTEeAh4Lmyb9N+eraJENPTjPRLluUuPfX7ol183pN06PYbRicHFKXd.MRARqTRa2KjFEAtDCio2WSvXtYHIetXyso9TtCjQhPNQvbfmxBXpLpMq8Dlu+dTWnEKHG2Up0vQvqK7EwHdl1rDIj5zk1FNjpYaJSx2Si5PL9Fy0VYUmJtO1ckUVaipNzpvFdTOuxq5VoR002n7paPqrdUnzZDiY20koDRaEUAQ3itsvsmcGwuvSUvIrH1o9f9PYhMp4Txj5cX9tMG3bhH3C0LyUMcpqZIyCXtrgzybYeVxEVYRj2oYL00Aox2.HYjCRyjBoEMscjrPU1MZ7bWyFbLB5QwXSdnjxKw3OLqKPF3puMf1E1ShGFJvxUKU5QV3ed324EycTLA2RvOTnfi3K+v4e07yM+uNu0kuxyar2oUiT36CxwdsNcPdcBtLON3TP9Hqyn9wvPFQyeTe5rSlO0I0pywnf2fyTGEB8Oumv2U6qz++Ui.j9tMcrnOBQVUIQhE5GIr8YtfjvvG4SLeBWbZYRB3yWjPdVicnJ5fmAeQTKgfTwzFiwNvYXQTZ.dNycfntJQXBuAgBtV+F26spzyyTX2Z8Fd3mZWKR0S6ZlMgQR.y00GZJhXZWetp6WiMABsYuLA4uZoee++5k+1lA4a.PHAzyy2OHJ1yicdRkqGyOHRgXqQ.VPSLtu4yh.KWviF6qrh5huiOi2EbaIR3OfhLedKprMnZflgo4AsdN153JY7XslvM1mpFs.T2Zp+EZyHeVuN0lilWu7P8FTUV5ZqJmTHtnYSlxoy3w3TiAiX1w6BL1uW18L20yCbTY.bFy8ddQabM4pegT0eWSaFGRl7jn7OO4r0OPOCr1G3fT67JeMCe9yIc3S3DO74HGEp9VRJOJTDMxCaCArVXoWTdhXB8dR3mOVGMySutfJG6UWr4dnQNVYropXYRZwVAhXtZjzfoGMNLyj0razJhb7OlIKybKLr6emxpawJ+QlGO2.LZyBB8gc4mA9XK8DLderGdReuATGMw9.AWD1QvYN4i5GCXCw1sAYdrOVCZKkBWaJixR0NF7AZ9L3ut1SwLOpD8SPA8E27cSFa75KLSgqktZz5C2N1S+tsiswTMuxl5KhKlqGRNDpIn7A8oZMjbgyt1lEJ7ox237n5wQJQP1z4St7dM1ABgpCi2dzVsMpc4VXENOKUmGS43NEDMLCiUomLLu9cSZf0dRUpOI+lMCXuEbtBWFKgIodfzgBY.0G4xsIHcvstz6wPNJV8lT4Eu9FpRb.B1JcvpWaE8ifTn4kT7X+JeL1++mX+swpZGKhUXPLMuBsxCiCrwMjb.T6bN3iOtowT5DhzykzmSWQh6lb3uwO8urr9rQ+KKO3x7l3cRMwuzbeewoT+rtv3WKBsVHMO+q5ecVdt0PFdOuj3k+lmEeh4Gt6b8fqDNh9336+S8EtdeTEm93o+NFuWTX.0QJdgS5u6htB5NITPm.O42KbNbZHd1ZL+fKAX0yKbbF8othfqTTAWsnBVonBtVQErZQE7wEUv0e6BpatsULteQZcJgbPycSRrLL1kSwT9jxCx+.b.nJz.
      

      Quick snippet for multiple matrix modulators linked to a single knob. It works on MacOS. The UI knob controls the two matrix modulators, both given the id 'MTX'.

      I tried this on Windows earlier, and it didn't work. Possibly I screwed something up. If anyone here is on Windows and could try this with the latest development and let me know, I'd be grateful. Otherwise I'll check it tomorrow!

      posted in General Questions
      OrvillainO
      Orvillain
    • RE: How to modulate a network parameter

      @DanH Yesterday! 😂

      posted in ScriptNode
      OrvillainO
      Orvillain
    • RE: A very basic 101 phaser network

      @DanH I think spread can be achieved by adding a split container after this "mono" phaser... and letting the signal through in the left half of the split (just add a gain there) and in the right... add a delay, and set the delay time to sub 20ms.

      That'd be a nasty way to do it anyway!

      I'm just now learning how to use the clone stuff, so there may be a better way.

      posted in ScriptNode
      OrvillainO
      Orvillain
    • RE: A very basic 101 phaser network

      @DanH I think when you go to insert a node, it should just show up at the top of the list.....

      6c15ee23-46cd-4b26-baea-f9f4c2d7892f-image.png

      Note the clipboard icon on the left hand side.

      posted in ScriptNode
      OrvillainO
      Orvillain
    • A very basic 101 phaser network
      ScriptNode1964.3oc6c18TaiCD.WApBPgRuNzo2q7v8ZyXI+8isvQGd.NtlN28Hiahf3oN14bbJj6u9aksiikwNINM8HIixzghi9Z0pc2eqzLXccPWFpQyKb5DEDN9FmndnFuA2IvOxw0mE1pSO3+QWdNpw93a54LjEh933ANCGx5hZrKVAcsSeVtBuF5uyB7BFEhZfaffOmEzuOyOB0XGLzBd4CQnFMtNdf2i2yuD2Mb7sOvhHnJkigC7biPs6E7vMNgvPFwBGxE.hvHdDViZYQ0TsH5kJmGLYnpPr1IQrZNUrFvEk4ndJajx05EUmrSNcxqmHn2128QPuJHA+RrDDF305w6b5VwRRwdnR8zEAdcSZJoffcSXv.VXjahzk9zX3WSjvqG0O2hwe43Mhw6EJBUnpMwWwmYo03.7e7cVnmy.Dp8CtQc58Emv6YQwiQ9ufakbVfuOqSjaf+PwGS0VW1chl9d9BQl3v+9l3Ow+Nzx0mbEW08Yt4MzEYOAquW45mNOwXkVJnqbdL6YB7LWerGN4q9vnnf9NQbkeicOmcmyHuHgFidhWRrHIXLbHXLDxZc+rMDiKt9l.6HLQ2M2DcuoSz8wumnTbtxetcDaPa2+Ed9svyPch+PzrUHDCBp82XOjLUPMNAq2RiRolJllZVZDUEaThoSrBe9ZpxEshqA6i4RQ8DMdETUHJpPErsszrMUHwx1g318CBh545e+Da6lXJu2EkvzuD8+u16H7mYCYoxgPmWtNLm+tfItPIf8tn68Q3KG9W7R633MYTZrCRHTJ2cZ4Ckl05EMT5KxM3Gf8CfXfccEG6SxM1SpP4HiIktLrsiwe0cPfmS3s8C5Vfu81bR.TZhBnLDWYh0qx2wKrngyoWNBCs71gt26CKayYYIq29M7YgLvQ7TmSSZ4oekE8.i4epRqVsHm1iExJUdEFsmJtOQ6EKhuBGLriqmmCHakjb.D1aZ4Unkx2AySKAOMvi834NQNbA4bWHqCmwebzc2kFnW3afmuzuK6QvZCbgKvDZlyYu4rXBZBd5SYDhLyY4zVYfORtAJMFTMC6Qo11JZ5FTpplkokdZXuKBY+yHlemwkGnKWvZt0KpJUAQPUzDSLpPWbT7Hd5mc.JMRn4E0HjBZjlyCGWtp+SfzWuAZA49wYIOomeCWCqaSAphghspo9bWfWnQIEYVlD+jUleBA72KIlK3oS4QlDbZOFCiduVYkkKsixC8NolywycmUS9X0jPlKP0d3ALmuQJMyLdIkN8lzn4L4dADHXjG212eZlxkm15ASfBhYsNY9gVcA3pTSLUDJAov2xxjhKeAeRoyKT8hqSNFOnuysi7GBFqvnUthoxzbWQ4yWUPolfhsxNsMWhKXGBS9zeiGeVWSyhpXonXZQn5PZoBRvLBDpKLjTdfvBg9MfbHo1lFVJV5Zl1loxzmb522YQBMVg4QgUCAaj2kYiHTmxLTJzMqNqkWi63E3yt8tfvGbB+4ZtrPQnWn9derdx1ZRR19JnWcG3MFkULUwPodTrYXYhwena2YaCL6sSjKd8OjJapy.GkpZppA9.15pfuPw84W+Y4g3K8iX9CciFW4vlT6mLTKA6bUtaqh1vBNY+ZlSlXkJ+HjDqypyM6kXGOO9.ZK5gkO2xpMYVtrHOjefUmwmPCmtccBs9I2URd0yxsl2fYl3UxR29I8QrFeFaGKt3xylHoL9FHSmkwi07NyzYscwiD1KVhwPmdtdcWlswK1AO4rnLsolZZZKzAylY7TPLty0iOIakVdEmlPVqq49AuHo2m9qK7N.yswrSvPDpVDJ7yzePEBjald9T0cmXeg8XzWBh6Fvi66fwEefqduZYmD1hsasShODrjcKR3aYgZmSrOAa2xxl+wfXoqpPMUe5LvPyj.4oXppXnSrLhmA6h+SzTESKEMJDEWWE9mgIUsNNl6Aq.VECEXItknZsY54u0wk7LBeGu2TrS9XZZ.ovoaQKHOUTokXyf0+XDVpMMe.928c9JOYrkJ4v8Rh9wOlZi5c91YMJ2lIq01Ee9NU6rL4eOTM9BsktMwRSgZXhjGx8l1gbebd9F4YkPd3DFmJUhH+wQjYxErK6VlllVJ15fOJrfHwkRb4yFtb+XxG0VxKk7xMcdIcMgWpJ4kRdojWtEyKUUj7RIubSmWptlvK0j7RIuTxK2l4kDIuTxK2z4kZqI7RcIuTxKk7xsYdIUxKk7xMcdo9ZBuzPxKk7RIubalWpJ4kRd4lNuzXMgWZJ4kRdojWtMyK0j7RIubSmWZtlvKsj7RIuTxK2l4k5RdojWtoyKsVS3kx+jKk7RIubqlWJ+6uTxK234k1qG7RMEIuTxKk7xsYdoojWJ4kaf7xWK79JPYMAXRj.SIvTBL2lAlVRfoDXtwCLWSdC+nIeC+HAlRf4VMvT9F9QBL2X.lKyas2WfIzU76r2Y5yRqvm8U3176Yr1I2RIyTyQKp4VhaIgb2xT07JcJqcxqzIou8yjucseu2uO97vw+MKZlWoAZ1FFP9RfJARxS0zXAuv1Jda2Mm2a+outsah+L+ld4m90lS9qrgzFqaannYnU7NeINouBce4Y0x8kWHUi3cfzB75VGTCIuMdOmM.BGMuk14ldyOrXlcq6sRMl+Ojuka6C
      

      In theory you should be able to copy this and insert it into a new network. It is a very basic phaser circuit, using clones to create the stages. I've chosen 12 here, but you can quite easily modify it to be 3, 6, 9, etc.

      Any tips on improving it - I'm all ears!!

      posted in ScriptNode
      OrvillainO
      Orvillain
    • RE: Drift.... and how to design it....

      @Lindon d6c4b1cd-95ad-45fe-b286-5bc0209153e3-image.png

      This creates a per-voice random value between 0.0 and 1.0.

      posted in General Questions
      OrvillainO
      Orvillain
    • RE: Drift.... and how to design it....

      @Lindon https://forum.hise.audio/topic/8527/polyphonic-lfo-2023

      I found this thread quite informative when thinking about polyphonic LFO's. Seems like a similar use case for you.

      posted in General Questions
      OrvillainO
      Orvillain
    • RE: How to modulate a network parameter

      @Christoph-Hart Awesome!

      posted in ScriptNode
      OrvillainO
      Orvillain
    • RE: How to modulate a network parameter

      @Lindon woah. You know kung fu!

      posted in ScriptNode
      OrvillainO
      Orvillain
    • RE: How to modulate a network parameter

      @Lindon I might be dumb. I'll have a play with the pma nodes, but not sure I get it.

      Frequency goes from 20hz to 20,000khz.

      I think the oscillator goes from -1 to 1.0.

      I don't know how these interface so that I can see my network parameter to 500hz, and then have my modulation go from, for example 400hz through to 600hz, based on a 'depth' parameter.

      posted in ScriptNode
      OrvillainO
      Orvillain
    • How to modulate a network parameter

      Say I've got a top level network parameter called frequency, and I have it set to the frequency knob of an svf filter.

      Then I've got a mod chain with an oscillator in it, with a peak node tracking the output, giving me an oscillator LFO source.

      How would I take the network parameter and perform a modulation on it so that my eventual svf frequency knob receives an LFO modulated version of the original network parameter value???

      This is a really contrived example:
      ac946b21-78bc-423c-9672-bfbc29e94090-image.png

      Essentially what I'm asking is... how do I blend/multiply/scale/process modulation signals??

      posted in ScriptNode
      OrvillainO
      Orvillain
    • RE: SNEX Wave Shaper

      @Oriah-Beats

      I actually just did this the other day:
      https://forum.hise.audio/topic/9656/orv-s-scriptnode-snex-journey/9?_=1752509228365

      It is a bit crap, but it proves the concept.

      posted in General Questions
      OrvillainO
      Orvillain
    • RE: Script processors are blank after my last export.

      Without trying to teach you to suck eggs, if you're not using some sort of version control, you really should. Grab yourself a copy of Fork and a Github account, and commit your project every time you make significant changes.

      I've had previous versions of HISE do similar things, where scripts would disappear or be completely empty. Haven't had it happen for a while though. I'm trying to track the develop branch as closely as possible, so I get the most recent fixes and such things.

      Anyway, here's the link to Fork:
      https://git-fork.com/

      posted in Scripting
      OrvillainO
      Orvillain
    • RE: Broadcaster attachment design pattern

      @d-healey Yeah, I think I can essentially boil down 11 functions down to 3 functions with this. Pretty cool, cheers!

      posted in General Questions
      OrvillainO
      Orvillain
    • RE: Broadcaster attachment design pattern

      @d-healey More elegant than what I have right now I am thinking!

      posted in General Questions
      OrvillainO
      Orvillain
    • RE: Broadcaster attachment design pattern

      @d-healey Indeed, indeed.

      		for (engine in SharedData.engines)
              {
                  local capturedEngine = engine;
                  SharedData.broadcasters[capturedEngine + "ModeControl"].addListener("string", "metadata", function[capturedEngine](index)
      		{
      			BroadcasterCallbacks.setActiveModeForSlot(capturedEngine, index);
      		});
              }
      

      This did seem to work however.

      posted in General Questions
      OrvillainO
      Orvillain
    • RE: Broadcaster attachment design pattern

      @d-healey said in Broadcaster attachment design pattern:

      Another suggestion is instead of using an array of strings and a for in loop. Just use a for loop that counts from 0 to the number of engines you have. Then you can just declare a NUM_ENGINES constant at the top of your script and use it whenever you need to know the number of engine you have.

      If I try that, for example (different feature area this time):

      		for (i = 1; i < SharedData.engines.length; i++)
              {
                  SharedData.broadcasters["Engine" + i + "ModeControl"].addListener("string", "metadata", function(index)
      		{
      			BroadcasterCallbacks.setActiveModeForSlot("Engine" + i, index);
      		});
              }
      

      Then I get:

      Interface:! BroadcastersBuilder.js (260): Can't reference local variables in nested function body {{SW50ZXJmYWNlfEJyb2FkY2FzdGVyc0J1aWxkZXIuanN8ODQ3MHwyNjB8NTc=}}
      
      
      posted in General Questions
      OrvillainO
      Orvillain
    • RE: Roadmap to HISE 5

      @d-healey OK, apparently I can't show you a video, because now I also cannot get my demo snippet to work!! How strange.

      This is so weird. I was sure it was working. Can't explain it, because I wasn't getting an error or anything previously, and my graph data WAS definitely updating, because in the video I sent to my client you can see the graph switching indexes - which is the whole goal of this.

      I wonder if it was actually an older commit? I can't really remember now, But as recent as July 2nd, I was updating the Data array for a FloatingTile, using .parseAsJSON() and then setting the index to a value, and then performing a .toString() call on it, to shove the modified data back into the FloatingTile.

      Anyway... trace() does work.... but this baffles me tbh. Maybe Chris can say if something changed. The only reason I posted in here was because he was asking for feedback.

      
      local filter1Graph = Content.getComponent("ft_Filter1Graph"); // gets a component on screen
      local filter1GraphData = filter1Graph.get("Data").parseAsJSON(); // parses the Data array for the component
      filter1GraphData.Index = graphMap[filterType][0]; // this just returns an integer from an array, and sets the index property to that integer
      filter1Graph.set("Data", filter1GraphData.toString()); // this shoves the Data back in as a string
      

      In the full code, this was literally the code that was working until very recently.

      posted in General Questions
      OrvillainO
      Orvillain
    • RE: Roadmap to HISE 5

      @d-healey said in Roadmap to HISE 5:

      @Orvillain said in Roadmap to HISE 5:

      Was definitely working.

      Can you show me a video?

      Will do. But I'm very sure this was working at some point. I wrote the code and even sent a video to the client showing them this feature area working.

      (updating graph index so that it looks at a different exposed filter graph from a custom filter node)

      posted in General Questions
      OrvillainO
      Orvillain
    • RE: Broadcaster attachment design pattern

      @d-healey Yeah, there's some underlying closure thing going on I think.

      posted in General Questions
      OrvillainO
      Orvillain