IR Sample loading on the Slot Effect
-
In the Convolution module we use the below API.
How will we use this for the Slot FX?
Synth.getAudioSampleProcessor("Convolution Reverb")
-
I've ever wanted to learn this too, please let me know if you figure it out :)
-
@orange I don't understand the question, do you mean how to load the convolution reverb into the Slot FX using scripting?
In that case here's a snippet
HiseSnippet 2371.3oc6Z0sbaabEFzVLS.ZRSxL49tlWjArlhljRJoic8TQQBZyITjbDorsFUUOP.KIVIPrn.f5moQuM8gnW1mkdYupuAomyt.D.jTxNZbx3Kr7LVXO6YO6242c2i8v.tEMLjGnTPc709TkBeQwQW6E4zxwj4ozssRgupXGVPXDoYTDclejxdW6aFFRsUJT3gu.Ypf5FJhe9e+k8LcM8rnojTTdEmYQ6wlwhRoNb2ej451wzlNlMKC2auaWKtWKtKeN.nGVrlhuo04lSo8MQ1dPQkBelgMKhGLJxLhFpTXi831WOxgeomj+WwBYm5RwA0UFABRRtC20FQLRUokCy0dXhhGp.RYXpY3gRyv2VbelMaA8TywWKlfjthr1iBOHO7dXN3UOK7pkAdqAREx.oMjP5aJNxJf4GkNChmeWwtdQzfIlfYOKTj7p7f+6WUrEG3vKp5LyyocBfAKVg92WqVExN0pU9YZZO4Ip8atuAYPGx3WZP57Fx3Ajt8GYbvXhtw9CGeD44j9bXhxpattez.mGDnbgY.t3mSNVqjADwbcoJZkZMO3BpweW7I26Bt67HF2CGNhMy2kd.8BZvooiwHKbTapqoP.hPHZfj1z.H1QHKGdv7P7qgNlgzNuQHAyn4AlfaPv70dlyXVBdF4X5i7nchTcATNp2fwiHGXzw3.i9sLTuMEZjKOJTnShzipSoQHoNuQujwjITqHAG0KUtxcxPi2ECa8tXX62EC6fLDqfCa12nG5Fa2czvdMOJww1ZPuC2u+pdQU3Gh3ux4KGZ5QcAkOIPB13V7Y9bOXfdo34KgwP3lN50MGhaRmC62Zb2A8WWvhFyyk4QISl6YgABjvKM80Y1WUuBA96Fk09GZptbKSWxjqpCasv9eLx.nZKloQ1YZfynoB7WUHMX5xBJw.rZ.0GhphzAp2rH.PZhF1ra+wjCFb33t8yEDnkr3PZzPb0GvgHWOpdBx0mJv5zpSfRZMcc0ibXgnERuzoSkkxJUFwwTTDc3nEylNwbtaToJj5aiSgVYSPURVZOT81iO2yNTulTGPVBAME3x73sNg7DodW0k5MMxYAKStRDjhVBzTvCH5gDlmj4xZp.Ri4CXSrWPhY.3FkAPnoQx.yFXXxUHGcsSIC4RTXBlc0v4mFFEv7lBdspLOa5UClnW5skJSdLQ3Dig1hkdZbwIobYgIEqjBOlI9omQdN7MhS0RStpzSWKJqHlFACv.9KIgjs.Hl7IP+lX4C1lp9yCczgMA2yaRLZlt9Nn4uV0cDFRLF1v.SaF+xliE4LsOn4KdgQ63xEc6213MjtXcC3qC.58ZNZrbgPIywjl8dcyiFQdc2d8H6cD4UcG0cudFxcyB7qQlAAI9oX2zYH.dF4LxeNumkb1ieL33TYSPddTbPhsYjYUHlGmQMQhRs6LY.Sdh4WzyPnln8rTLbtDCmuBFNWfAzov.VRD8wmKhyHwnCruGyNo5B+7O8SjXRxnlmShONP.5Ti9OfBg5FRyRtd0ZwtMQdiLQJStEbVvrrYWpwfHmhhlKV4jvIYJ5AXZE09.HNxzapKU+3FUHMffVQ10ejvp.IXMNgrIY6JRZvWmTgrkXWxgF4uBqdIKxoIh6TJN.9pHCrJmrP6.yKa5xl5QsGSuJROiwoB43ZUVBAxwvuJYAQ9APTsPP2H00X60u.EKuk4wYFC.a5Q+lp14vxZLAuWX81MP2ncS4kJvu+fCGYPZ0rWu8Z15GW9HorU42mOOj1xz08T3tmok4g6m3EIJ0iIMNYpV+RJapirzYlpzNqqDMFgJDTUGNbeGx28cjGIGGPCgSDvX0TcUxyyI6aBG1OwkyChW70frwso7RBMVHXcndCZ1N6gvffwiedi9RhuBQtTLeBcOKKRKWl04xjYIAzAjTKXYtDI148cuCzqlSLwxNqLD9aPJoLbT7xD7X4.w5wmgbSdjOC8iG5i1XVXa5D3Pa6kpChysRAiMqGqdYAA22Wbx0cqLhqcjSfUHqHEAmKaj1r9yVuJkDHOhFIu90UQygq9Li5MW8tuPElulvuNTs175LWpBc2xqypVZSxR+AtprZIt2S3SlH9LfNCBUfzZWwv0yO9EyKjFDkPJyga31gWCIFFxnGDBxSmvOkpa5k0Bwp79b+496C5ZWjY39RxEcFm4oW5u5IJ8iWkKuxBOPQZzxXvRrKq+kK2pIDRXDdQABQyWHT0yxQpQwJhE7vCxZrJOM2bYrM3DpmFPMO+YKXI1bKlR5hxbeoEWw8j0bWnUtJk5cyNnUK3+QIahbgKgoL9cAtV85jvOP.qK0LPesRPdd+SWBTuqE.uP68ZIfG9kvsuHu1fHJ2gWTqYqwG1rGV4CtP+fj26fWaCVP78tWV3fEI15jFHd6OaPaQ7A2qOOhNvSWDYnciFY4olLYsygwkAbWWZvZmFaJRvcsPcu4yNEqcego6b5BFUJrQ91OT71a+P1tiXIeVWFF4dc8XQC7od2VOSTheKH70gcaCExvdVDSC3yGh0YHDJzldAyhJ6fgZw1zvyi39Bdie.oRguHRL6WlzeCzpqvrQ9i8AJWsnIQ+a2cuNsiQi28RlcjSJg+1tNhiiS4OXWrFPRSkT+reF9Am.Bq4WlbNeH1mK30ajTB4q8nT3eUbkTbMYVqVZhh1p7jO4WSDgqE2NDsL8BQKaiPzR6BhlnEHZw8+PKt4GZxNenE21CsE87PKogGZwc6PI8pxn526o+Ag5m73Tj1+4epHnkxYCjLP4mk8qakdQ80E2maO2E2vrsFCwa7DfFkqeTXOm7BYQWmsegK2urMd+5W1c2Nu2W39MEGh0xWOdevZvKDh+qMdi693WVTVPJEra.oB22VMV+ta0XwU2+OunrwRhs92WLaGtxChG9gBDEVEDpEiOMPfhuMGJdqXpecvhhrEOSg65EvfBOE6Oe1HHmvhBtCOnZDVYsvCvZfxw0vwX3wHpmsX.ViIdx533BwSVOYxeS1ieI90FeT3Wa7I+5GX+5VeT3W25S90Ov90s+nvut8m7qef8q67QgecmO4W+HYOlYZEveqk7ceni7yET.aqm3eSb0h6iiI0UDuEDVWwZUqoLiYydqkEduwMg6bt90z3drlstGqY66wZ14drlu+drle3drl+zctF7+d.MmGwmIeSAPXng3AxEJX3YBYHhrIk+OON0cDA
-
@ulrik Ok now I understand (I should read the topic title better next time
-
@orange Can't you prepare the gui components and when the convolution is loaded, connect to them?
check this snippet
HiseSnippet 2721.3oc6Z0saaibElxNZQH2ca2EM8ldSmHrXgTihhj+Y2hjFzHqeRDVYIAK4Da35FPSNRZroHYIorsZW+1zGhdYeV5SPeCZOmYFJNTR1wwHYQtHN.wjybly7c9cNygtWfmEMLzKPKi9fY9TsLeU19ybiFWarIyUqUcsL+5rMYAgQjpQQzI9QZ6Ly2LLjZqkIy5uDIJi98z3+7e+y6X5X5ZQSFRS60dLKZa1DVTxn8dwOwbbZZZSGvlnP8VunkkmaMOGuo.fVOaYMeSqyLGQ6XhjsVVsLeQCaVjWP+HyHZnVl6sim8r9i8tvUP+qYgrSbn3KUz5CLRLbSOGaDw3nZ0Fybr6EK3gZ.W5knFVWnFdP1cY1r4imnN9F9DjjUnpOxrVZ3sdJ3UQEdkUf2JfTFEHcOAj91r8sBX9QIyf34Ky1xMhFLzDT6pPQPq1ZO72jslGPgaToIlmQaF.uLeE4+gxkKR1tb4BOyv.T8fY9by.BJD8bcf0ctmyzHlmK44jXtLhFUyahumK7R9bKSZNfWIrRYh2XdNsoWvjqkWqf1bI.StSgoWdUGm4bHbNb3K6IOQuS0caP51jL3UMHMOfLnKoUm9M1a.Ieic6M3PfUc7fIJn+3U8ihX.K94jiLx0.h.lkqnQtZSCNm13uweTQ1gW6yl36P2idNM3jj2wHE7s5TGSNC3gDz.wXiBfXANuF6ELMDep2XyPZyC3bvLZZfI3VwIdlq4DlEml9iM8QZLNVHt.J62t6f9j8ZzrwdM5Tqg90IP8c7hB4xDObGUk3PMO.zgCGRsh3TTIWgh2HAa7tHXy2EAa8tHXaj.o.1qZmFsQyX8V860t5gwF1Zcau+tcV1JpC+P3+WJaYOSWpy05FJmm6CgaZ+2TsGtIM2uSsAs51YUNKFLWGlKkLbpqEOdI7BS+7L6KqTj.++FEL9GF5NdVlNjgWVA1Zt9+Hj.PzlOyFpyrANigNPeIN2foKvGQBvRATevqJJOL5Uyc.DpndUa0Y.Yut6OnUmTNAFwKNjF0CW8ddfmqKMeLxyOhi0QkFBongnq7QiYgnFJetSFIRMmq.hiQHKZ5gZLa5PyoNQ4JRprENEpkMAQIdosQwaGuot1g4KKjAjjPPRApLOZyiIOQH2kbntihFOmjgWxcRQMApJ7BH4CILWAwELzAjJoCHiuWPfY.XFENPnpQP.yFHX3kHEsrSFFhknvDL6RgSOILJf4NBrZkXt1zK6NLet2lq.4QDtQTBs4K8DYxVAeYgwIeELWRj2ImRdN7LhS8bCuL2SWIJKxmFACP.9Kw.waALX7iv3WI4OnaJ4OMbbdXSv87pXkloi+XT8Wtz1bEI5C2nAF1L3UUGviYpuW0W9xF0koKZ0odiCHsv7FvS6Ai2tZ+AhEBoLGPp19MUOrO4MsZ2lrygjW2peqcZ2PraVfcMxLHH1NIMSmh.3YjSI+ozVVxoO5QfgSmMDo4gRmDayHyRfOONidLGER2oBGlzCldQOCgZrzyRvvYBLb1RX3LNFPiBCHIl0GcF2OiHQGneOhcbo414e9mIxgDdMOmHONfC5Dk9OhLg5DRUGtRoxRyFOtQDHoDaAmELQM5RWBhTBJptXEhcmDgn6ggUT68.+HS2QNz7GsQQxFfSKO55OPXEg.rMNl7XxVEEiAOcbQxl7cIEZD+JrzErnwUQbmLxX.eEENVEhWncf4EUcXibo1CnWFkWQ4TjbT4hKf.w6vuxYAd9AfWMmQWIjUo958PvRqYdjx6.vFc3unhcJrrBUvsBqWuB5JiqJrPB9c6te+FjZUa2dmp09oEORRMK+tdSCo0LcbNApkNIMOTehaDOUOFzLVIa8qnrQiEoNUxROdUonQOTNiJM1Cp2g78eO4gh2CngvIBnuZhrJn44jcMgC6G534EHW7Lf231TXAlJYBlGpc2p0UODFXLd7yA4Wf8EIhkhwSn4YQVZ4vrNSDLKF.M.w4BVjJdfcZa26.85oXij2p7fauAtjPvgxkwowZL3qKOC4pzHeBZG22G0wrv5zgvg11KjGDmaoDFOthT7TAgmuO+jqaVX3kcjhgEIKwENkKpjdbkmcKDIauovsgpgJakyxeOTyyqU53UbnJJ7XJDtlZdVy4UKbiqkGqSgKS.dXCub43v9zHQ0iWFMEpbaB0cp9MWOHltIl97vgMlyTpID8VEUiqm6wjE9GToudNO2m3MbH+w.5DvSGxJ4vec0ziOwbCoAQwCob1LtcXUTRXHb9QHHNbEeTXsRp0LDOjx2yep+tfr1BIFJ2SrnS8Xt4y8Wb4mbgUhlVXg6WITZJJrX8xpu300pBAqA2IjiPT8EBIssFKjHofXA2ahrBsxSSMmhtAmP+j.p4YOaNIR0MeJgIRobuazyYoJA0uYxAoZN8OLdSDKbALoX243Z4pggef3MGpYP9UxAQ4JOcAP8tV.bAya0R.K7qfhGIuoAgmsFqyrZsA6WsMl3FtOR23qqgUcBKPdsgEYNnQjZmDGwa7VOMpCkn17fkbXRheShz7iKSUF3sz0BhCQDkNxfRGES2Y5jpQvEDNYZDMDnjvlWCouHrQP2bh.9wJLG8bl5iFq39XTfuxvwdWfwEAdN4GZBEAISugY2toak7nT2IgWLZpdvHP1xcmI0FFELMd+zWQyWjA8wsapkMFwK7MuVpCMwtczBQJPc4X4GrTyMKdtc7hnccyyMKFWYPVbpgCW4bRX6PCV4zXuDCtoEl2c5jSvRDN2zAD7XB0xbuzcsK6020N0lJZI5dfBgdtsbYQc8otWWqF0jsb.6vmDU.oQ7968ak82q5TalGpUAelIZLablUnu03RgZqV01uUc3H3XdCaCr09PZNFJUYpSOmYQE8RTOacZ3YQd9ZYVadqOzx7UBj70wcZDC33HPOqL7S6R010NS8kKX1QiSF3u9hw7BImOx+N3EX5+316p+E+O3GbBHiF3SJqPMD63bUGGRx.oO1QKy+J6RY2MDIrMRxQZrLMoy6avStYHajmghF1PsEdFI8uyf27NCYm6LjssyPzyNCYC6Ll2sNi3V0YH6SmVxk7Pwu8S+8bwOtsJ3X+m+oFerDJ2.GFFgOrlhs5KtNa0Wxa3KfWZfp0x9lrVu3uuBqE5FMe6t+0scOH6xYYT2WMsYpubK1WeS7DRk8VUhNONXLy5ovmwcKHRAnempB56Vzcd1h.EbvWBnqTWnj.UKyuKqZ2SeqJcXl41fLhwpqojGU5.H+zIK8YA9lr65YO0A83T+JEnCqbBj4peZ.r8+tgrnYpe5lOXe5haKD+1r8vZ2VMFWaEXDxq8w.ixO3yWKMLI.7dPNuORecmrKu+2Oqn227s9Wo5kTIMHV+VChJ29Owz5wGKHq3iihGjBEukO0GGrnI5B8H3ReALvgOKTsUeH4mEELGtPlF7T4LqgI.EuWFeGcI5Scs4ufGlHmrB9dF4jUhm7Wj838wttwmD10M9rc8CrccyOIrqa9Y65GX65VeRXW25y10Ov10s+jvtt8msqehrGSLsB7dqk314ng797Q.cqK+OCI8r6huSpDeC7rYKWpr1DlM6sVVXciOFt5+pWyF2g0r4cXMacGVy12g07C2g07i2g07Guw0f+EYUcZj2Dw8HfA50f2IjLYZ3ZBQH7nIs+OfrcEwC
load the "convolution" and then double-click in it's slot to connect the audio waveform to it.
-
@orange In a loop, you can go through the FXslots and get which one holds the convolutionFX with
fxSlot.getCurrentEffectId()
.Then :
reg convoSlot; // this will hold the reference to the convoSlot reg audioSlot; // this will hold the reference to the AudioSampleProcessor // a function which goes through the different slotFXs // ... convoSlot = fxSlot[i].getCurrentEffect(); local reverbId = convoSlot.getId(); audioSlot = Synth.getAudioSampleProcessor(reverbId); // ... //Then load the IRsample audioSlot.setFile(reverbIr[value-1]);
I'm exhausted here and the project is dense, so these are just the steps I followed to swap and load IR samples. I'm sure you'll get what I wrote :beaming_face_with_smiling_eyes:
I should mention that I'm using this in a HardcodedFX which includes a convolution node, but the process is the same as slotFXs. -