Forum
    • Categories
    • Register
    • Login
    1. Home
    2. HISEnberg
    3. Posts
    • Profile
    • Following 0
    • Followers 8
    • Topics 89
    • Posts 1,075
    • Groups 1

    Posts

    Recent Best Controversial
    • RE: Labels being editable by default

      Personally I use panels in most cases as well.

      In your case, I know all of my components begin with a prefix indicating their type.
      Examples:

      knb: knobs
      btn: buttons
      lbl: labels
      

      I do this to be able to assign LAFs. control callbacks, etc. as I want.
      Assuming you did something similar, it would be simple enough at the outset of your project to format all the labels as you want:

      const var labels = Content.getAllComponents("lbl");
      
      for (l in labels)
      	l.set("editable", false);
      

      Editing the HISE source code is a quicker, more permanent recommendation.

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Frequency/Phase Analyzer

      @pratitghosh if you run the HISE project in Xcode or visual studio and build in debug it’s a lot faster. Then you can use the audio plugin host template from JUCE to launch and test it quicker.

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Frequency/Phase Analyzer

      @pratitghosh you can build HISE as a plugin and launch your project in PluginDoctor, but yes some extra inbuilt tools for this would be great.

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Agentic coding workflows

      @Christoph-Hart excited to see what is in the works here! 😁

      ScreenRecording2026-04-05at1.09.01PM-ezgif.com-video-to-gif-converter.gif

      posted in AI discussion
      HISEnbergH
      HISEnberg
    • RE: How to add a custom C++ method to Engine scripting API?

      @pcs800 There is a bit of documentation about it here:

      https://docs.hise.dev/cpp_api/index.html#create-your-own-classes

      I think this discussion may help:

      https://forum.hise.audio/topic/12951/procedure-for-writing-our-own-api-for-hisescript

      Best advice here is just to follow and copy the patterns found in the HISE source code already. One thing to note, if you are trying to detect if a specific DAW is running, that's definitely a JUCE task. Does JUCE have a function for detecting your specific DAW? If not then you need to modify the JUCE source code (PluginSourceType) , then mirror that in HISE.

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: How to show FFT Spectrum behind EQ curve like FabFilter Q3?

      @the-red_1 You need to assign the floating tile to the module, via the ProcessorId. So ProcessorId should be filled with the name of your module. "Index" is for which buffer you want to display.

      Example:

      "ProcessorId": "Script FX1", // Name of your effect
      "Index" : 0, // To display the first FFT
      

      In either case, I think this example should help you somewhat:

      https://docs.hise.dev/tutorials/scriptnode/index.html#custom-draggable-eq

      posted in AI discussion
      HISEnbergH
      HISEnberg
    • RE: Module Tree Master Dry/Wet Mix

      Okay I reworked this, turns out the easiest solution is just to do the majority of the channel routing in Scriptnode. I have an edge case where I am using a third stereo pair of channels which was causing me too much headache, but Scriptnode resolved it. For posterity and anyone else who ends up here you can use this to get started and modify it to suit your needs:

      HiseSnippet 3003.3oc6brsaaajkx1irsRRaylfh9nPvt.oaSU3EYIqcA1HaKqFUaYqHoll7T.E4HIFSwQkjx1pEEaeLeW6S6iKP9A1Og8On6Y3PJMTlxVhx1IsUNH.dlyb4b+bl4vw0rIZXGGhsPhTMG1GKj3tnFCsb6tWWUCKgJknc33hswjlXGWgcG1W0wAqKjHwpeCcDI1bMAue9eOaWUSUKM73tDDdIwPCenQOC2w8Vq3AFllkU0wMM5wM5rEqnQr1iXRF.XypHQg9pZmn1AejJcXqfDdtpSWgD+UjplhjnX1b5JsTUaoKWHaarRtbYkTZWPLqZA0bhExIlURHQx80MbI1MbUcwNBIVaWh9vFcImYw1fWZ3XzxDSaHIz.1YV2kIl5TRj1qvdcML0qEvlbDDRfpMlosJio8PTUCciQ8Ol48Yd.ROdF7LvDqDF8VMD5IwidhbnWDnTBNTZMFJceTCMai9tigPwm6fpXARy1pfbhGUXiUHw+BsGAFfkaldpmfKaCMFMgGmUT7IokEE+x+dpTsGXo4ZPrRSrNh3hO15weYpeJ0lo94TomDT61QBitQ1DSSrcjfoJG1W1Der0fdsv1OI8oplCviFHv.ByUQSmqxKz0XzM2.IVUrLbOtO1ZZpBB9LKpDvGqfg55w++De9eCSCcrsfAvl+TzIVsdSUUp8TUiyE7PbdyEguqRIUW0fkCVYX25iscMnDRhR3SAyIl3cSTIryItj9.AtGoWehEEORb2YdyOe7FqWbHOV3hOGVIDhNpdDcX49bzQD6dplF+HVuF1VC1JvtTvYP61vX.lyeQnmgttItFwwfJkFub+2mclgta2Qc7KurXWrQmtbNDNpX+.dZE.QWCTQASeavpGPUZOafNvpEEaD3nzTt9VdLJsrIQ00vpSSCPzxnW9tj3oWAAN580E8Y0L95mh1YftAYGKUygN.qqUm.ORalTQQ4WoSwvE2abuu6cuahdkocWpToeMfaNdvAHfmXNw9neJU5zOp1Xx+Q+szOph0idBs6JV53ygND8ZANkLIm88D6Sb.+hXn+1plN3T+7BvUj44JFE+HgqTNRtxwCbiOaAwXK2ymsbnZKroG+XCj2uGR83evwH9kWTjYN3oUNOKYHdqUTKIBAzDDO7BttgfFD8AlptgijPi25CfZhw69l5i1BL8FxGO9ZK7xrhh2GUyvUqaz33JQfifitaBbzOn78P62tMVycLBtFp7qtgh.uJ29iX6ep.ivW4u4UBKzNZPuRFN8MUGtK3HEaSiUkHAPJAAieGZbXu91XvmHtIoFL9G6n1quItNfzOIcKSh1IM.WyWLVoue0coi3wZcUsrvlNwIjZxYlMIc4Ro5jATmOUUcsoQN1D3AM.m.Z387wNJOfpc32Vj1lpnz.ao603Wge7AJMhgA.kl.nLs8J9.km.nBs8p9.UB.NNbtvQX2yn9Tngh8+cvxlJF+SHJMfqX8Feo64B6PcAQcMX3q1yXJfD0qw5HwLv+DXiHfR2oGY.0OxpnrzDaapZXx3ZdqVMh4v9cIVFZTMkwVT6FHrGwWF3.InnerUCXo8x9lpUejWX60KqpARsg0ToAfuOhlhCXJfsynMxjHBxYrNJEcXYeGwvnx+ZAgocXzLceCbqyvOfn644uDxeGT4A3dVKLDLIEC1.cdaUZVJgv1OyCaAcxL9PiBqFM0qZe4RiB5wuE3HZEJB7oHPKjiRdIKsrUQxddU3GZRpaObvHPn5Ua.hfynd8ZpZ2A65s97c3mKmE1yTyIbSAljhliy5nNfHQRnFehOI874GdGluETN5EjiZoGdHnEPRUMrFQcTk1ppmOpsDzlxEVGw5ZmAtjdfGA+iJUB2VcfoKClfPHQbOlA+DhXal2fL9PiVD6C7JDwqDRDmXB41mf1GbroCmpyKECeJ5ehJHkQgr8te6WU+fJCyWWVtzADqC+g16TN6ONn9vpJ4Ovw5sMDydX8CGjud0dcec6W7xW+18K+p16XkuZFfla85mqzb3A6eZqWsam2Vd2tGaT6jRG9Mlu34jWzV4qvsyTq9t81qYkpkeckNC6rSliOb6CJmIrXfmesNpGvHMDlp8KCbT7qfoNqVhqDZaY9EtB2FQssHjt8vXtoLE+Pa5cfM0Fmoyz1tMoammp7UpVvqouJml9Fi0z2.80RhSprSa2vE2m4r8gPaXLd+HksfnjTNHR2I3yXnsPhGf1JSVYY47h4ymc6rRJhEDXdL7PylPFeMIdKNXsdJnZRwA5g3zLnINxYJkXkILjhFomz7bCDE+lOjlN.EQIQEX.EJrc1B4Ek7ulfF8HD2tfw4TP8jHuauweyShjoacHDOnSgael9cQ0wNXe73pX8g17vT.qOAdWKgMSgr2Lbmt8BCbzloLXwwhYClYpbbrSGM2YbiC6h5R8wdWTEmWRgpoNhoBIfcQDWYAPbkXxw7bJJEGGpil6BHpxt.Tb1XkTEhh0g20TzHocoT5T7fSgLWtSichCbCbqKXxIcYlbahrwZXiSwSxQCRkH.bzQMBfFaxL4rPloPkwX8VpZmLEmOS49zBsPykmnjn1scmP89dHU100jAfEI+veVWk9E8bKl3yCtYxINy5j8.s8tgF+i.NU+G2DdV1ZAry1JVF3IoVMRykgl+T9X2RKIxANWYXJ6SFYl4AKZpyCzBks9cQbmnwGaGa6NghyhpEMcEzvYFahUm3Hp2kImYPhNHOC1stndV7dbCx3tArrkh2gRNCO6oXk3BGJQddOTBrcKOTxxCkb6enjaIi4PNmVmYd5WZtqxSUUhNeo82+bXMfzS3pU.D2DRjPskInuElhAaF+e6dz3XhJxhJRxaMiWD1nKILzMgE30LVbqcIjS5o5c8vwpjs7Eq3NLfqC.gbnDXLUueWJT0B75hpdeHtMWwS+hhi.TObYUeXwfrP4lQQEk2+rf94mfGfCo2nqiSYa7OLZcd26K9biKzqPohUMNmuLuMw85SZLzRKTInV8CZgCnWp+TKbP.vqiBGbkE+gUqukU+425U+4Ar5f.BywEBY5004Bk.J5JE8Ar7OQQOQkaSTi65p.P+d+1tW3DKClTrSqb8KMCmjHI44MEmbYfNk2ZKk7YkJ.YnsMedkgid+4P7e+EQpfx1YymKG9qyMYwiVlP4uuRn7CxQ3tXckThiklxRKskVZ+gqdRaGO6SHsfOjESpvBbkuEVjhIIu.ESRdQjS4hCEmBoEj66xxIsrbRKKmzr3aI+BYokcYAkVVPoowL1fUZnryYEkFMskkT5lQp7Q42o3ufJHec9cJV33ZYZVoZoR3xc9VRGqJjWbpxd0qaz90GV6je7UuE9+qJu2dYxbpi0fmeIenhI8Nuz7cFK+4bicDK4ryaR+JYjoI8KIV.R4ea3jVKOh0uauLiPpRax14CrZQE0krGJbKb78qmJgwoHJtkTdkBRRTEwqyuM7I4OeO18OT7Gkqj+jJD+gVgmaAeSKH+IZaqqIFmuu8n4aefKz5CBdUXdOkwCIzI6454grdRS6JMs.aXaoK4gt+el0G5d+Y9gtSKap2CKgqzodOktl1vo9ndz41JJZtuES5xM95fye5ysl+g12vqPgMbUscgkmeQpiAIuCNTekML8eq8YQO86b.3OEzrvNtO0mc9TFehspNO0tK87KfVdtLmodpPOJShEIum54ze88+6UDLAr0CABfY5g95AvmrBwqMaEWL7agja7Q7z7V6l585u1r8ZAu7+bB7af2+Yn+7BrY.N1vfpFrO3BwDLk7eLY9taB5MrcTUhEInpl7phPdyc53EuYDtGIAsiqK8RP39BGpigiC4voy+mKdHb9bU6IsllCdgzb+mZgHkWeAhgtooF+oWD41spZ1k9FdWcldCuW63a7eOuWOnxDe1BnH+rEVYg9rEts+zHDtrOMhDW3SinmplM4M9uHSpUvFd8.bLK+qBsJscZoK92zhdf+z2noEdotvDki6DUh6DyF2ItUbmXt3Nw7wchae0SjFty+zqTicAgp01m8mggDiRxHwpB+ePylhjx
      

      ScreenRecording2026-04-03at6.26.59PM-ezgif.com-video-to-gif-converter.gif

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Promising app Midilize

      @ustk I saw a few posts about this too, looks very promising! I grabbed your code so for anyone else interested:

      oPOa6mMF

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Module Tree Master Dry/Wet Mix

      @dannytaurus Indeed I did, I'll update it!

      @ustk you're also right that the rmOut is redundant. I also agree the signal routing can be a little awkward in HISE, it is somewhat related to the Module Tree structure being locked in a vertical display.

      I'd personally prefer to use a routing matrix more akin to the AudioPluginHost found in JUCE where you can freely route all the audio/midi channels (MetaPlugin from Plugin Doctor or Kushview's Element are other examples which seem loosely based on the AudioPluginHost]).

      @Christoph-Hart I'll tag you here for a feature request update to this. I don't imagine it being a top priority but seems worthwhile to share my thoughts about it!

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Module Tree Master Dry/Wet Mix

      @David-Healey Hmm that could work. It's an FX plugin I am working on however, so I don't believe the send containers are an ideal candidate (could create a feedback loop). I'll try it out though.

      Edit: The Dry Gain needs to be at the end of the signal chain (outside the routing matrix). It appears the signal routing is not done serially. You also do not need a second routing matrix node as the signal is summed to stereo at the end anyways.

      In my original setup you end up simply attenuating just the Wet Signal by the time the signal reaches the output. This doesn't feel like a totally satisfactory answer, but it gets the job done.

      For anyone else who ends up here:

      HiseSnippet 1502.3oc6YssaaaCFlx1rq1cGZG5V2kBEa.tCcoVNdYKnXntMNt0n0IF0YsqWUPKQaSDJRCI5z3MLf8nsGg8Hr8Fr2fsepCVRNJtttGVxPyEAf+m4+gORQ2ySZS88kdHiJGLaBEY7g39yDpw6LlvDnNszD7UTOp7.puBcuYSH99TGjgQw6qkvnbITve+8ctGgSD1zDRHzSjLa5iXtLUB0dMeHiyaSbnGvbSIcilcrkhcjb4THZJhqglPrOjLhtGQKVAL5AD+wHiuFSr2zpVsFa4r4.BYfS8saLjt4Va0vZygaWqAYaxV01dqZMrPFWXWGlR50WQTTejQo6Icl0er7EhPG7DlOa.mpWXg5CdNjbaI2QuE0TQ6Llwc5Eml7QHCbujjVwvj1UwcYNr4zSRdWNfgYhFoSfFExFdEyDdVoCuZoBubBIiTgTovP5J391drIpDN534R3NBnZNj.0ozgRnrnB+UA7NRPBgZCWxgz1dvh4ZTEx52zD92MtckJPsxWYdDwyrk2Lcqf4OXFz4rwHpZ2gCo1ppWOh00AERj+oT0oIeDqrxenXvy6RzMgcYGCZEGffd6HcmHEvhpWOiTZCT4V2xLjf4CExA9UXBNSPMGNUXqXRgoTjQGsY8j7p12z7naT4WpTlKsIbyWLOZOx71wDcluks1nl42DKD3zDsZM.XuqXD3Scn1hZyFP49skdZQaSrgJe0HEuQZKuRJFEA58Y4nr1F9T0cUJO1foJZ0Xh5+cyv3Q6knJRVYiIFJaPH.x9qUxjezpDki1gv4Cfgyp4mB0AUpr7dREceQ0fbJXTyEYMbXt7hLFm5kKaM3g2xTrpXp6.pGTMI7oz4BBCHYm5vm9TWZPA6vttTBJEcDL09SnhSCp.E0ppmPihJPTUv74GGMe1mybndHFLF9I3LYSTPfmFNE8icZQTjXyAVF71Dpmho2HFsnGAvsgi+kwsn9GpjSBjMZJA.4WYmebhi+xlyRuPQOFrDFqkxU5.l6yw6I8bIb1OSc5Q8rAWA31H+oCGBx.ImuB4xbb3zdReltJkXt+7Nuf4nFOmvu8jliorQiScfwdMQmDdC.VkNS4DUVzVcGbDCsaRCwogwDf6mk9Lq2XPvqZHdEbOlxdb9wXgbhQnX+1HFiN35ivgPuIAXIb6e5szoTkNo+KierDPf.Wp88EvdtcxV0LJtxd2Z4adsiXhQcI.pmt4duot8gqZXSg8tP..rPOsgNoGstldsN+2mJbBVTHgokdsQDyfEESXVWu9ef+zLmuHh4loYNeQ5RyEmeQLl6DN89wUlx3HL8kbKrm86snbRl1mmlY9B8rl4bOsNhi.TjdRNwawlu2T4+LU+kOgDbz5qyTboUqEc42yaUmn+TbPJ+7T.GzRb9IfuLtG4rPCwZgfDOpWaAb.qzLsVfY8X3lSEAoXDybQPxEb8C.v08mpNyhttXtIC55h4lLnqnDydRz0.tqD5ZzsfWB5JB8dz02it9dz0yNnqugPPdkte10BSlWB+TxQzfmvHHO9YAqGBeHj48oBpmNKasDvj+XUevrIq7ClsusBBgC7HB+IRepUZK2m5xN.9JP+LTWPi54pQ8rHfpohrlNjTFozoh1PpHkbWrYLw5oIBMeYLFrNik5xNN8WKtqf.sV8ovN2YeeaHwnyyo6N6Mk6SClAsRqXB45oI+.hmCTCsWFpboUCU9k7rgW3L2yFdN3ypy7xlkiiwvit2ENVkKAJwmSLjLkqholczqqTHmLVJXYJzOlBXMiFQyz+j6F5tJEw9vDJWs4iobJwml9gQdDSPIdcCdRj0JWX8J+Ju4Vu9BbX3ZpwKLO+9bHE+e8ygr5Se5m89LcU7ZX.JttYPoz7+lZ4B2d.m6sGJ7Zc6g202PAsru+y3De+mKw1S9b6vmYVCWbw.JPFSD7CnUF2Uu1z5juqrKbXyyssyZpSnX80UwMWWEartJ9sqqhastJ9cqqhe+KWQ8cAt6TkzMbpBtSTucC9c.LLBuNTv.F5eAb1jpbD
      

      Before:
      ScreenRecording2026-04-01at5.20.39PM-ezgif.com-video-to-gif-converter.gif

      After:
      ScreenRecording2026-04-02at7.59.29AM-ezgif.com-video-to-gif-converter.gif

      posted in General Questions
      HISEnbergH
      HISEnberg
    • Module Tree Master Dry/Wet Mix

      I feel as though I am forgetting something here...

      Setting up an FX chain, how do you properly set the Dry/Wet Mix routing? I thought it included:

      1. Set the project to use 4 channels
      2. Add a routing matrix:
      3. Add your dry gain set to channels 1&2.
      4. Add your wet gain to channels 3&4.
      5. Add the routing matrix (out) to mix the channels together

      However I am noticing a -6dB gain drop on the Dry channel with my current setup. Does anyone else do this differently?

      Here is an example of what I mean:

      HiseSnippet 1503.3oc6YstaSbDEdVauTroWfJZo+bEpUxTQCdcbSaDpBCwwfE3DKbJT9EZ7tisGkYmwZ2YCwspR8QqOB8Qn8MnuAsmYu3c1jEWWCgRpv+vRy4xbNy4x2b73A9BGRPfvGYT6f4yHHi22b3btb5NSwTNpWGEg.IwmHNfDHQ2a9LbP.wEYXT99JILpVAE84Ouy8vLL2gjQBgdhf5PdD0iJynNn8CoLVWrK4.pmlzsZ2yQv2QvDgf2T1rAZF14P7DxdXkXkLQO.GLEY7klXmMsazn0VtaNBiG41b6ViIat0Vsr2b71MZg2FuUis2pQKajwE10kJE9CkXII.YT4dB24CmJdAO1.OgFPGwHpE1ngfkiI2UvbUGQEUzNSoL2Aogo.DxvbPVPqbbP6pl8otzEzyBdWNhgUlF5APiR4cux4bOac2qgl6UfKYn4RUhcoqXNzwmNSlwQ4OWxrGGxliwPdR2UhkEU5OJYti.jfK2vCeHoqOrXgF0gn9MsfutwsqUCxUARqiv9Vc7mqJEr9NqnJmMlPj6NdLwQV+5IrtNnPl7OkHeYxmvJu7GxG879XUQXe5wfVoNHn2NBuYBNrn90yIkZCpcqaYESv5gbwnfZTNixIViC4NRpfaI34zQss9BVcmaZczMp8S0pxDNXl0KV3sGYc6ThtKNx1azv5qREBLZlVcFAr2kOAroxU6PbniHrftBekncwNPludhh2PemWIES7.04rZRTai.h7tRoOcTnjTOkn5qaF6OJqjjQxKaJwXYibAP1etVt3iRkjXzNXFaDzbVu3Pnxozhx6Ijj840ihovlZcRViGWHujMiQ7KjsB7veYJVmG5Mh3CYSLKjrPPnAIeWm4KuqSGTvItpSSPAuGmJ2eFg+xfJPIkppNzDuBDUF0e9gI8mCYTWhOhBsgejYtnIJxw0QXQeeuNXINc6fcFr1LhujpNHFcHGAvsws+UM6PBNTJlEIaRWB.xuxF+3LC+4smquPRNF1ISSkTdBWX69Ty8D9dXF8GItCH9Nfo.baTP33wfLPv4KPdTWWFYfHfpxRYa2uemWPckSWP3WdR6oD5joZWXrWazog2.fUgaHCKyi1ppfSXnLiNDmBFiCletdD8jPvUVMH3keCwp5tWwb.U5LsX+sTA9Kj3Oq82jKz9.yXH4LmshY2e3L51qJm19UMer.Pl.Spr8EL885kOaZTdkst8RsNRYHJeReLfFpJ52KzaHLBhCAN6bN.7B05FpDPx5Fp0pbwPB2MZQoLl1p0FILiVTNiYS05+B9nXtXQByM0YtXgdp4hKFPi5MiQteZlAZ0iwuWxzYO6W6PX3bkROMWeG5YsKX9sd7i.zkABF1+jEhuth+4x9KuaI5J2yMc2erYTH+7jCGURb9wgur4.7aCEDu5HHZ3.mFAQi4YFBRxzhKAAAgdGBx6PPdGBxaOHHos5EhfjxrPDjRIvKEhfTNgYgHHENd16Aimsen7s14yVezUT11dZz0HtZwlqEGatj4SwGQhdZinnymDsdL7CjrtOgS7UUf1KAn82V0GRa1J+PZ66HAW3.eLOXlHfXquyCIdzCfecXPNpmPilEpQy72NHC4425XR4jREJ5BgBM4tX6ThZRd01Pios97qv5l520zmdr9uhbWNFJmFRfSt69ANPfQEm06bGDxBHQ3S15JlQtoN4Gf8cgbnyxtwpxpUS+O7bhW3r54DeCij9p9Sue875mUS8w3Qb1EF+fI.Jo2mNFGxjoTy2F1WvEylJ3zbI8GS.bmISH4pkJ7.cWoD6bndM7iILBNfn+3IOhxIX+9QOaxZEKr+W+RvElu9LyX20RgcX8+imLo74smL4MbGp54yO2joulI.i2zJJca8ee99DSgXV3THkdklB4M8jNnkMEnwolBzC63KdtS7yXqfZtXDEHhwi9C5pZ1Ws1x9juaMR83uzm63jeqNkhMWWE2bcUr05p3WutJt05p32rtJ9s+yJplo3tgRgWbGFB0evtQ+OCFFwiUE0rg9a.MAGDe
      

      This is more or less my setup:

      Screenshot 2026-04-01 at 4.42.33 PM.png

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Attack in effects plugin

      @Sampletekk I am not sure I entirely follow. It sounds like you want to use something from the dynamics category. You could for example use the gate node for a similar effect as my previous example:

      HiseSnippet 2310.3oc6Z07aiabEmzxirk1MMIMYSxQdH.0oXgfjrhaWzCR1V1aDZrsfkh2jStiHGIQXRNL7CaoTTf.zK8V60sWZ9SnW6MetGa5sdIAn+A36EntugCoHoDkLkrrR2f0KvBMe+9726MCeMsnxDaapkfX91CMIBhOF0ZngS+86iUMDZTWP7mfNBa6Prj3cs2PSrsMQQPTLyyYcHlacAu+to5dXMrgLIrKAgynpxjOUUW0Ir2l090pZZGhUHsU0iL6J0ZHSM1mpQcA5ICpnfIV9BbOxwX1zVCI7IX69Bh+bDVd6REKVYGks6fwcTJ+rJcIauyNUJsc2mUrB9Y3cJ9rcJVojfX1CTTcnVsbvNDaAw02ipLrUe5UF7C3LUa0NZDViRBsfSl28gTMEFKx5UX+9pZJMCDT1BBhnlghsLbw16hNRUQcT+ghu2xa.ovUDU.JtVbxKSLxqTTxqXDxKARRLBIsNmjdaTKYKUSmvQXzyiPML.sYWLnmhRJ74JHdMZeJLACmB53KHGZAMFsfs1oXwmJA+2G8q55ZH6nRMjnFGScHmXr0Gk+2lOW9eWdowGpa2DGicLVTMMhUhCyLMrl0B2xvUuCw5oRWh0bIilHv9wkonoKSipxk4bcjIRMZXn5bhIwXZFBB9hJ3WeVi5XGLSQ32GLOShkiJiDDqStDbC3pkbn5D6KbnlfivD5LvZgp3pgchaBwbz7G.jAwzaLkigspyvnNhKM6pzRhuMpopib+jow0RfFAI0CAM56M9FnC51kH6DRfqiN7yWctd48c8fyjc3O1uozgedoDc59CnPCbSKhI1hzl1TCObKartoF4TfFepTGMp7EsT+JxjdElbRXO1L1RtO1vfnYuHNOYSsTozrUJmRccTM5cD1wRc.3EdrqdK.WWlruO0A8ItFyGh2tHqMytnEwPwqwsve9CVh0VzevRACFw86XhyUTqK7TG9+VPbSlreSjE4RhUGgc0znWsOU2T02BEj+d80jpMzrO0PUl0EeFAT4t5TW3.7I0Py68BTEATMDYpMVUiYs2x0FvLTNwnErOdgCEybFwx16L2.Ur.7Ov5+XpBLT1Cwxf7dXSrSelaDCFBrYIVEjGY6NhEhZ5viINZH1tED4jSQ.inyDNr3lhYh.GwsXYs.+w031mMrOiMpLVS3LlEAiO71StD0iT2fM07HEqgmeEwojvTobaSMHbOypoI1BHSH5ACDbsnzXtru7k8tkQmSxT4BNiw3g.5IPzEROlLZ3NjjSdNQV6cI9F6n8DEuY.Ydtt5.hU7y+s7NevSqvftPhNVIb7iu9jEOQoifzRDWaLE5ZioPeSl6VDguuNkaEKL1jyx.zIAyYSzmBBMrE3qcECRuM1pGww6Ph1gejNChGvhc7l9xoFJAx3dLEvH5g0eVuXZwOjzumLg1z2yHLNyVOnEj6yQpF9rYXbnivCFquap1xgXx8tCmWqKHWwUwQmIS.tAhuAsICbZS89MP2faI+PQelgBoKHTU.JqGOQ1VtcdtE00zqwDjTcRWrqlyD8uqqCUG.lUF4dFyqzShDyJ7QfUnEoPuYY+6M3bY6sVTau3R6LyVZ+EWOozFjrwk1eyKe4eq5DR6q68WeRMt4pmVNYgMK4JY0NDskqnNBWkOU1P09i0REW8adm5eaUdZ4szoTm9PHyovZYQd2VJU7UkZIyWUpcGrxxPA8XzoDahyr7IVZpIgEItVTKVgXwRX3JKZrjQqMswRPQbf2.o3pqOL94lGAVf8Kn6pEtCeHZWEEIm9DI37jp2pYPpefgiTeB3rWnvXdydoJkXf1QmZp7sEmaufenQRuoZx1M2TMN34nvIyE34nU8ZvyWCd9JI3YDruMP8.E1XI0CYnNz.qqJaWfMZhHH7kcGXdqGynO7ZTgIWlbldahzUMzwChmmW.JA6LfKGOH3kWpqB27.ObOW3t+bDqX8vBJ.3GCBt93AvMfU.2RukGbkxXNjnUg9tceKhc+9.BwRPe+et81itd5AKmaOQZJ8Dq7m9WU4WUcWGGr7E2S2vu9u.nnSwMrQsU.ejCbC0HXaxR.OowhxH2TcR6qZoiQ9lu8+9O7indJySaEDQc9yNPn1jYGbS0omc..yqpP3Yf8feWqnfiifglxU78GMommwen444YlC7wrnTdK3ruBcK3242e8e+6+yeW04N6hTlyz7xX4Pv9pp6purL59hohP2fuodVPBO7oaCbFdvxjyll6zrgG7fvlja9vZohatN2Wyg5xhXic+Yku7C92Ree2mTaIhzMuJFfUf4uB.4VNrxr.syiZR0vVrO9yCbLnQX1d2p6MPcsHe44duE81y8aUmYRr7naX46FPe72XX7GtdCTGL6aYL2uzPvBS4yLrTegD9YWdQI5xy66rmk6LLu2M2eE2wgkxah+3+O+l3+yau8mccphUd+ht75aku5uUdN+OuWows96NnvT+lfgKZ43.7fk7Qcrt4zMNdOzwTKcrFrgJMIVx.YyDr2qPDe2pH38FnWnp.poejwVPNIr4tZ4p6arq3V326caZOG9FOLh7MQ0sF9BhSbrhIkeo6ylN92aN42TapXBB6QoWni8Jxh6c4N897AeD5E3KIdEbnWkN7Du1cASIomSf7IXEYTokQIGZl5RN7DYGfDZagMrMo1jRwzTDc01TChcrdGaEkSbEkiC863ZDeq4cEaVLQwgfnHx71rVPmki1YSrQrMCZGamNhUANgtUGXf6nQZQ.NW4DaYPvfGy3qoqlMwCEqTzEF1c4nc+IXKEPGJGq5txLqBubpERT7BcKx7Sntqx9PUElqmtRAa1EI5q.E2WrJWKW.M1Rk8n5G.P6ZfKsGM9SQ9.PA8F2m7HpAMn.pBs.Nk3Xo1qGINpVRLj+SFOpm2sVviuF4s.3UkhWkprXxhRycU7kn95C7egaIFPhz8QusRMylYAZlIUEn4RmdW7h0bE6gB3mu5noeeDfoWVxScK8Cu9dUTGnqhyPGKaQO2+E+Y.Fa50Cv2F9255HVaoRBWNdhf5PnmykkiuUSrvxK5B2dQWXkEcge7htvcVzE9KVzE9Ku6ExxLv+cRX9IP5RMOf+MgE4YJwevj+GFxvEH
      

      All the tools you need are in scriptnode, you first just need to define how you want to modulate the sound. In this example I am using a gate node to shape the amplitude. The threshold is set to -60dB, so any sound above that triggers the gate's envelope. You can use the Attack time to determine how much time for the gain to ramp up from -100dB to 0dB.

      Then I use the minmax node to invert the signal and apply that to the gain.

      However, it really depends on what you are after. Other nodes here you could try are the envelope follower, the core.peak, you can use control tables, pmas, bangs, etc. all to the same effect.

      All you need is a trigger (if the amplitude is above -100dB), an envelope shaper (for applying an attack and decay), a gain node and your reverb module.

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Attack in effects plugin

      @Sampletekk yes there are alot of ways to do this in scriptnode. For example you could use one envelope nodes to modulate a gain node on your wet path. A number of the control nodes can also be used to shape the amplitude of the signal.

      HiseSnippet 1808.3oc6ZsrTabDEsGAs.jeWwNq0Bu.mxkJIiBwTYgDf.GpXvprvXmUjVyzRpKMyzS0SO.JoxprI6xZ1kOgrM67+P9A7m.UkO.maOOzLidgP7HUbYnJJ0Ot88dO2mcKpK35TWWt.oka+dNTj1swM5YK6rYGByFsSMj1cw6RbkTQ9fo1nmCw0kZfzzl6EpIzVZdj+OmUYChIwVmFOEBc.moSeIyhIimsd0umYZtMwftOyJwtKWcGct8lbStGHOygKhbH5cIso6QTaKCF8cD2NHsuBSzWoTwhkW0XklDRSimsV4VzUVc0xkVo0ZEKSVirZw0VsX4RHsraYvjbQCIQRcgCcCtQuFc3GaGvfCXtrllT0fRnF.mClFsYGloQ8HvwEgzludLTMW.T8P7tLCV+4igr66uP9XJRBZZYljHU5BHRZIDo4CDoGfanKXNx3UTxysv6XCVvVDv1jTTB1KR683M4vFrkErHcoaKfA8IX4UKV7o4g+7juskmstjwsyys2iKouxd4mj6mysTteIW9AWpUqQtlhMBtoIULxkUtChIQ3x1dVMohml+HhoGs+FA0OMllc5vT8.sNwF416XyjuxgFNdatogBqTedXK.JD1fO8lcpQjDkQIbNXeNTgjoDGsZzifvf.SzR3ZT2tRtCDHLj8C7b3FdlDYZ2IUfV3B.djxFpLT1tLYujAhW.erhSzGaZEwGfqyj5cFsLlYDxHfTWGxXXj4cva0pEUWFKfyi29cyZXXwKbXXtvvPfmJle6vg429ckFY.3ugic1cDTGhftOutIo2xtDKGS5qAY7o4aZx061f8SzgiPbBDgMT6XY8NDaapo6rDHk8JJ4D50bOIyt8tDofcBRCummUCHutNcyPoClSKiJFJXbQ0XkeQCpsg+fOB+DtXI0XsvEKEsXhvu8nxi4ht9livOizVTg8KhEzinhln0MM4GuI2xgE5gB3u+b04l8b5vsY5poB1QjTttE2CXPnnF6duQjoHRpgJS6SXlJu8FdtP9CiWY2.NG+xgZyc.U35yyEvEK.+Bd+6wMfkxtMQGv6d0IxNpvHUJIvmkJJn222suJjz0InlX+kTmVTky.IBTDKE3npapMWhzQAdrpQP7Xl.+ycbOPspNwDcfxiPoG9mY.h5KpKn1ZNrgn2gGSkPtwwI4tNlP4dkWSch.DSnRhJIXljx3RYO8z1eTImCqTKEwiAzgH4IB5hkGGkLbNH4v7IAsmG7M.q8gh6EIlGZwNgJRy+66yeHRqvIsfFcDif8CR+ngmjxQT0HsLCXPyLfA8dpvsDfenMMvKFMvlypRnSi1yh3WBfFQ.wZGqRouOQzlJ8YRxIBqzYS8Sr3ldXHNsiQDF2VY.5KOp4y5WSKMSl9yTAZi+LSn3Je8nQPeP6xrCUy35P6RNYf4NqRCI0IH5NdeM5RONvDmbmJ.bAbvArO8D49b+OCxMDVFvT7arMns.P0.jr1AMx1vq4KDbOG+ACIR0nsHdlxglecOI2BRL66DgFJpzGQR4EdKvKTPKzdR9+9Kdg78xjz2KMZO2jQ6e38Ci1.xlFs+iSO8upLDZ+91+4ipF3t5akGMXqZtRm0jZd0B0IzpbSkOT0eu5ToU+3WT6uqDzhdCKNW1AJYNFUKK1+1RSkdUt5n0qxUOGU4pv.ca7qotT4jhItxLSnYotVROVTpZIp7JyZsj9zNs0RvIX8BXCOKqdo4aNL3A1ofkmY7I7X75FF4kcn4A9kuVi5Qs9ANN46Pgf8BEFHZ1uUoQVnMhqSJhV6B66+ec9yypLZukypjNkY+hHWnTl8o5yoL+bJy+WlxLQZmagsXFrfbZohBdThTdwaY33gjGv04UPR1xeVedlVdua+1s8WaXAMjnKkLltQYUPkjl7RgwsJO59VuE1kotM+gP20C03p5nFWgojDlRseHlBNHlfTVHdGixJEu54f.3Ih.S9dEWIWXHKdFurfRO.c7jn2gqFCtGJo2FdsZEVIK0LJMBpqbRziIrkUSpAjt1mbETjNK87W+4yVDutTRz6dISlU74q7O+5XRl83p2.4kWBRlYRItzqfrxOdpTjKw85Nqx36KILr7F8ZcYPW+8acmPGsM8DGMN06KgtSEVDS3PMpSE5PBBkRdYq8LhjkiMq2RgusUoAaPq0IEF6ChESz4jnaJ6H6ZxD.UyIVNiuykKC7+gwz+6GpftI5k+sLCvL8IlZkE6u2aTsJUKOWzKpDRwUSPvmLWKIymuVxmtujyXe1hrWO4DVDWSz6sPmnoToorM2Ae7+T86F8fHnwFdh1fy6ZQ7+Fulsu64ahueNKhtfeX3MyTXwh9y.IWrCKVuqZb9RniFz7nts1g55oOpgH7YyJgqLqDVdVI7qmUBWcVI7alUBe94Sn5+ukvDqJ+ZHbp9VA2bRaKaRSyvGA5eALvcZRL
      

      You may need to elaborate more however, when is the reverb meant to swell in (on MIDI events, an LFO, etc.)?

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Audio Looper in FX Plugin

      @svkpowa Just FYI: https://forum.hise.audio/topic/13200/audio-fx-play-an-audio-file/7

      I think you may also need "Enable Sound Generators FX" Enabled in the Project Settings before building the plugin as well.

      posted in Scripting
      HISEnbergH
      HISEnberg
    • RE: Github to Hise

      Just to extend on what @David-Healey said, you can write a wrapper for your JUCE DSP using the Third Party Template.

      posted in General Questions
      HISEnbergH
      HISEnberg
    • RE: Agentic coding workflows

      @Bart I haven't tried it but looks like that may be in the works: https://github.com/christoph-hart/hise_cpp_raw_template/blob/main/AGENTS.md

      posted in AI discussion
      HISEnbergH
      HISEnberg
    • RE: How to control sample start time with the audio loop player?

      @Quemis Yea if that works for you then stick with it. If you wanted to explore the AudioLoopPlayer route this will get you started, but you'll need to make sure to update it anytime a new sample is loaded.

      HiseSnippet 1265.3ocyW0saiSDEdbR7xVCrhkcu.t.IqJtHEU0jzjMP0JDoMsEpnsaTS2UbCpZh833Qc7LF6wsM.6a.2vaF2wqAuAvYFamX2l1MD1thb24+uY747MmLHR3PhiEQHCqSmDRPFef4vIboeeeLkiNXWjwiLOBGKIQ1op1YRHNNl3hLLp9sJEFqTCo+8WeyNXFl6PloBgdkf5PNjFPkyzNn22SYr8wtjSoAE7tSuCbD79BlHAvSUylnPry43wjiwJ2pXh9NbrOx3KLwNsa0rYmttsGgwib2bqNdj1c61oUausZ1AuEtays51rSKjwC1ykJEQCkXIIFYTaGg6jg9hK4oE3UzX5HFQIzBMDpbp58ELW0QToE02mxbGjeQEiPFlClcsUM8Z6olGQcoS0O656izFrmEQwKPiJkgW0Rvq0sAu4.IiBPpVJjdr4PmHZnblEEddeyC3vWSOL7cpHTR8EU4xJl8EfGb4FA3yI6GABSin9lMattMb0u1ysrrfOVwR6KvQ1GJDgPGxWaq6c1XLQtchKULDGDxHSqe8US8aUH5YwdNezYv4ORBgmWYHA8EAgBNHTe0odnBzJhL1lQ3ik9P.oIT4eZsNTan9ZO2tQCaPqcrVcd.0o7LMwqYMMsaDSfpDfuZ00ybLM9IhD6KwbosTXCtXK8I1fWzfj.kJxOkfYZkYYW3okRKfkEkynbhsWB2QREbaAeZEUmyHAqtS9gbc3pfkPVy5WrVI6LEmelNAyGSpqsOCeVuFtJJcBxxYeLiMBFapeyxot8JfliERxK3000z50V1W2jm2bskkLFIZtlUizQ2Uf04IAiHQEOwJGg11xyBOXwlEbRaYJ3nfe.mJeQHIS9tGlQY8bpYnLDBtJ0SPOJaBZHi5RhPTW03yzaUj9.Lk95W+8dnWdvtXINOUPVgJAeKkT0AxXWxE.YX5v4Jl6RhOWJB09l0E.ruKTgupHC6jYBedu.pqKLwIhopK8oVB+yd.Ed3P5OCI2zr0FMQAkotg9ZvhwO9YeJJNwyiBRVl4yJHI4J.bumYZ4uj5J8Ud+aPn9D5XeoRZSM29Mng.BPgaBCKKyJpd6HyfBoEohTzMb3DLoH.+WPU17NoJWTH9XyAToi+7wXk4fQ3y98AFydf4CM2yyi3HmAvZl6+CK6qIKd4eRd40L5obS5x+PyLgaeif+XQ2HHbg2H.dfwA9jPJ1Zn+NcZDP5Q4iKVJE.2iigyraQ0mHDRECWwMRRoZ082P5K4M4BRTb4LrOkksTRKyFuLFr2fDwIwxFYS0Mz2V1oYMtw3DJj4M2HHrc5fmowYPxJLzw.nlNckYiowtatcip20hL2J6X4orB9OmUHpcesUSsEqO7MvS++elkRKgsRNFGRU8.6wufvfwEMF+Xf72Cmvj4ZaUBkGI3hPeAm5TtOTFQGOlDUD6y8.ssTByByz7zdmPXDbLo3KEGB6lfit9nz85Boy860mXlBWa0ju8+kuauSaytyWGptPuN7VGuK+KEucfxIhDIv.eDFZTUDaGmDLDHtcH.R3bBKVQlUQsxUpbSkr5lYHg6pE9a3WlwVJYiLisxM9NoFAXmHwYNoKCp5kenVCbt4ZN+Uf+QLHa25Za.B+f8unm43TNU2HvMW1.aurA1YYC7YKafcW1.+xkMvu5MGn5QqsSjhfzQVD5nA6o2X2vX5dBFUQ+CrLBvRO
      
      posted in Newbie League
      HISEnbergH
      HISEnberg
    • RE: Neural node bug on HardocdedFX as embedded

      @resonant I had this come up regarding the global cables. I forget exactly how I got around this, but I recall that just loading a new xml within the project, opening a scriptnode network with the node/global cable in it (maybe recompile the script interface and/or .dll network), then trying to relaunch the actual XML I am working from, seemed to clear up the issue.

      posted in Bug Reports
      HISEnbergH
      HISEnberg
    • RE: How to control sample start time with the audio loop player?

      @Lindon 's answer is definitely the easier option. But just for some further information, in case you want to go down the scripting route, you can read about the AudioSampleProcessor API and the list of available functions.

      So reference the Audio Looper as an AudioSampleProcessor:
      const var AudioLoopPlayer1 = Synth.getAudioSampleProcessor("Audio Loop Player1");

      That gives you access to this API and you can use Audiofile.SampleRange(int startSample, int endSample); to adjust the start position. It will also give you a lot more control over the Audio Looper.

      posted in Newbie League
      HISEnbergH
      HISEnberg