• Control ScriptNode from UI knob AND envelope?

    6
    0 Votes
    6 Posts
    157 Views
    Christoph HartC

    It depends whether you want it to be a static connection or a dynamic modulation routing.

    If static, then a control.pma node would be the best candidate - connect the UI knob to the value and the envelope output (either from an extra_mod or an inbuilt scriptnode AHDSR) to the add output, this will combine the two with unipolar modulation mode.

    Scales and offsets a normalised modulation signal using a multiply-add formula with clamped output.
    The PMA node (Parameter Multiply Add) scales and offsets a normalised modulation signal. It takes a 0-1 input value, multiplies it by a configurable factor, adds a constant offset, and clamps the result to the 0-1 range. This is one of the most commonly used control nodes for adjusting modulation depth, inverting signals, or combining parameters.

    Each parameter change triggers an independent output update. If Value, Multiply, and Add all change in sequence, three separate output values are sent to connected targets.

  • Compiled Network Fixed Channel Count?

    17
    0 Votes
    17 Posts
    464 Views
    David HealeyD

    My network contains a lot more than just some gains so recreating it all via scripting is a pain and means I don't get to work with the nice GUI. Is there a simple build network from JSON type thing? Edit: dsp.createFromJSON might be it..

    Another option I thought of is I can park all the chains in the multi as unused nodes, then in the script use this to add them for just the number of channels:

    const dsp = Engine.createDspNetwork("SimpleGain"); const numChannels = dsp.getNumChannels(); const multi = dsp.get("multi"); const numPairs = numChannels / 2; for (i = 0; i < numPairs; i++) dsp.get("chain" + i).setParent(multi, i);

    This works for my multi channel simple gain because each channel has its own chain, but I don't think it would be a good general solution for all networks.

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    1 Views
    No one has replied
  • How to cutoff delay when a note is held

    2
    0 Votes
    2 Posts
    118 Views
    griffinboyG

    @mysticsh

    If you could describe exactly the situation / problem,
    I can give some advice!

    I don't fully understand what you're after!

  • How to visualize RNBO outports (peak data) in Scriptnode?

    2
    0 Votes
    2 Posts
    107 Views
    No one has replied
  • Airwindows code into scriptfx nodes

    8
    0 Votes
    8 Posts
    665 Views
    HISEnbergH

    @Jeetender It looks like you didn't grab the source code for the Tube2 implementation. There's usually 3 things you need:

    This Airwindows.h file, which is the main wrapper for all of the FX.
    DspNetworks/ThirdParty/src/airwindows/AirWindows.h

    The individual wrapper file (Tube2.h)
    DspNetworks/ThirdParty/Tube2.h

    And the source code for the individual FX (Tube2 subfolder)
    DspNetworks/ThirdParty/src/airwindows/Tube2

    *Note 1: I had issues compiling all of the FX simultaneously so I initially broke this library into 2, so Tube2 wasn't included in the original version. I just added it, checkout the dev branch specifically.

    *Note 2: The individual source code for all of Airwindows FX are basically the same. There's typically 3 files:
    Tube2.cpp
    Tube2.h
    Tube2Proc.cpp

    Currently I accidentally pushed a version with a .inc extension. I'll try to fix those but you can manually remove those for now.

  • How to display jpanner node values in labels/panel

    5
    0 Votes
    5 Posts
    387 Views
    J

    @Jeetender said in How to display jpanner node values in labels/panel:

    the one in the red circle, i want to display its value from -100% to a 100%
    Untitled.png

    @David-Healey said in How to display jpanner node values in labels/panel:

    @Jeetender So what you show on your UI is the value of Left, since that is controlling the parameter.

    For example

    const ScriptFX1 = Synth.getEffect("Script FX1"); Console.print(ScriptFX1.getAttribute(ScriptFX1.Left)); API call with undefined parameter 0

    But I'm guessing you have a knob on your UI that is connected to Left already?

  • Missing nodes after restart

    Solved
    7
    0 Votes
    7 Posts
    226 Views
    S

    @David-Healey thank you very much. Yes, it was a bug. I have compiled HISE from the github following your excellent tutorial and everything is fine. Strange, nobody had the issue as well.

  • How Do I get this to freely oscillate?

    11
    0 Votes
    11 Posts
    472 Views
    ustkU

    @pcs800 Oh ok that's what you want... So the answer is no, you don't need to connect it to the parameter in order to get the value to the UI. As @griffinboy said, the global cable is meant to be grabbed anywhere in Hise using the Global Routing Manager.

    On the top of this, you don't even need to "read" the value since you can directly tie it to a callback that is called anytime the value changed.

    Check this snippet:

    HiseSnippet 1696.3ocuX0saaaCElJIzo1MqXcqnWazqbGxLrbTbRPwvZ9eFsI0HNqn2EPKQaSXZRMJ5j3Mz62E68X2umf8.rGl8Fzcnjrkjib9wncJ.I5vy4H9c9kGlVJoKMHPpPVkNerOEYsFt8Xgt+98ILAp4AHqmfOgDnopxQKs2XeRP.0CYYs7wlErJtBJ74e+w8HbhvklrDB8dIyk9V1PlNY0Vu9MLN+HhG8b1vTR675ltRw9RtbDfmkw0P9D2AjdzSIFwVBi9IRPej02gItaXWqlSCuM5PHc7puiSW5FMZ3XuQ2cp4P1gzn1NMp4XirJbnGSKUs0DMM.9n6I8F2tu7JQzF7dV.qCmZHrQsgcNZYz98YbuVSbNAHj0JsRbUKG4pdF9DlGa55ItruNjQ4DMR6zrV51fj8C.RVofzJQP5o31tJluNgiAOOF2T.QvtDH1jFJQxhV5erv6KAID5pCICnGo.hoZToQsZqWF90KeUoRP7IPW9Rhp7wmcR4en7ghdLAsZOp9XtrCgelbjlI5cBQ.gMUEPkDMB7YBAUsOArNPU3CXzKjrxK54dQL+WjceZGs5aDc.clfRidxg9RAPT4EIhDpaozaTUEsGyj9tOgy6.oSU5NR3pYRQkKI7QzWV52JUL4CTMfpeuY8XtupTwReb8x6FLV3dpTy5xbIFke4ql7YJKE.C56DUB+Tk9Xoxyxpa2b4YLFkjyM9obXapMT2lhUDiF1gpVubhgXDDxExlfU39kf4F4aSInTzTvzuymFSejj6YRbLueyzQTbvAd6mad.QSLYnwqAx4SUZlANVGPuD5IDkuVDe.MXfV5GJabDEYspNj6ShylayYdTEh4E1dZZvBc8zdG+M+0iSSDPtj1TzRQg3oIS+JlmF5bfs9CfeeJqWe8DJzMqhf5Wo2HNQmsn1ztKlADHxTIYpVDAL83zsCe.U50t0J86KDeJtES61OeLtTNXDBQeIvXb+wuBeX2tTWcB.WAezGVzlg0dvMCKEm9.6oYyWKlr7QevNu1fV+NNoJyWQ8IJ54xVbx3JAjg9b5Y.FWubGtzcPa1uRuYooeDD1yHQE29DHOkGrHUvE9BdDQtYNOBe30ZEw9tRX9blTO8rBshAUx3SGMrMbxuKc+XOmoBcISikH5ZFZCHZSEdgDeBdhYZanshYZOgYpdRmR0WIUCBcJwuClcTdQPXBvEcuFfOUEXJbrVEWqJ7CZWNWdko0DKtjBRXBWqkjO1uuTvbMKEIwDnu6P4HgdB9SpG2aRtyDSAFn4bBia71sGE.cZ8dmnM7cBmhxTdbpzCda0iHtfOebKhoK1Swld0Pnipp5NMDlwLRBiFmez7SYDvDwZQT.C3rwfXwf8ZxzWQvCrpggMjgYurV1vOx+EBpBlcsDdnzKBDYv3yRgwoRjGpR8Atu6+Jo1+0vx.WXZRS5L5FdIEsZJ146TRIvcA.SPlSudxgaGvB7gtC6MB5xEUskYEftovidsos22CmXlxcCfeJE79ILQ3PGvtZx5PmPtdJsCP2VS8iyZv1.swvKXJionL5c.sKYDWmYMTpM5QIazy.lvHzgO1N6Ty1tgcp88aw1fxY4lfhbUt8.5UQAfHApWeGXV7MaTu9FNau01aFOI5QJ5uLBxuGiNmds9bY3FBkoWByGXvXZIR.S0Y2srlZdvEMOOrcFObArci43hWKDJkOyT5hxn9rNZ6Ybz2ZD0dtQzigVpel2HyGdUbq9j.5bb3OGepTMjvAz30hBsegx1dOvDK78AFEBGfBkJAr911vE01XKmchdli4lL7HBkpzuHNf0qNz8Hac+SvCg+VcBu7J5Sz7Np3WJSMq0C0hWEGsz8vWNGar.1mRFj0.ebTisPF4Ycw5bGl1JImJcNQAWnJHddcA0M5btvydZ5Y7n8Bub2EtlaTkD2M7lXhnOe8FmqyXFbjwo7brJZbhpYjIO+yLelz9ohE9y+53OcyF+oQT3LUFJXrnkhZSjxqEGVWCmbg1Y57uvYQ4Ubr6HsDR2mdqrbBpy22likzL38FttD9DKAlfYtvuXD7dK8RJGkXJEv0yZKEgEfGSeu65PBv.R+O.BlJkpDDdpqz.SL.oRlPm2Ltj388detx2fc1bK6pau0VNN1N0ZTeyLU.Kp6ZOobvPR3nlKzMg+eYv3gDWk7B2n6gXLtGEtB30EwsHOwPW1FcYbLb5UFGx7XW35l8ScCEqunJtwhpnyhp3lKphMVTE2ZQUb66VQy+5w31BlxEnmPqCCSBsrNTDU1.2r.8e.amNDjB
  • tempo_sync module 1/1 out of time < 160 odd bpm?

    3
    0 Votes
    3 Posts
    254 Views
    JulesVJ

    @Mors Is it possible to have a faust sync reverse delay?

    Here is a reverse delay but not in sync: https://forum.hise.audio/topic/11445/free-reverse-delay-built-in-rnbo/11?_=1774466149983

  • Scriptnode DAW crash

    Unsolved
    1
    0 Votes
    1 Posts
    97 Views
    No one has replied
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    7 Views
    No one has replied
  • ScriptNode export completely broken

    1
    0 Votes
    1 Posts
    121 Views
    No one has replied
  • Correct setup for scriptnode synth?

    6
    0 Votes
    6 Posts
    399 Views
    D

    @Christoph-Hart That was totally my fault again. It turned out to be the default envelope with a 5 ms attack 🤦♂ . I literally spent a few days searching the forum and trying different solutions.

  • Load DLL from some else's Scriptnode export?

    7
    1 Votes
    7 Posts
    386 Views
    A

    @David-Healey Thank you! Thats very helpful

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    26 Views
    No one has replied
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    3 Views
    No one has replied
  • Possible to add envelope to data in audio buffer/file player script node?

    2
    0 Votes
    2 Posts
    207 Views
    HISEnbergH

    @Lurch There are a few different types of envelope nodes you can use in scriptnode. Just use one of these, synchronize it's triggering time with your recording time, and use it to modulate a gain node. That way you can create a window to smooth out the edges of your audio buffer.

    Something like this perhaps:

    HiseSnippet 4155.3oc6cs7baabFGTRPxRwwNI0sMG5AMS5A2LNR3wBr.SNHpm1pwRVinhZZunBQtTBi.AXA.0ijISxLsGRO0dMmR+SHW6MeuW5L8ufdoWqOz6oeKdPtfboD.ziDzZmYhI1GX+1e62iee6tjlbdHwsEo0AAt1c6RBEDpM4N9dMIAAd9B0lauK5RDpcewFW3Fd7pGaY6Jr4ZB0df3VVAgD+4iKZkK5ZEDPZITq1jOkVPsYmRH5OuZoUrbrbaRFTjfv9d1MIO2tic3fR2o9GY63rgUKxd1cXZMp9lM8bW0ywqGHOSJJIz0p4IVGQ11h1rIDEdlUvwB0deQ0CaqiZJiOzBqXdnottoVK01srTTIMO7PKEBTMRqstPsoWukcnmeiPqPRfPsoVwq0EMN16L23AXe6.6CcHzGjEZ.ibbwa34zhNEokJr5w1Ns5CTA.rIx.aSFCaORbK6V18Ke.78VQUL+fdvBf0lHq3MYFwSlU7jXDONhTMFQZpXQ5sEazz2ta3fZnxyaHtoKrZ11BVmXEk31JT6khq5AMvMbgNVmP1vGdneGdrtjzSlG9e+hOrcO2lg1dty64tsWH4EtO9WL2mM2ry84yM+vU0tM25nCiumiCwma0TUC+KqiO1sWmCI9OY9Ssb5Q52PX5mESEGOlxtj2LdVyzPO2McsCeQWh63TDDRfJ3Se7lqYEZQWHRJCZWWhenMUDpsF4TvLHdYYVw0HAmD50ELDFYMCzV7Z0ywJLqJD0PKoB.CxrtQWbbCrCuf0P7FSuJuh3aKticXyi4KiSvQFAj51PFSrFeSw0a2lzLbf.Nk3FexcfomX73OWhoGLlzA+9ION+FehbFgX6dcVtWKauMrchTUqMALcRsD+JwAZ8c8Ics7I64sii0EONvpSWGxtff+j4Ozwq4IMr+TxnlJcikqUns3wMO1x0k3DTFKpoyMTIe4qT650Kz18nsrB8sOGluv7uA3ruIY0DoKECRdVh9LUYoAD4J5guC9SRkxzmqkTobZkL1jaSBOyy+jn0njOKT6dwVTau+V69TeK2XEYgkcb7NaUuNcsSTegEmnx1wy4htG64Z2jVTbKRk1k630CFnDQdft+JoKIoROD1ZOKaGpoPidAfCkVuvsA7dhhUVax8I9AQi4LhRK.+GXZrsWKnpo2vpIHcWriU3wTaLpOJPgl3uPSFmCCMUxneEE3bjlPe6ogYikPXh0gBZzfrQrBR8cEqdSeBLdmHVYdyf8o01zxQXeplBcdE8NiQ5HQeFZSmSrk+EGbFITVXryjftN.2.p1zNV9f3BgZndLmfUFmc5S+5i9NpbN5ja1zwXn4Pp7jBkCjmtTY3JP1QGGl9dUv2PCcDT7vTw7fN1mS7yN9uUz3CVfKbdafUDu0vg6Oe3gUNR4v.t5xtfNwPKnOjZFx.9IqowZ0BC03ood+Ios4dhOG.MKevF7Lp++8r7OhDFMHrEjDVzkD4vIH6iI3zlsRw3inK.8kGZ4SGE.L6fj+2IEzF+6jYhS00SeBHJsksaxzbPPqsrNenxd0RMBIcis1GztFmPNKdIlskT.bFw3WvdjyC2yK5yfbeJ.wQCp3GCTzaCfZKPxNJl0aidG9TeudcidXDQZMRaqdNgiT9x8B85.Nra027LiUYDhjQK7M.sPexBGcY5+QUV.cuI5qsEo6kEsm7xQ6e8KGEsAjMKZ+W95u9utzHn8KO5a+w0iUWiVk4C1TlXMsOj3byB0Lyp4xkNT8+T8bMq9s+n09GKEyguQGOuvigPoiYpMsXTpU4ZdgpyedgpeESkahEn6KtKIfDdY1D2XKSBkItFqFqPlXIT+JkMVR+9VvXISGmQtGfMwj.MNO6v+tLCelVMpTLzq41jTvzLR+LhgzT6xJ1OreDv3JGUZS61UHlScog5lUbUG38B9+SjQnKWdDtogDa.qLF1cChwMt.N9DvQJMLdl.NyHFweNRdAD+7j7EE2y5PmHeiMbrgNsiUSJiUAl7BDDf+NQCbMafvj0EqzCxuweDOpSTXeObie8pkFe7q6ItLLiO8FK.1qVhu45qVRnvAiq+M4yQZ+IybwaFBjuy02OJL3iNS96yHT+KpuY76KRal0Gx8h0okKpsP+9cGaLbOw87N5HHSuBXNbew.ap99AVf7NBCrWaOTN6g4pn1Czx+h5Yii12c4HVA.az9UxKJZ+JKRrqgz2pwpXw7DX8rIrxcd5Kb8NGRZAjZi5FnU+Yat8dqu61K+7OWXvZQbSGrNHVK3aDuDcx6e6nSlFp4tMGiLd4J7jrv5puMvbjt7CgmeNw8HPm4Zox9kOZJgc+y0yyLcxw4O+AhsAMmCnNjFwq96DqOyz.tTxx7BtyUqi2BshoOOUw8wJTuX5yOPjtsmGBQBhhFcqqVKb6G1HI3222AMP0ygg3UriFOTbWHYzM7I+tdD2lWL14zfVjm4zW9Y7sEgxKNwvQ03p+O+z+vkr7DKs6RY3birF8e9tu6eO10nL9VX8mjg6TFuIORj.RhCX9uP+lvweRlWvU3MQ7RSv6x2jvajc+aZwRtyeC65aXNgCUBcFk5Bj5tKqKvIt992J794.bHCCAuaWSRW+KC0+1oiIB1Ou9cv9RMKDR1gXEPtlSjO7j1696y0D4MpBdmu013vBu4yuYhh1p87GaFK+Dws876X4.uzV6P7aBNHnSxqaHUNYLx5pKw3u.aHcROtBuZud6me81O+ClsedbG0zsDGy6KFuOIQ2IgaeRyYNho9G5VgNho9850Gwzqsw++yiXZrNIl41gRv8DWy+heEvpNyTZzDLyGG9gulBCcBHIu7wZuJrhm2IcrhtyNW6qT2OKtx2QrQnOwpCnI2H5rthuGjyIl7j7MwUZsatuRq63CosY0J6BzKqGmZR1R+15QCU50LZvXkH46R5RrBi1Rj9Udu56tajd6v85UKEcC81yGn+QMpYp3EtjFG6ExNGW02KHfdWThdWArUsSOf9VK1R1kPOGwrkAYKxdmtnDy93.BcaIsald8uFz5nQQJZm+ir2hdVdnmUF5Y0gdFMzyZC8r9POiG7bMwr2vsoy2MbaKqt6XASQlVthchVFTWbIWwcId5evcWhq.WK0L24xYSkwFQ60w5IaLRjL9NhIt0RKMq09Vdtdo2tOV8YP+7niHY8UxaBkj1d+RdT8zDfYxWM9JRk0LsPXgbgu52bWud2jj+lm5hZ9p60Idx+m95DmWH5AIwulGFQ+ve.tFdewHurySCJdWJd2E2w3zKSM05K4yw6d3jDWZPkHV5NPXQGVUz.HFOUjnawX70toCMHg3ffsVc5POEFQ4Ejhvvep3x8NpWPH8t61Jw0RPisDFJFebG1xt4Nd.tFQPCPmOTng0ojX+NSJpHT68iGTPeltg8TkXUjvy89HxEIe9Y1oeVCJeepzSA4mYG8QXTTvoCcRrMamjubN+QwEg369AK538ocIggAKtFr1QY5Dr39q134ef7BJKn7A6t5hqdrmeqHutjfE+M1gGS6UzDb9crsb8dBnQSrcOy5h4WYws8ZzCdUDWOaP6Ywe4yhZxAQEevpNdAjCV98jN3TGkC78kW3LqSEVqWWGffcX7Uq1yoGU7lR7CzEhMXV2sEk0qghlpjp.MBfCHDuncaHGgjv5IkkbrhQMFqZpj7B1M5cOqHBIKQus1Bi.qH8AvJ749vJBWkfU4hCqyJJKqnJgwifq8wvgA2ntnijjxM5pYL.cgO2Gc0LqRnqRoTZ0PXIsQ.W.CM0TwbPWZWzkzQ4FbwRC.Wrz.vEKWk.W0x.tZHIErAGvUwPxDfQNfKzEcb98KXnL.bgO2GbMTqRfKpLfqNBgML4.tppZRZJFb.WcDVV2H2fqISrLSlXYlUpXYZkAbQxpRHUdfqoIV2jmlKzEZE4CbAzRpeHs3GRfW5CUpfZ5kAekk0Uz34Y..LYUttckkMvF42sqJCiAUFFCpEFb+pu2.2UkKkiAUIIrBOrE3mIi4o6BcoHXKhgu.hgu.xrBgsJkhLlhhgLWEWMYcIScIdrwf9XT.1X5LDFzYHLnKWgPW0xQFy.YHyAb0UM.2tbyiPWB.97SFigu.lgu.VsBgskhtfJVGyD2Z.1hUPllJ7vVnKFpEfKFCcACF5BFZUHrsTrEzzAHjmdKVWQGqwKZlltlBp.TwXhlYxDMyrJEMqTLET0kT03Qy0PFzZk3p2pKgxM1R4aYvxDyfkIVUJfFtTDwzLTTQ7fWMPAEwKKBYMSLp.DwXHKnxPVPsBgsqUJhXX.nL4kDgAVVQlKIWrtLMu3buwMLTEzXnJnUgnJrVo12FSUUfHFGr0DgQRb0aocwH+tb0YnJnyPUPuBQUXsxQCCiTPitgiyA9CQRfFMuLHLv5ZEvo.lgq.lgq.tBwUXsRwCCYpfz3BtxJFfCWdAzPlZ5x42qfACYACFxBFUHxBqUtsswPx.IyEbwPJX722FCUUkBvDiIblIS3LypT3rxwDSEqopwCbUTzUAWF7nhoZZpW.pXxRLTwjkXnhIWkBoUBpXy.IhoqoxEdAJv71SLnKp3Bn5hXXKfXXKfpPP65xkKhljhIlO1hAxXb2YArBp.YnowPWPigtfVEhtv5k6HzjQR5b8KnpQibwiKFvcCHSjetXLzEzYnKnWgnKrdo3hgU0UT3p4hT0Q5XtIQP8JTf8Digt.lgt.tBQWX8RwESSR0fOQWP6T1j+F2.LfKflqACcACF5BFUH5BqqUxC+kdRV7.W8ajS+kt+LrzEjXoKHUkhoUJ5XJF5FbNlG.e0kG2A.qXJYHWfynTVgkNlBKcrpTXsxsyXPNvb13QJ9BHlJhGcWfNgIN+IpgX3LfX3LfpP2dgMduxs2XF.gL9ZuZzScfGiLrgNp.mGgFCoAMFRCZZUIzsTTxvJJxJb0cw.mL9mHQ74.keJYLrFzYXMniqRna4tVSlP1DF7PWCfb.lqmAMSU5grkaNYLzFvLzFvlUIzsjaPlglAWOCF5.aXcD2MHyDxhK+6gCShvlLIBaJWkP2xwJS1jcCbYPWSv2fJ2aGhlhjrYQXkwxZPhk0fTkJvV4nkA4Tv24fotoJ+rgUjP4+BhPIegXokgXokUohsUpsIyPSBwc2FLAbWkC9NS7kDI+rxX3MfX3MfpPX6SKGqLCf+JmSClBtlFHHY4q+M4Wig2fFCuAMbUBcKGqLDEE4ftJPVYxXt9dwZQg7xMqLFdC5L7FzMqRna4N0RDREwa+yUj0nmMI283EgMJxsMmg2fACuAC4pD5hJImWjBO2tJJPxvpxJWeNulLYCaxjMroZUBcK40MWAaxEcitKupJ2D22bVRCRrjFjpTA1J28MW2TxTgK.iTfZ3dOmv.WtBP6Ul8B8Kydg9ipox.vkhUltljgLW7UyTg28hl1EH113f26huyocrZ56cPxOMzzu4o2KpDXsvM4eHT1h977xBmN7uRHcraYePylYeUizQkx1Q0x1QTY6nVY6ndY6Htrcz3p6H8G0gjeeeneU2ED1Zm0i+5DWa89echmTfj76TX7+9PQ+pN2uDWx48+odsczuxqSP+qTII5WK7ENN8eiyh+FH+egUQ1Iq
  • Multiple modulators for one parameter in Scriptnode

    1
    0 Votes
    1 Posts
    128 Views
    No one has replied
  • control.Timer crashing plugin in DAW

    3
    0 Votes
    3 Posts
    199 Views
    trillbillyT

    @trillbilly If anyone hits the same problem, I got around it by using a tempo-synced ramp and a couple compare nodes to simulate the timers engagement.

    Simple and works.

    336f515f-ea93-490f-9e7b-57a63772fade-image.png

19

Online

2.4k

Users

13.7k

Topics

119.5k

Posts