HISE Logo Forum
    • Categories
    • Register
    • Login

    HISE crashes on export

    Scheduled Pinned Locked Moved General Questions
    17 Posts 4 Posters 420 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 @stmpn
      last edited by

      @stmpn Before you can export you need to be able to compile HISE. Did you follow these steps? - https://github.com/christophhart/HISE?tab=readme-ov-file#osx

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

      1 Reply Last reply Reply Quote 0
      • S
        stmpn
        last edited by

        @d-healey

        After some trial and error, I figured out the cause of the crash, but not yet the why.

        For this project, I have a custom lookandfeel for the preset browser. As soon as I include("PresetBrowser.js") on the oninit; and go to export, the crash happens. If I comment out that line (essentially by passing the PresetBrowser.js) then HISE will export as usual.

        This leads me to believe that something on the oninit is not playing nice with the PresetBrowser.js making HISE mad and refuse to export.

        Any ideas?

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

          @stmpn said in HISE crashes on export:

          Any ideas

          Need to see your code

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

          S 1 Reply Last reply Reply Quote 0
          • W
            WepaAudio @stmpn
            last edited by

            @stmpn if you have various versions of your plug in try to export an early version, might be a corrupted later version, it happened to me, also if you have various Hise Versions installed make sure you are using the the same version that its set in the settings otherwise won't export either, I hope this help in something.

            S 1 Reply Last reply Reply Quote 0
            • S
              stmpn @d.healey
              last edited by

              @d-healey

              Thank you for taking the time to review the code below. You do a lot for the HISE community. You've helped me so much on this project. I really appreciate it!

              This is the oninit code:

              Content.makeFrontInterface(960, 600);
              
              include("PresetBrowser.js");
              
              // load all Audio Files from the AudioFiles Folder into the Pool
              Engine.loadAudioFilesIntoPool();
              
              //Sampler
              const var Sampler1 = Synth.getChildSynth("Sampler1");
              
              //Sample maps array
              const var sampleMaps = Sampler.getSampleMapList();
              
              //ComboBox
              const var cmbSampleBox = Content.getComponent("cmbSampleBox");
              cmbSampleBox.set ("items", sampleMaps.join("\n"));
              
              inline function oncmbSampleBoxControl(component, value)
              {
              	Sampler1.asSampler().loadSampleMap(sampleMaps[value-1]);
              };
              
              Content.getComponent("cmbSampleBox").setControlCallback(oncmbSampleBoxControl);
              

              This is the PresetBrowser.js

              namespace PresetBrowser
              {
              	const NUM_BANKS = 5;
              
              	Engine.loadImageIntoPool("*");
              
              	const laf = Content.createLocalLookAndFeel();
              
              	for (i = 0; i < NUM_BANKS; i++)	
              		laf.loadImage("{PROJECT_FOLDER}bank" + (i + 1) + ".png", "bank" + (i + 1));
              	
              	laf.registerFunction("drawPresetBrowserBackground", function(g, obj)
              	{
              		 g.fillAll(0xff0e0e0e);
              	});
              	
              	laf.registerFunction("drawPresetBrowserColumnBackground", function(g, obj)
              	{
              		 var a = obj.area;
              		 
              		 switch (obj.columnIndex)
              		 {
              			 case 0: // Bank
              			 	g.fillAll(0xff0e0e0e);
              			 break;
              			 
              			 case 1: // Category
              			 	g.fillAll(0xff0e0e0e);
              			 break;
              			 
              			 case 2: // Preset
              			 	g.fillAll(0xff0e0e0e);
              			 break;
              		 }
              	});
              	
              	laf.registerFunction("drawPresetBrowserListItem", function(g, obj)
              	{
              		 var a = obj.area;
              		 
              		 g.setColour(Colours.withAlpha(0xffffffff, obj.selected ? 0.9 + (obj.hover * 0.2): 0.3 + (obj.hover * 0.2)));
              		 
              		 if (obj.columnIndex == 0) // Bank
              		 {
              			 var imgName = "bank" + (obj.rowIndex + 1);
              			 g.drawImage(imgName, a, 0, 0);
              		 }
              		 else // Category and Preset
              		 {
              			 g.setFont("Arial", 14);
              			 g.drawAlignedText(obj.text.toUpperCase(), a, "centred");
              		 }
              	});	
              	
              const fltPresetBrowser = Content.getComponent("fltPresetBrowser");	
              fltPresetBrowser.setLocalLookAndFeel(laf);
              	
              	const SCROLLBAR_PADDING = 10;
              	laf.registerFunction('drawScrollbar', function(g, obj) {
              		var a = obj.handle;
              		var pa = [
              			a[0] + SCROLLBAR_PADDING,
              			a[1] + SCROLLBAR_PADDING,
              			a[2] - SCROLLBAR_PADDING,
              			a[3] - SCROLLBAR_PADDING,
              		];
              	
              		g.setColour(0xff141414);
              		g.fillRoundedRectangle(pa, 5);
              	});
              	
              }
              
              d.healeyD 1 Reply Last reply Reply Quote 0
              • S
                stmpn @WepaAudio
                last edited by

                @WepaAudio

                Good looking out! I actually checked and was running a different version of HISE in the settings. I updated that to the new one and still no luck exporting.

                Will try going back to older version of project and see if it can export as well.

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

                  @stmpn said in HISE crashes on export:

                     switch (obj.columnIndex)
                     {
                    	 case 0: // Bank
                    	 	g.fillAll(0xff0e0e0e);
                    	 break;
                    	 
                    	 case 1: // Category
                    	 	g.fillAll(0xff0e0e0e);
                    	 break;
                    	 
                    	 case 2: // Preset
                    	 	g.fillAll(0xff0e0e0e);
                    	 break;
                     }
                  

                  These colours are all the same, why do you need a switch statement?

                  I don't see any obvious issues there. Try commenting out different functions in that file and see if you can narrow it down.

                  Are you using the develop branch? Make sure you only have one copy of HISE and the HISE source code on your system.

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

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    stmpn @d.healey
                    last edited by

                    @d-healey

                    ok will try commenting out and see what happens.

                    I am using the latest build for HISE but not dev branch. I'm able to load developer branch into Xcode via Projuicer but Xcode won't build.

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

                      @stmpn said in HISE crashes on export:

                      I am using the latest build for HISE but not dev branch

                      You need to build HISE from the develop branch before you will be able to compile your project.

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

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        stmpn @d.healey
                        last edited by stmpn

                        @d-healey

                        Finally, got HISE to start the export process without crashing.

                        Problem line of code was this:

                        Engine.loadImageIntoPool("*");
                        

                        I deleted the above and everything works as expected, except now on export I am getting an IPP error. Will search the forum for resolutions as I know I've seen this error popup in the forum already.

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

                        25

                        Online

                        1.7k

                        Users

                        11.8k

                        Topics

                        102.9k

                        Posts