HISE Logo Forum
    • Categories
    • Register
    • Login

    Preset Crashes DAW

    Scheduled Pinned Locked Moved General Questions
    presetcrashpreset crash
    35 Posts 6 Posters 2.0k 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.
    • trillbillyT
      trillbilly @DanH
      last edited by

      @DanH Duh. Looks like the "SampleDropper" panel is SaveInPreset active via scripting while the SampleLoader combobox is not. This is the same way I have it in my project, so that rules that out.

      I dont see any issues within the .preset files other than that. I have removed chunks at a time and it only works by removing the "SampleDropper" saved properties.

      I can then go in and save the preset and use as normal. But once I close HISE I fear it will re-open with the same issue.

      It even crashes HISE now as well, not just the DAW.

      Dan KorneffD DanHD 2 Replies Last reply Reply Quote 0
      • Dan KorneffD
        Dan Korneff @trillbilly
        last edited by

        @trillbilly I would build a debug version of the plugin and make it crash. Then you can find the line of code in HISE that is failing.

        Dan Korneff - Producer / Mixer / Audio Nerd

        trillbillyT 1 Reply Last reply Reply Quote 0
        • DanHD
          DanH @trillbilly
          last edited by

          @trillbilly have you tried with different audio files?

          DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
          https://dhplugins.com/ | https://dcbreaks.com/
          London, UK

          1 Reply Last reply Reply Quote 0
          • trillbillyT
            trillbilly @Dan Korneff
            last edited by

            @Dan-Korneff my first real debugging, yes lol. I'll give this a shot and see what it comes back with.

            @DanH yes, I've tried different wav files and the saved presets all do the same thing. If it has no audio file, all other knobs/button recall just fine.

            Dan KorneffD 1 Reply Last reply Reply Quote 0
            • Dan KorneffD
              Dan Korneff @trillbilly
              last edited by

              @trillbilly here's a quick video I made on the general process:
              https://forum.hise.audio/topic/6760/big-problems-with-a-little-plugin/19?_=1673301032810

              Dan Korneff - Producer / Mixer / Audio Nerd

              trillbillyT 2 Replies Last reply Reply Quote 3
              • trillbillyT
                trillbilly @Dan Korneff
                last edited by

                @Dan-Korneff Thanks! Ill do this today hopefully

                1 Reply Last reply Reply Quote 0
                • trillbillyT
                  trillbilly @Dan Korneff
                  last edited by

                  @Dan-Korneff Ok so I think I figured this out on Windows with VS. I have Ableton connected to VS and launches upon building the debug. I love my plugin in Ableton and immediately get a "Ableton Live 10 Suite.exe has triggered a breakpoint" message.

                  	jassert(filter != nullptr); //This line (112) is where it triggers the breakpoint.
                  
                  	if (filter != nullptr)
                  	{
                  		switch (parameter)
                  		{
                  		case BandParameter::Gain:	filter->setGain(Decibels::decibelsToGain(newValue)); break;
                  		case BandParameter::Freq:	filter->setFrequency(newValue); break;
                  		case BandParameter::Q:		filter->setQ(newValue); break;
                  		case BandParameter::Type:	filter->setType((int)newValue); break;
                  		case BandParameter::Enabled:filter->setEnabled(newValue >= 0.5f); break;
                  		case numBandParameters:
                  		default:                    break;
                  		}
                  	}
                  	else
                  	{
                  		debugError(this, "Invalid attribute index: " + String(index));
                  

                  In the Callstack, this is the only bit that has an arrow next to it

                  >	Mesosphere Debug.vst3!hise::CurveEq::setInternalAttribute(int index, float newValue) Line 112	C++
                  
                  

                  How do I move forward with the debugging of what looks to be a Parametric EQ? I do have 2 of them and both are Draggable Filter Panels that can be saved in preset.

                  Matt_SFM 1 Reply Last reply Reply Quote 0
                  • Matt_SFM
                    Matt_SF @trillbilly
                    last edited by

                    @trillbilly just taking a shot here but check your script in HISE, maybe you're addressing an eq parameter which doesn't exist...?

                    Develop branch
                    Win10 & VS17 / Ventura & Xcode 14. 3

                    trillbillyT 1 Reply Last reply Reply Quote 0
                    • trillbillyT
                      trillbilly @Matt_SF
                      last edited by trillbilly

                      @Matt_SF That was my initial thought but I couldnt see anything.

                      The only EQs I have are for a Dry and Wet Filter. Both are also Draggable Filter Panels. Both the "FilterTile" and "WetFilterTile" have the correct ProcessorID called in the Property Settings. Both Draggable Filter Panels show and seem to work just fine.

                      I then use this code to add the to user preset.

                      //DRAGGABLE EQ SAVE IN PRESETS
                      //Filter
                      const var FilterEQ = Synth.getEffect("FilterEQ");
                      
                      Engine.addModuleStateToUserPreset("FilterEQ");
                      
                      //Wet Filter
                      const var WetFilter = Synth.getEffect("WetFilter");
                      
                      Engine.addModuleStateToUserPreset("WetFilter");
                      

                      The only other code I can think of that calls for anything to do with an EQ is a "Blackout" img that appears over the effect if it is powered off. This also seems to be coded correctly and working fine.

                      Here is how I have this scripted

                      //POWER BLACKOUT
                      //FILTER1 - DRY
                      const var BlackoutImage3 = Content.getComponent("BlackoutImage3");
                      
                      inline function onFilterPowerbtnControl(component, value)
                      {
                      	BlackoutImage3.showControl(!value);
                      	Content.getComponent("FilterPowerbtn").setValue(value);
                      	
                      	FilterEQ.setAttribute(FilterEQ.setBypassed(!value), value);
                      	Content.getComponent("FilterPowerbtn").setValue(value);
                      	
                      };
                      
                      Content.getComponent("FilterPowerbtn").setControlCallback(onFilterPowerbtnControl);
                      
                      LindonL 1 Reply Last reply Reply Quote 0
                      • LindonL
                        Lindon @trillbilly
                        last edited by

                        @trillbilly

                        this looks dodgy...to me...

                        FilterEQ.setAttribute(FilterEQ.setBypassed(!value), value);
                        

                        HISE Development for hire.
                        www.channelrobot.com

                        Matt_SFM trillbillyT 2 Replies Last reply Reply Quote 1
                        • Matt_SFM
                          Matt_SF @Lindon
                          last edited by

                          @Lindon you were quicker than me 😆

                          Develop branch
                          Win10 & VS17 / Ventura & Xcode 14. 3

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

                            @Matt_SF said in Preset Crashes DAW:

                            @Lindon you were quicker than me 😆

                            just passin thru....

                            HISE Development for hire.
                            www.channelrobot.com

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

                              @Lindon What would be better way for me to script something like this? I've got this on every effect module lol.

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

                                @trillbilly what is the attribute you are trying to change?

                                HISE Development for hire.
                                www.channelrobot.com

                                trillbillyT 2 Replies Last reply Reply Quote 0
                                • trillbillyT
                                  trillbilly @Lindon
                                  last edited by

                                  @Lindon Just to cover the unused effect modules with a "Blackout" image so they have the appearance of being "Turned Off".

                                  Power Off = Blackout Image ON, covers Effect Panel
                                  Power On = Blackout Image OFF, revealing effect knobs/sliders.

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

                                    @trillbilly so what are these three lines for then?

                                    	Content.getComponent("FilterPowerbtn").setValue(value);
                                    	
                                    	FilterEQ.setAttribute(FilterEQ.setBypassed(!value), value);
                                    	Content.getComponent("FilterPowerbtn").setValue(value);
                                    

                                    especially as the first and third are the same...

                                    if you just want to bypass an effect all you need say is:

                                    	FilterEQ.setBypassed(1 - value);
                                    

                                    HISE Development for hire.
                                    www.channelrobot.com

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

                                      @Lindon @Matt_SF I just removed all code, panels, tiles, etc that had to do with either EQ. I re-compiled in HISE with no issues but the problem of loading presets and crashing still persists.

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

                                        @trillbilly well fix your EQ code first - and then remove your sample loader...and try again.

                                        HISE Development for hire.
                                        www.channelrobot.com

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

                                          @Lindon

                                          	Content.getComponent("FilterPowerbtn").setValue(value); //power button of the effect, how else would "Blackout" image know to be ON or OFF?
                                          	
                                          	FilterEQ.setAttribute(FilterEQ.setBypassed(!value), value); //this is to bypass the effect
                                          	Content.getComponent("FilterPowerbtn").setValue(value);  //this is a mistake, I was thinking incorrectly.
                                          
                                          LindonL 1 Reply Last reply Reply Quote 0
                                          • LindonL
                                            Lindon @trillbilly
                                            last edited by Lindon

                                            @trillbilly

                                            its a miracle that this works at all:

                                            FilterEQ.setAttribute(FilterEQ.setBypassed(!value), value); //this is to bypass the effect
                                            

                                            it should be this:

                                            FilterEQ.setBypassed(1 - value);
                                            

                                            so you call back should look like this:

                                            inline function onFilterPowerbtnControl(component, value)
                                            {
                                            	BlackoutImage3.showControl(1 - value);
                                            	FilterEQ.setBypassed(1 - value);
                                            };
                                            Content.getComponent("FilterPowerbtn").setControlCallback(onFilterPowerbtnControl);
                                            
                                            

                                            Link Preview Image
                                            HISE | Docs

                                            favicon

                                            (docs.hise.audio)

                                            HISE Development for hire.
                                            www.channelrobot.com

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

                                            52

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            102.1k

                                            Posts