Getting and changing Range Start and Range end in a Waveform associated to a Convolution Reverb
-
Re: Any Examples of AudioWaveform (RangeStart editing?)

Content.makeFrontInterface(500, 350); const var ConvolutionReverb1 = Synth.getAudioSampleProcessor("Convolution Reverb1"); const AudioWaveform1 = Content.getComponent("AudioWaveform1"); const var Label1 = Content.getComponent("Label1"); const var Label2 = Content.getComponent("Label2"); const var Label3 = Content.getComponent("Label3"); const irs = Engine.loadAudioFilesIntoPool();const var IRsComboBox = Content.getComponent("IRsComboBox"); IRsComboBox.set("items",""); for (x in irs) IRsComboBox.addItem(x.replace("{PROJECT_FOLDER}").replace(".wav")); inline function onIRsComboBoxControl(component, value) { if (value > 0) ConvolutionReverb1.setFile(irs[value -1]); }; Content.getComponent("IRsComboBox").setControlCallback(onIRsComboBoxControl); const sampleComponents = [Content.getComponent("sampleStart"), Content.getComponent("sampleEnd")]; for(c in sampleComponents) c.setControlCallback(sampleComponentsCallback); inline function sampleComponentsCallback(component, value) { local rangeStart=NumSamples*sampleComponents[0].getValue(); local rangeEnd=NumSamples * sampleComponents[1].getValue(); ConvolutionReverb1.setSampleRange(rangeStart,rangeEnd); Label2.set("text","Range start at : "+ConvolutionReverb1.getSampleStart()); Label3.set("text","Range end at : "+ AudioWaveform1.getRangeEnd()); } inline function ConvolutionReverbChanged(processor,index,value) { reg IRFile=ConvolutionReverb1.getAudioFile(0); reg NumSamples=IRFile.getNumSamples(); sampleComponents[0].changed(); Label1.set("text","TOTAL SAMPLES: " + Engine.doubleToString(NumSamples,0) ); Label2.set("text","Range start at : "+ConvolutionReverb1.getSampleStart()); Label3.set("text","Range end at : "+ AudioWaveform1.getRangeEnd()); }; // Broadcaster definition const var ConvolutionChanged = Engine.createBroadcaster({ "id": "ConvolutionChanged", "args": ["processor", "index", "value"], "tags": [] }); // attach to event Type ConvolutionChanged.attachToComplexData("AudioFile.Content", ["Convolution Reverb1"], "0", ""); // attach first listener ConvolutionChanged.addListener(ConvolutionReverb1, "AudioFile", ConvolutionReverbChanged);And the snippet for a rapid probe. I hope can be "usable" :
HiseSnippet 3005.3oc6Z8zaabbEeojVWS53TmD2VihlfwD8.oCKMon9qccDknDsYMkEKIkcRsERFs6PxMZ4NL6tTVJFtvG5gfh9An4V9DTjiEn4fJPAbOVf9EH8XOTf7Intu2tK4N6xkRTNtNsAg1Fly+d+edueyLrlIWgYYwMkhkn4g8XRwdE4FGZX2oTGplgTk0khcQ4U6qpwuGceVYtY25Ti1Lo0NrG0xhoJEK1z2DmYr3yH474qVYMpN0Pg42kjzc4ZJrpZc0r86sVwaqoqWlpxZp0UX1yUrhB2nDWm2GjpokyI0iprGsM6NTbZSIKcKpUGoXWQd1YaorTtbKUnv74nzBpT5b4YEVl0ZgVJyma4bp6NeN3OKHE6LanpYyMaXSsYVRwlYMt5gM5vengKCtqlk1t5LrQdoF.mc6tLWWEUQrWoRczzUqMvbYIADsluwaZWi2Ek2TSUaX+9FwK3L.weEhFvXSET7lNf3kWT7xIHdQHRwDDoYbEoWStghoVOa+QP44bxULrYlsnJA8ktyUZpOItbINLCC6rco6wJaBMFthTymKWFBXzSe8DfqxxlrO0j.yeetdeaMtQc19LycyStAwIVJaalsSLTCZ2d5rgRRpjBqg3snjCI5vvtVPXGRrARDPtR7t83FPiTICNsjAjopzcY5ieotCGwRl83WxrQrjBG+RJfKwaMZlVvj2vnslAKqNmp5nBk0zYVfMlWiy0Sk959zuRcKfb6xWievXYhvbPNIzLqECFWyl00JYlj3ffghj5.hlAJIoSDWbxTU0JvTScPVSVOczYm7Q0pu0uXiRMe+xaUc8Mp+3jo8GK6Co6mLMpZZF5f5PZ02PwwcxMDHKJylfVoLPfy.JldeV5DOJAgPzZQR4zl7NjbowdhGezvITQPiTJPpuu6z+Y42I80IteR73qmXBrMHU7DmRTc8cgbKohRVSe83C7WVNgsCIH57tezbxclv9XS6joyjfL1OG2x2vPMY5ct93WbBzClRAcfgEMv3oDkFFddCFHJO23l637dC+nyUn5DSr.giI3F2oeW2s7VWILQuetcPk+tHcff8HniKg.ig.YHWYDo694CRn3j3nIJdb3uiIHxkXNExR4KsYFvOjHwi6tQ2cyiM6.aXuiyJHV3jITax0HIe6HXP6ALvgpoRKPtBQPNlg5.hEJiGRo5dxDRFHd7wIF0cMhH.UcfEolp2f7rYzLTYGjw2mYxZCIUv8R2HZEXXBoTXNdm466Dtg6Rw4424.eXT9YEOABsDtobCXGZtUyUqRZr5l0ptQiqgDII4sGjdTk2GJ80j2v1TyncJeFlIWZhyd+DuPcUH6eA3qvjQIt5UIqYBo2UnVPkShJqklgFx+nqZ5427KMnXx..ABjHEteKolZRPBFcgIwDNIolssfwuexgt+jYf0fQ.3WbBBRtiyTsotScmDONsq3RssoJcH1bBXgLrIHDhDixortyqIG8y5rCVmZS8JD6DY3kcC328irD+NffjCkljA4aKHytMQWCzUClYjLVUsp2voF0gBTbnP.jeb6LPlF5iPYq6vsYaYjB2nDG1vQBOTqVQNlWFWcPvhZXDiq4wsvTF86tKyTH0pyDAbbAAGJOdvghXWUbcABSDJxAQea0iYLNDsRd9M.H4LdREfx01AF4OvCFYfvdIMUDZavsBRNJfH5eUH7.wqGFHg6d5MLrXcAMnQWnNyZHfBI+jxf9F61+VIoA4lw1W4OMkqn5HeS6Jeupm70PWSkY5HXmWVnbb.o5I2HwSWYRHw4jGVRN.A9f+3a8uFk.Wvi.CPR3IEBXKBaa9IEk1tBt6Awt6Y8AOROlosF5risNae3jStH4iKuNyZOadO3qCSvBx3o1Acfu.bwhG523RG8PMU6NC63y90E6vzZ2Q3PaZEGlVohJxzH1dKgXMGb9sWQdtYWdtkWXwYWddgAlMzHHJ36oY2oJqkcIcMk8.ceJKH3E2J6dvuXSKIn0mYBc6955S1VPWK9gE6RErCe4Jc4p.89gx2ALQTcsOloViYp.7BN4ozjwYwnEeZezGEhuhmV9Tv2y6x2y6wWmhTNr8rxtEUE3Iok.OORsXP+pj5H904J1Bh9bMzXbVKZecaIruFfH4OurEEctwOSlLW82i8yfbTTmzPwlFzh1FccsUx5fCUBKhJE6GKOZk97KuvBKsjzts8I47ySehCuDz8u+In6yJFSmRLlNrtW7CFQ2emIT2yDR2ey2j7rIU2uj7HHRJL+b4JDbKQ7y7nGczZHMwU4yoO+O+W9mXuhlos29IO6zZlJHXl9r8eIYltzktciI0L8ijCAzJ+hKs7RKDohGzD8EewSc5Mj87xW9S9cgsRmchyVKj7ntf0hXNvZIG6yf1CrTxwdKOI.Rc2SNw5lGtN0buF1IpBnxXj6AYJHanzgStETpKQWvhzuqPG047tj7N+2ZZswklvonn6nQUsLwc03voApTO2bRN4yjic1PZa7SHlXtwokeYuwokWzy5ig0MX5LEHh1fPwhL.DNcF4ZRQ6f8cWO6YOamv9kycBR57hIU4hIU+HeI8uFPR+4PqtPXpFdjIrjhqXusbqspSZdqJMxPHu2VaS1b6FMI2Z06tAY067djU2d8JaUtBjihT4N330ICuDDWnK6PtJw+RaRRHW9xWNjFtxJOcjrC9afNq7VGbXa.Jlzn2X2Ej2jq1WmZG7BDwqY0a.nXafasCuYNCKM6CEuF1v2p3LS1sJd7W54jJtulbMMakNQKuSEg7B.f9us75cGsmWdiVsfXVegcF4xu6wdgrmZQ4Dub1WefrHfexQVhFQknvAYUBdi6RR2iYKz0Qe5m9FGUEjbCk.F3Jc60W2hUkYzVDLvWshmbUwnWeaw921hsFUYu1l79FpM6.mFUM3xXpLcZ.dbKsRBz3S96EWGPDAosDmS4xM8.zNDDpOJuSwoDb.R4d7.ube3ICz47dAN5.1gvIGhM8DeY64O1KaWpNGbRFs2jBBHxd7tIfM+JL7XlFLc7vZwlByw41NG1F02FP4MmFPVvm4MXdrcLuAyOXPwv22z0n85xfAgQAkus6cW3dg9Ij8Zk+EwayzaheaFHH.wtGDBvQEWqOrGyLXuedQGVsZWHbJ.u7j75rdLp8lN3gGL3YKVu9Mg3udgWED9gIXZZBAnAhu9pU1xfA9SaQcrjI2xpEnNNzxRbnZ8gRyph83royJXefuUzqhNJX2AFCooLH.ve1NbIWS2z9SI61Nen1yFpcgPsmKT64C0dgPsWzusqAcSZOLx.ZG9ND9dSVLOPfZTPkElIfKYHwc6QL+6PyrinH7.auLe8rWp0495WV9Eyi8EefL1Py8Dn6CaKgdPY70G.VePuASQrI2f2qC2PSI3l.HntcalonrGoBsJd2c6IlMuNfIjZIrK9mVrJf+hZFbu8oxVj+T+vmQ5utjrq3Rv7Zjuc.mZ5u0Cm5qio6U8JLRbAE7+194WQ1IUNAq79Mkn9x.Vix.RA5l22ctEzXSyLvRGNmRPGpCqKFRaAfJPQBpnIZPeiAAhNmHqJGu9Twe4JDrKRM.o5wiN5u8hGcTiCMTBmzaL3Vjjp5.T0S8ExDy413COH9KmQ3Uq.xeRfW7QWunboq8..3ho0C9PNLqGrYeKMkGTei0gy5pB6Qzz2mYA3KwSdzmoaSsDgZiDyCp8Q+6KLc.n13XBPswwCC0dlIK89I7ytYluC3v2T.Gl86.N7c.G9+dfCuLJv8xfGcoJl72Ww8QHwX4y5zCn2FdWR+lXaRDuHaWHq36qnDjTirvYedWXgm2EN2y6Bm+4cgK77tvEedW3Rm7BwhVq12l20cKq2aC69qK..IJ1PN14Bt6R7W1oCCqf+zOFPZux09O+nS4Z+jUk6qqOxbvNCMuF6wdX3D7lfdg88nK9Gt4+3i+MqfWjIyzFkxEkKrXVilKb6kJs1MaWJa16tQYZtsyWq+b5J6U4l3+xt550dWse489U42tL78VYylUBx4ZpsaeD7i3iqVwkvN4Hj1r1FtXGiMD7Dz6+A.W4hwG