HISE Logo Forum
    • Categories
    • Register
    • Login

    Convolution Reverb

    Scheduled Pinned Locked Moved General Questions
    16 Posts 6 Posters 1.4k 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.
    • LindonL
      Lindon @Lindon
      last edited by

      @Lindon OK more searching in the forum and this is the fix.....

      add this line of code:

      Engine.loadAudioFilesIntoPool();

      HISE Development for hire.
      www.channelrobot.com

      1 Reply Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart
        last edited by

        Yes, by default, the audio file pool doesn't load all files into memory, so when you export it it will only embed the ones that are currently used. This line will make sure that every audio file is loaded before exporting and should be used whenever you have a collection of IRs that you want to switch.

        1 Reply Last reply Reply Quote 0
        • Christoph HartC
          Christoph Hart
          last edited by

          FYI, I've just added a safe check that throws a script error whenever you want to load a embedded audio file using the scripting call AudioSampleProcessor.setFile() without calling Engine.loadAudioFilesIntoPool() first. This should catch 99% of all use cases that would lead to a missing embedded resource.

          J 2 Replies Last reply Reply Quote 1
          • J
            jackburns @Christoph Hart
            last edited by

            @Christoph-Hart said in Convolution Reverb:

            Engine.loadAudioFilesIntoPool()

            AudioSampleProcessor.setFile() without calling Engine.loadAudioFilesIntoPool()

            Where to add this code? I use old hise 1.1.2(

            The convolution reverb is not embedding the IR samples into the Exported FX

            LindonL 1 Reply Last reply Reply Quote 0
            • J
              jackburns @Christoph Hart
              last edited by jackburns

              dfdfdf.png

              i have this errors(((

              1 Reply Last reply Reply Quote 0
              • LindonL
                Lindon @jackburns
                last edited by

                @jackburns you are going to have to be on a more recent version of HISE...

                HISE Development for hire.
                www.channelrobot.com

                SimonS 1 Reply Last reply Reply Quote 1
                • SimonS
                  Simon @Lindon
                  last edited by

                  I'm still missing something in doing a basic IR loader.

                  I'm getting the list of audio files with getFolder(FileSystem.AudioFiles) as suggested in this thread, and loading the IRs with setFile("{PROJECT_FOLDER}" + impulseName). However in the exported plugin they don't show up in the combobox, I'm guessing because I'm supposed to use {PROJECT_FOLDER} instead as FileSystem.AudioFiles doesn't resolve.

                  I think I should get a file object for {PROJECT_FOLDER} so I can list the files with findFiles, but I couldn't find a function to do that in the API.

                  HiseSnippet 2059.3ocuXszaibbDdFIMFVz4wZi8GPCdvfxQQfCeSXDDI9RRYEkXDo0tNAFKZMSSx1ZltI5oGsKggO3a4TNleO4+PNj+F4dNjT87dFNd8tBNgGHl96qqpqtppq9wLA2h34wEZ5UVrcCQS+WXLeKStd3ZLkoc4HM8ekwTrmjHPgPC1tA64Qr0z02+bEf9gGnE76e86GfcvLKRJjl1cbpE4JpKUlhN6zWPcblfsIKntY5cqSuzhyFxc39f8ruQcsMXqGvqHWiUcaOCsKvdq0z+Bi5s6PHcatz1F2rocmNc52qeq9l3k0agu2rS+VMZ0sQutK0z+nw1TIWLWhkDOPoC31amul+FV3.bG0iduCQ0vTaNLxgvZCWScrmE6b7zzzOXVpqZ+PW0yMlRsoI3otrmEPfRkHqSSeu2kIY9AXR5YLoCBMoO0XtkftQlxnrmOw3RFDAWhgXSVSIruZ68C6aLjC8fIOwE+.Yh.ZjHQsN0qeLB96nurREH93IQPmej63Kob1sjGIh6Q+NTPVyIqHxy7so74X2MNjDqnV0LhfBkoJnuP0IBZOm3Pr.+BnqXiAaaOj6dOe.+s0plzKUmpdLxDrJy1JqJu7m3Qj0pRkDWupGWUMJUFyVQYjSb3X6.qaB0g3ASP9LN2oFziCirDp6FeGOxDtiMQYHpNNeKj86plYgv0x.lpsjISjJ7xK8RJyNne0xMDGip9EUQGiVhAHPEKAWEUfnrD0bz2U4vByOvqbInSnimH4ykBJak5ak5YvBkiNQP13nBbUO4M3GC7Afp+9JUnLGvMfV5yrBhCbVdMqb6BvgXwc2vYP.3XziXGexQU.ivgagchMKXxEaf+4ftf9sHyuIi4TBYh8At6cRfTAMUGpU86lc6M+gwCW75I2b0nw298UQ+l3wRMKfn4tg6HCeH1w4dnhQsejI1QeYlo90bI4FVsf4F3bPEoVtrTtHU4.4AkQqJnIdWBVi46duJvm5YUcDV.mupvG89UUvJbkRlNxYWxnxa1PhZGjnYG98t0PzhVpoplDYgPWkA0RdVTsj3kfZTPM+ZibqC0BlFIkvO8Ocp1Wc4HrDGqPP2v3sgHjT0zReD4QXCgvhUGZLh38fjuInuQ4bvT+CX3eqltgdEXj2p93uAeDrvWau+YEiJlnKfLBOTcSzUXwJRPyTzFnoDapuaA3ln4tvWEPaEohOGcMAKRwaGqjhDchTSQ7tIJZDV7PJduTbBYSJd+zAHGgYcUYRKvwl2RMMQmCg7BfMPywLaHjW.uInTlWAOiYKzPGvnKf1FMP.acT.sC5LW0wCrwEbjlcQCHBUEmhJpGZ.2SBqJTsQmkRzOGwfDhFvbcM0BuhmWSMLQ2QILFt.bCzK4BHGWVbnazDsXMAclvZ8H+GHo3sPKD7sno9dTqBhzFbcTlD1fy4Q3iThNPjwZMlQsJ3SZzMRjyIv5I6JMQ2x4tA4gykpcLf4bBViXrAfSm6QRYZlxLAxfRvaEiOLEqcL1nTrNwXiSw5FjDADvZsTzdQSbUyTz9nKH3G2lGER6BySeImaSXEHMiR5KkrQjjKf571E3ZFmkWFYqHsVFWazHQvhC3zWpBqoLcPi9VLaE2qfDciz1c72VfoG5bGUBddz9nYDgkumWvQWxRAokSwBnpLZBealgtgYxZ478uQRMg73Mi5+sEmdPd4tXv5P0lp4A6Dqhbnwy07n8PAmvq.ZezPh5Le4gaVGM.1Rs.XRh7KRwfEcXprf2qYSnJknfeqYKzM3GfqJTXl0Dxhmn71KCwaEGTyTBONLmkKoPdYjwkyKiqU9ZwYoZmDp1gpShTCDzUqk4H6lHWIj8PufB9xxLk9n4Lrnz4Grj6tfCeUFmI5rOeZoLMPCGUJQSzMv9CkwzJr5PYTsgx72G2FpekkqSNtA43.+gOrAiLQoAJBJZCkmSipwP4YShqkSGGYKmsPrMGWlMs2krS9HeNttEC84X6kp1xn6WL0HKKDjC78kNYfn7Ub1peDxFQ6VWNaynp3ky1BVcCU7d0qtJOd6rE8NiJp.dE3x3gwrq4B4ZHf5CailgnAZLVc4vh3Pbh6Wl.sPujTl.sQCgSM3hCqBjhCeYwU2u.p9fWQxv.G0.CivEbeurv8PCA+xLUXLErOr8ObQjTDv0CEYeCrkE5NH9P1lgxDs.1CwgnXy.2.clE1l3tE80XQVBvaSgi.PsyXFpiSggCsxx.0NbKXzezGKDYGvNnw9v4kyZdcQmC2IvNrslKN3Lu7fGRYm6++LiobaeGrL+yQndnlHBHfl6M.T2ym4Qkay9PNe.uQQ824aT79ZhepwLpzZc413dkXiv8K9egMF8xN+RiwKWBWcL0.OvXxqdmOiyAueCe50w9IeRmOK1Vxba4.a44F69ZJ4rsQhs4eZtu9u+RhLOjl1Ufgyrx4SuL7h1WQXqjqylPDYVWx13Kyh+UdD0wCVI39L6EqEDrcV8MSPrIN3biwEzgYzwe4eb5Hr6FXQc19LYxhnqHFA87SUuNP36.drQw2Hn70qpW+PyUMmMzU5HZky+9utulCmuABbBYLmBXLyNlWe+eldiNsagRevjaJVJnpg+ZeWnZHb4DH0hwHNdpgbO0EwCaWO1hlSX1AM9OvuHRSUa8HRyXx+uLFtXKA+0VgOQfJS8iCPf4MKHnbnwTUajYgWDP42o1zWaYkWU6HXimpfMepB15oJX6mpfcdpB18oJXueZAUOU8Y9RtaXcWMsoyFG7BN55iYXHKOnjh1+EQKgIp.
                  
                  d.healeyD Christoph HartC 2 Replies Last reply Reply Quote 0
                  • d.healeyD
                    d.healey @Simon
                    last edited by

                    @Simon Are these IRs going to be provided with the plugin, or are they external and the user can add their own?

                    Libre Wave - Freedom respecting instruments and effects
                    My Patreon - HISE tutorials
                    YouTube Channel - Public HISE tutorials

                    1 Reply Last reply Reply Quote 0
                    • Christoph HartC
                      Christoph Hart @Simon
                      last edited by

                      @Simon read this thread, you need to call loadAudioFilesIntoPool().

                      SimonS 1 Reply Last reply Reply Quote 0
                      • SimonS
                        Simon @Christoph Hart
                        last edited by

                        @d-healey They'll be shipped with the plugin, with no option to let the user add more.

                        @Christoph-Hart I did!

                        const ConvolutionReverb = Synth.getAudioSampleProcessor("Convolution Reverb");
                        const reverbSelector = Content.addComboBox("reverbSelctor", 10, 150);
                        reverbSelector.set("items","");
                        
                        Engine.loadAudioFilesIntoPool();
                        	
                        const impulseFolder = FileSystem.getFolder(FileSystem.AudioFiles);
                        const impulses = FileSystem.findFiles(impulseFolder, "*" , false);
                        for(ir in impulses){
                        	reverbSelector.addItem(ir.toString(ir.Filename).replace(".wav",""));
                        }
                        
                        inline function onreverbSelectorControl(component, value)
                        {
                        	local impulse = impulses[value - 1].toString(impulses[value - 1].Filename);
                        	ConvolutionReverb.setFile("{PROJECT_FOLDER}" + impulse);
                        };
                        
                        reverbSelector.setControlCallback(onreverbSelectorControl);
                        
                        Christoph HartC SimonS 2 Replies Last reply Reply Quote 0
                        • Christoph HartC
                          Christoph Hart @Simon
                          last edited by

                          @Simon loadAudioFilesIntoPool returns a list of references. Do not use findFiles, the files do not exist on the user system.

                          1 Reply Last reply Reply Quote 1
                          • SimonS
                            Simon @Simon
                            last edited by

                            @Christoph-Hart Ahaaaahhh that's the step I was missing, thanks very much!

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            24

                            Online

                            1.7k

                            Users

                            11.8k

                            Topics

                            103.1k

                            Posts