HISE Logo Forum
    • Categories
    • Register
    • Login

    (Solved) Problem With Convolution Reverb When Using 2 Engines at the Same Time

    Scheduled Pinned Locked Moved Bug Reports
    convolutionreverb
    9 Posts 2 Posters 471 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.
    • L
      LinuxVst
      last edited by LinuxVst

      Problem When Trying to Use 2 Convolution Reverbs at The Same Time
      One for Microphone Impulses and one for Reverbs or Cabinet Impulses
      each engine has it's own ComboBox to select Impulses

      if i Use 2 Convolution Engines at the same Time
      i Only have ComboBox Control Over the Second Engine
      (i am Using 2 Combo Box to Select Impulses 1 Combo Box For Each Engine)
      Here is the Full Project
      Convolution x2.zip

      HiseSnippet 2088.3oc2Y0saabbEdVIsIlLlINtI.4hBzABEAzNQxjRIosnnvzjhLgMRVLhJ102Tmg6Njbf2cls6NqrXLLRPtpuB4t7Pza5c5AHWDfBzqyaP6KPgyY1eHmk+okr1EMlWHw4myb9Nm472bXGegEMHP3iLJb5HOJx3plcGwkCaLjv3n1GfLdGyFB9YBmPISvwmi2CWmX8nPOT8Qdjf.pMxvXyOVsaiBagh97uucchCgaQmLEBcOAyhdHykImLamZeJywoEwldJyUa2ePs1VBdCgiHDP1llUPd.OICn2kn11FlHiWooMSJ76JIRZ.xXq5B6QcGJdLOd+2iEv54PUCph5BGT7zsDN1JDqlE0XHywtSpFH.gLL6LQerYr93sLOhYyFO+D8x0hV.OgBc8gwFKCdU0gWk7COCM3sUL7dSytV9LO4jUTX60LaykT+9D3JPGVw6Esw+bK0kpjxk65RdDskOLXLEk+nJUde7GVoxM98kJVp3st0NK3CtNc.iyY7AXQe7Izyn98Bv6rrOpCrTQ3tMPhOi3Oln+.Nxpa2AT4cBsYhtDWOG5Xgp71IabaElZxA1R20QPri1bKlCM.funiP3TNE03FB2dhdhyw3Fjd.Axfr71xsGbp.qSUE.yAZ7DbXP4siWNhgwec2.05bouvoAwwoGXQVVgg1tdgNAzX9x3N.qv8C4VQ9KZanrULwuOvcmP5MJU7IkJlHWpyVIFkwa+jNmb7erYiSeXqiO7flm7zjcbqseObxAn.ZaI08T54xx2.+d3s28wjXjVnTwmFK+2LO2YGwr7EdCAI9Ru2vpOLbHWIQTarbHMC4AB7HQH1hvweBEztp0SucUTy5qnNfhqKjCwDYzFB.2Yrx0WMhiOl6LZlCl3Sw2W3+HEju4shkM8qQ88dolQZad8LkzNfYrlf0Vl0Drbp0D70WHVSZnaIVTZ6ZEsph0+igifeWgjdLu7MJ9jhEJ9zh3oWpe+4tVhf6P8m6xJKB+kQXYdnaOpeprmtQHpX1vtlKNrqdVAq3qLsMJ3s4L4wdT9hBFiRtmgvxERPErUYTP4WOInb8PoTvQLH16aX1wgLh5uyw7c.sBJB35YLQiOjWI9Pd6jCIxt79jyn8E9tQm0UMilCqtdm9fPHeBe.ET.9PdVSiwyzjaqF+u99qi5CzEmH8WYNsswA9gt3CEBucc81GglVxtVBnhbHpKNOBOWwLN.4xDpEqYtpIP5BTKHzBOgtNLapezITv79TI3YddFx+wm8r8uXEzpWyLNb03IWQM6m0bCMM66Ztn33w+GWU4csJJXvqccUv.o4PAeoZn21bRjizEptppI03IpInRNzm29.hjnJuIwkBby7n9RlxC13.5YPciwE6Tv7.ZvijBOPbGGacLvKkVJDgSczcThm3bcLNReviY1xgim3huo1PJavvIkoViVKC+d0r76PRuD985INlwt5ZbD6VSiikqkki09ho4H5107f7dboFWyHLHsEJl6fNS.TsyzAz6NEft3dSCnu9NWBf7RCM11VUybrdPEGIQYTEIg7JJS4Dr.GGXA.kb1NxCtIm.AlsyHXWYkBDpc+1VW3ZOs19qlQa+fZWN7y+8wBMGMUQXzw4uVCm+HcJb90+kYvorlgYdrCKjDJKPiYWzSWo7VSyrYtwg2fMiHGK.y4JZ4oEzL6dnNH9c0bImqhIrILXALaJXRpwfRTf3B+Ryz3nIkPi2K8K6mSuiLIdNWGVYv3TtFmLihp1hTTYLplbmr.K+o7Ozkg2HGo9zDfS0DfZdSI.n+7L91e7+cB.ffnm+6JrShQawTVht5sD3AWDcWOInafj50k8koYN9tu8a+62NHreelxhvDaWGn21FJdWDvTE+Mg18tXkBRLSdcMXbS8q5OKUSYZ7efgoZISi+1hMOWfFJmgCTozmfluHX0CGrUdBGTRKu8y+PBJgPWdKjmBYVbHgYb3m0ca4QMTGeRPBUuarfHDp+tWze2uXtCNnUzzy6fCJHNc5PcCorWXOOxTN+R2tTOgjI9NwLwL5uH4ZIBBZ11WcMyiD1gNDY1Nqohmjrfx0WuEVp1TwgPBizKC9ER61xKbeSyNLo0v4i2MlCdgRceQi2jlWVxrY+9TK4DvtkYq+zK9NUpCkeQJThrJU0TQiaR4bKyZwMU9GxaSk8xcSk6NhacTbVqwlRQ2km5SrTMbRmUJXl56oM8IBgT0pC8lZG21onm.AGelcqRPDj8DZk6miGkQM9ITIw.UOm2AVNyysbhP53WaYrYtugWgVku0+W2p7+2EpYy7A2Koa9ERwXWlxzoI+LpC3nDgwqCUT0mD5HSmMqWxQBdT.VH1aFCMoOav.puN1mq.cGoDL10qC3DpCkDP0emxgLNk3OsuxJnKplecwxtudGyX3F2z3WNRQr4O2RQr9l7anw+qmxesedwH9OoLZ87nG3OJa9.DJ8gGZ866P.gbqLJxj9keHkOP+YPPj9Xrzl6EJ0m+yCnpegyA9hPt8oC8ojLgq63SsoP1J849DVCsy3u9Opc.jAXp7GsZcZRWrlSj+b1tvYS.n553pl.XscSgjcv0DevQDH3hh82MzsKjM0hBVOb3cMpVtargpohwiqjBgtTtczfmAeRVrpZrQxhUSWDkGSjr0UtTyjGbQVyj3b4+L0LYCy4XBjdi+xiIvKK7vk.FoOL42WSE+6JQy.5Vdz0YAyiTiwiahtoYkcqnZ7A6gVVpHw6TEglOM6sFzr+ZPyGrFz7gqAMezZPyuYMn42tTZT0odmPovMNKMLQmlQ+5DFFiq82XSzOQ7GWC6```
      d.healeyD 1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey @LinuxVst
        last edited by

        @LinuxVst said in Problem With Convolution Reverb When Using 2 Engines at the Same Time:

        i Only have Control Over the Second Engine

        Which control, wet/dry?

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

        L 1 Reply Last reply Reply Quote 1
        • L
          LinuxVst @d.healey
          last edited by LinuxVst

          @d-healey
          Hi David
          the Problem is when you enable the second Convolution engine
          named "Microphones"
          you can't load or change the impulses using the Combo Box
          of the First Convolution Engine named "Reverb"

          but if you disable the Microphones in the Script Editor selecting the Reverbs with the Combobox is Working Fine but no Microphones!

          if you use a second Convolution Engine only this last engine will be accessible with it's ComboBox
          i do not understand why it is not working
          i made sure they they had 2 Different id's Reverbs ans Microphones it looks that they are linked together!

          d.healeyD 1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey @LinuxVst
            last edited by

            @LinuxVst

            You only need to call this once in your script Engine.loadAudioFilesIntoPool();

            You have two functions with the same name loadImpulse. I recommend you read this guidance about how to work with UI components in your scripts, especially the part about naming control callbacks.

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

            L 1 Reply Last reply Reply Quote 0
            • L
              LinuxVst @d.healey
              last edited by

              @d-healey
              Thank You So Much David
              i Got It i Changed the Second Function to "getImpulse". instead of "loadImpulse"
              and Removed the Second "Engine.loadAudioFilesIntoPool();"
              and Everything is Working!

              d.healeyD 1 Reply Last reply Reply Quote 1
              • d.healeyD
                d.healey @LinuxVst
                last edited by d.healey

                @LinuxVst said in Problem With Convolution Reverb When Using 2 Engines at the Same Time:

                @d-healey
                i Got It i Changed the Second Function to "getImpulse". instead of "loadImpulse"

                Those are callback functions so you should name them clearly so anyone looking at your code (including you) can instantly see that it is a callback function and not another kind of function.

                Because it's a callback it starts with on then you put the control name e.g. myButton, then you put Control because it's a control callback.

                inline function onMyButtonControl(component, value)

                Do this for every control that you write a callback for and your code will be much more readable.

                If you want to get fancy you can also have 1 function called loadImpulse that is used by both callbacks ;)

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

                L 1 Reply Last reply Reply Quote 0
                • L
                  LinuxVst @d.healey
                  last edited by LinuxVst

                  This post is deleted!
                  d.healeyD 1 Reply Last reply Reply Quote 0
                  • d.healeyD
                    d.healey @LinuxVst
                    last edited by d.healey

                    @LinuxVst said in (Solved) Problem With Convolution Reverb When Using 2 Engines at the Same Time:

                    is this the proper way to Do It ?

                    There is no "proper" way, if it works it works. But there are more efficient ways - efficiency both in terms of CPU usage and in terms of writing and managing your code.

                    Rule number 1 is Don't Repeat Yourself.

                    For example both of your callbacks contain almost identical code, why write it twice when you can write it once...

                    But you have to start at the beginning, if you name your components and your modules (convolution reverbs in your case) in a programmatically accessible way then you can write much less code. For example you have called your reverbs, Reverbs, and Microphones, that's nice for humans to read but it's not so great for efficient scripting. If you name them Convolution Reverb0 and Convolution Reverb1 you can now access them in a loop - same goes for your components.

                    Whenever you have two or more things that are basically different versions of the same thing, see if you can interact with them through loops and you will save yourself a lot of time.

                    HiseSnippet 1950.3oc4Y0saabbEdVIMMlrVINow.4hBzEpEAT0wxjRIoMvsvqkDUJakrXDUbpgQpyncGRNv6NylcmUVrAAMnW0WgbWdM5c5Qn.8EHW0q6af6YlcWtytjTlhQAHNUWPw42y24Lmy2YlC6FIbowwhHjUsiGERQVWG2aDWNbmgDFG0YWj0ag2QvOU3mHYBt8Y1aZuMw8oIgnsGERhiodHKqk+P0rspsBR+2+8daS7IbWZQWHzCELW59r.lrn2tN+Ilu+dDO5wr.iY+tNcbE7cD9hD.YKiahBAYRFPe.QMskvHqeRaOlTD0SRjzXj0JaK7F0an3Y7z4+PVL6DeppQKTOXiR6dOgumBwpdQ6Lj460M2BDiPV3tE1ikSsGuI9.lGab+E1kanGvtXEl1CqkJCukKAuVlvqoA7lBjrLfzJoP50w8biXgxhQT34mh6vkzn9DvraBkz4hV5+rj5fTR4xMBHOktWDzX7JZ79Ma9N1uWylqe2UqWuMe.iS2vWP7tehGSrGymFCyUzUH7ar9cqW+N2w9H5oznSro86SckwqVGNvhk1Q5dis+81O9Sg40WDY2fAsZdWal8uydS3e25VqWuV171HLIdXCsG2FCnRsz5QBB8oiUtFqY5+kJ00rukMacEVWUAE2fS5DDl3GSyPQQGuHf7E0qUL4Tzjak.7riHHTvgFMVqXV4B2bkOl8oaDqlOWFI72g36eB3v1PvKlR1Xv59x50YbevBa2Og6pUqoLwFt4B+crOk3mP0f0W3R7sYbO5YfxX.ccWG1uXUJ.lYkerdPMBUGkMV6K5dzg+w16b7S16v82s8QeYpUM9NJUa7FnL.cjzfiomIarNLxZa7LxoqoTfUqaf7GHjzC4MzvCzM6pC0u+TGKSM8oQScXEgPzEsvF7jfSnQlFG0Dgnjxgd3YG5YxL3ldpaLQAuCmIOLjxmEeAJyUABSqkgJXpRcP5qlEjtchTJ3HFDK9Z3t9jQznaeH+1fUAoAtIqIp5lbyrMQGW7IjSofabfdutNV2ms57r5FkALyM5FYaD3PehXawY58XUbg+Sy4.MSQktNFbclg9LEXjuC87YdzH8NTC+ITo8AryJs7u84OeqyuDliafScgG24UfIo0hZRNf4N+ljYqS2TsQQhvgPzX9.slxN9wc1kHIpTEYtifKZHMRxTd+V6ROEx6ll3nFdWZ7SkhPP5io1fTooHY07zJDN02zIKsiyLE5HyFOi4IGNtiy+6NCorACKRy6PcJIuWor71mbRl7d0Lm5zvDCIZG3XHwFNkknymUUhn64DRh.gYH0RJCxXf5yc.aAfbN0DPucE.c9CqBnu59u..ElSqzwScmiT6v9BQXlwnERBzvHqqgyvBrcvcgfz2czAQs4DfTyqjhcsKEIhw4aGSkqSUq8eaBq8ibdwve9OOlo6HVEjahyekAN+VZEb9Ue9D3T5XgmG+vZYrIwFB67SLMJuYUgMwINbG1IT4TEXJGQyA8rgu2SLQxG3DPfwvVKCMlgDqfUhCCRqCjC+7L8ztU8rurY9W1ZNCQJk.3LSXUBiUhONZBqkyrrVk7rJNXlg6ekfDSc30liTPFJvwFJfSXEE.8WlH.+C+to..BzugJP3kQT6xTtiAluq5QmqOqKXdikzvdr+Zd9fu4q+5+48hS52mo7Hv1daCq2yCtLsHlot8TwZ277KESwD4WMfwu17n9ipXo9FwDVp9WRK0bxM.IKMP0mEe44FVYd3FV0Hq7UO+fRIL02Zy8cUlM+vDQ+SF6cwTHJPkwXndMrKPWn9bS8maUetYJLtWzUMSgBhUSPZ5MU9T6pH24zuc1UcXgRut.EAMYwAtA9.gWhOQVtVEJxkrAT7.lEHPUD.NvOLx7ltWYEvXdg3qi6xjtCmNFWZJXDtv62GXLqrOqhaqKrQA.WAu2e96mZ7XJ9eVt30dbpaPQSKuyTuT0rKA2+ZdKAW3bWBtdi3tGjldZrah9L63Hh6SY7AlhRAy73JitORHjphBXVBvz58.VwHIr8klsJCPb4cPcW0zp.9KvUKiwtQIAZCzFAgakl5DaoVTF+l5q9vvZYY1QatWdSqkunBK1ZAKr3J+fqvhuDPcTp1m0xwXOlxcoM+TpODbnw3a.WWpOIwWl2a4HiCDbMgIvkVx4RFwFLfFYh8opP2WJAGbyj6GQ8ojXp4KQ1mwojnpwGWBaQqKccfm540agSgqsJb19kWJ+k+QMku0RFx+MxkuQgt0x+l3IK8cyR4E2MZTYdeDJ+kDFERae.sb2RFxr6MtOkOv7cM.idJt5vCSjl8+wwT0u6yfHQB263gQTRIZ4tQTOJjUxru+.aGi83e7uc1EX5qjmXu8NNq1TSgg+swypP04uaUUQ5qHh9ENzDRpAGP7AGP.BEk3ePRPOHqoKE7j3vCTTEg1ZIUs+Ra2LGB8nbOcimC+kMXKUaqrAakOHZQcWZcwtKO57xtKo4teI0c4WNS2E8iV9+FekerHi.B7Rmm3lVvbEo40z8.1Vt97tF9.Ua6wEEGiatQSUIOXOw0UQee6VHzzWylKvZ1ZAVy6t.q48Vf079KvZ9MKvZ9sW3ZTWb89IRQPZ5bnits0+3DVVieLf0xn+GzrP20
                    

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

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      LinuxVst @d.healey
                      last edited by

                      @d-healey
                      Ok i will Study what you just Explained
                      Thank You So Much!

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

                      49

                      Online

                      1.7k

                      Users

                      11.7k

                      Topics

                      101.9k

                      Posts