HISE Logo Forum
    • Categories
    • Register
    • Login

    Convolution no embedding

    Scheduled Pinned Locked Moved General Questions
    16 Posts 7 Posters 920 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.
    • d.healeyD
      d.healey
      last edited by

      You need to have Engine.loadAudioFilesIntoPool(); in on init.

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

      LindonL 1 Reply Last reply Reply Quote 0
      • LindonL
        Lindon @d.healey
        last edited by

        @d-healey -- oh LOONG since had that:

        Engine.loadAudioFilesIntoPool();

        -- in dfact I think theres a compile check these days that issues a warning if you dont have this..

        HISE Development for hire.
        www.channelrobot.com

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

          @Lindon Right well Now the problem is:

          The stand alone starts OK - and runs fine - except:

          The reverb isnt working at all,

          Still... when I select a new IR then SOME of them DONT report an error - tho they are not having any effect in the instrument, and SOME of them report "not embeded properly"

          Heres my combo box code:

          inline function onReverbMenuControl(component, value)
          {
          	//Change the IRs..
          	switch(value){
                   case 1:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}Bottle Hall.wav");
                              break;
                   case 2:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}Conic Long Echo Hall.wav");
                              break;
                   case 3:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}CUSTOM spatial plate.wav");
                              break;
                   case 4:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}CUSTOM_dream hall.wav");
                              break;
                   case 5:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}CUSTOM_gen rhall.wav");
                              break;
                   case 6:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}CUSTOM_museum hall.wav");
                              break;
                   case 7:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}Deep Space.wav");
                              break;
                   case 8:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}DRUMSbig drums.wav");
                              break;
                   case 9:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}DRUMSshort plate.wav");
                              break;
                   case 10:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}French 18th Century Salon.wav");
                              break;
                   case 11:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}Greek 7 Echo Hall.wav");
                              break;
                   case 12:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}INSTR gold plate.wav");
                              break;
                   case 13:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}INSTR plate4brass.wav");
                              break;
                   case 14:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}INSTR rock plate.wav");
                              break;
                   case 15:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}INSTR_guitar cave.wav");
                              break;
                   case 16:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}INSTR_horns hall.wav");
                              break;
                   case 17:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}INSTR_short reverse.wav");
                              break;
                   case 18:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}Large Long Echo Hall.wav");
                              break;
                   case 19:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}Large Wide Echo Hall.wav");
                              break;
                   case 20:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}LIVE great plate.wav");
                              break;
                   case 21:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}LIVE hot plate.wav");
                              break;
                   case 22:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}ORCH_concert hall.wav");
                              break;
                   case 23:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}ORCH_deep blue.wav");
                              break;
                   case 24:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}ORCH_m hall+stage.wav");
                              break;
                   case 25:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}ORCH_small church.wav");
                              break;
                   case 26:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}Scala Milan Opera Hall.wav");
                              break;
                   case 27:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}Small Drum Room.wav");
                              break;
                   case 28:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}Small Prehistoric Cave.wav");
                              break;
                   case 29:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}St Nicolaes Church.wav");
                              break;
                   case 30:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}VOC vocal plate2.wav");
                              break;
                   case 31:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}VOC_good ol' verb.wav");
                              break;
                   case 32:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}VOC_vocal hall2.wav");
                              break;
                   case 33:
                              ConvolutionReverb1.setFile("{PROJECT_FOLDER}VOC_vocal magic.wav");
                              break;
          	};
          	
          };
          
          Content.getComponent("ReverbMenu").setControlCallback(onReverbMenuControl);
          

          HISE Development for hire.
          www.channelrobot.com

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

            @Lindon ....and NOW.....

            it seems some are loading and working correctly and some are reporting "not embeded "

            HISE Development for hire.
            www.channelrobot.com

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

              @Lindon perhaps its something IN the Audio file that is stopping it embeding properly - whats the format requirements for IRs?

              HISE Development for hire.
              www.channelrobot.com

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

                @Lindon swell they are all 16 bit 44.1 Khz sample rate so thats not it... any help?

                HISE Development for hire.
                www.channelrobot.com

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

                  Right, found it:

                  So for those in a similar situation:

                  Here's the name of one of my IR files:

                  LIVE hot plate.WAV

                  Here's the piece of code that loads it:

                  ConvolutionReverb1.setFile("{PROJECT_FOLDER}LIVE hot plate.wav");
                  
                  • this loads and plays nicely in HISE, but will not load in a compiled app...

                  Perhaps you can quickly spot where I've made a mistake...It took me all morning...

                  • yes this

                  LIVE hot plate.WAV

                  is NOT this:

                  LIVE hot plate.wav

                  --- as far as the HISE application is concerned the case of the file extension is unimportant, but as far as a compiled app is concerned - it IS important.

                  So leaving my file named:

                  LIVE hot plate.WAV

                  and changing my code to read:

                  ConvolutionReverb1.setFile("{PROJECT_FOLDER}LIVE hot plate.WAV");
                  

                  Means it all works correctly.

                  So my request:

                  @Christoph-Hart - can we please have case sensitivity parity between HISE and the things made in HISE.....

                  HISE Development for hire.
                  www.channelrobot.com

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

                    Hmm, the problem is that I am just passing the file path to the OS methods and Windows doesn't care about uppercase, but macOS does (in a compiled plugin it is case sensitive on both OS because it uses the path as normal string key to a hash map). I have no idea how to validate the case sensitivity for file paths on Windows without bad hacks, so this is a classic case of "watch out during development".

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

                      @Christoph-Hart OK, understood, but perhaps we could have a warning?

                      HISE Development for hire.
                      www.channelrobot.com

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

                        but how should I do that? You pass a string to a OS call and get a file handle back. I would have to then query the filename from the handle and match it with the input, which is really hacky and adds performance overhead for 0.00001% of all cases where somebody makes a case mistake.

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

                        50

                        Online

                        1.7k

                        Users

                        11.7k

                        Topics

                        102.1k

                        Posts