Forum
    • Categories
    • Register
    • Login

    Getting and changing Range Start and Range end in a Waveform associated to a Convolution Reverb

    Scheduled Pinned Locked Moved Scripting
    1 Posts 1 Posters 27 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • jadgJ
      jadg
      last edited by

      Re: Any Examples of AudioWaveform (RangeStart editing?)

      Grabación-de-pantalla-2026-03-25-060513.gif

      
      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
      
      1 Reply Last reply Reply Quote 1
      • First post
        Last post

      18

      Online

      2.2k

      Users

      13.5k

      Topics

      117.7k

      Posts