HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. marcLab
    3. Posts
    • Profile
    • Following 3
    • Followers 1
    • Topics 33
    • Posts 108
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: The world of HISE

      Marc-André Labelle, 30, Canada.
      Musician, Composer, Creative coder.

      posted in General Questions
      marcLabM
      marcLab
    • RE: Order of IR in Combobox not in the same order after export. Am I the only one?

      @DabDab

      EX:

      const masterIRReverb = Synth.getAudioSampleProcessor("masterIRReverb");
      
       inline function loadIR(filename)
          {            
              masterIRReverb.setFile("{PROJECT_FOLDER}" + "ir/" + filename + ".wav");
          }
      
      posted in General Questions
      marcLabM
      marcLab
    • RE: Order of IR in Combobox not in the same order after export. Am I the only one?

      @d-healey Array.sortNatural();

      Array.sort() doesn't sort strings if I'm not mistaking.

      posted in General Questions
      marcLabM
      marcLab
    • RE: Order of IR in Combobox not in the same order after export. Am I the only one?

      @d-healey Did the trick!

      posted in General Questions
      marcLabM
      marcLab
    • RE: Order of IR in Combobox not in the same order after export. Am I the only one?

      @d-healey Yep, i'm testing right now.

      posted in General Questions
      marcLabM
      marcLab
    • RE: Order of IR in Combobox not in the same order after export. Am I the only one?

      Technically, .setFile is a path. So I could bypass

      cmbIR.set("items", irs.join("\n")); // Populate dropdown
      

      and add items by hand in the Combobox.

      posted in General Questions
      marcLabM
      marcLab
    • RE: Order of IR in Combobox not in the same order after export. Am I the only one?

      @d-healey Yeah! But the problem is that they also change place when compiling...very strange. I don't get the same result in Hise and in Reaper let's say..so I think something is happening when compiling

      posted in General Questions
      marcLabM
      marcLab
    • RE: Order of IR in Combobox not in the same order after export. Am I the only one?

      @Christoph-Hart So it's a problem with JUCE then? I'm not crazy?

      posted in General Questions
      marcLabM
      marcLab
    • RE: Order of IR in Combobox not in the same order after export. Am I the only one?

      @Christoph-Hart

      Got this on mac..
      Screen Shot 2021-10-06 at 11.36.04 AM.png

      Screen Shot 2021-10-06 at 11.38.36 AM.png

      posted in General Questions
      marcLabM
      marcLab
    • Order of IR in Combobox not in the same order after export. Am I the only one?

      Here's in the audio file folder :
      ir.gif

      Here's in Hise (right order):
      ir2.gif

      Here's the exported Vsti (strange order)
      ir3.gif

      The order is also different on MAC.

      Any thoughts?

      This is how the combobox is populated with the names :

      // Pool audio files
      const audioFiles = Engine.loadAudioFilesIntoPool();
      
      // Get a list of irs
          const var irs = [];
      
          for (a in audioFiles)
          {
              if (a.indexOf("ir/")) //Impulse responses will be in ir folder
              {
                  var ir = a.substring(a.indexOf("ir/") + 3, a.lastIndexOf("."));
                  irs.push(ir);
              }
          }
      
      // cmbIR
          const var cmbIR = Content.getComponent("cmbIR");
          cmbIR.set("items", irs.join("\n")); // Populate dropdown
      
          inline function oncmbIRControl(component, value)
          {
              local filename = component.getItemText();
              loadIR(filename);
          };
              
          Content.getComponent("cmbIR").setControlCallback(oncmbIRControl);
      
          inline function loadIR(filename)
          {            
              masterIRReverb.setFile("{PROJECT_FOLDER}" + "ir/" + filename + ".wav");
          }
      

      Maybe Engine.loadAudioFilesIntoPool(); is loading the files in a different order, because it's more desorganized on mac?

      posted in General Questions
      marcLabM
      marcLab
    • RE: Sliderpack default value funkiness

      @ulrik reimported my initial snippet and now it's fine...

      posted in General Questions
      marcLabM
      marcLab
    • RE: Sliderpack default value funkiness

      @ulrik hummm...yep your example is giving me a 0.0..that's great. I don't, know why I got all 1.0 with the other example..strange.

      posted in General Questions
      marcLabM
      marcLab
    • RE: Sliderpack default value funkiness

      @ulrik If I set the default value to 0, I also get 1.

      posted in General Questions
      marcLabM
      marcLab
    • Sliderpack default value funkiness

      Hello my friends.

      I've notices that even if sliderpack default value is at 0.0. If I print values, I get 1.0, I'm I the only one? I'm on the develop branch

      here's a snippet ->

      HiseSnippet 830.3oc6V0saSCCE1tqdPKLDCwCPzDB0pMlRY+.ntI5V6Fp.aqhNp3Bjl7RbVsVhcjiyfJDua7Hwa.bbR1R5naZqRb27EQ57ymymO9b74zSIcXQQREBW4vQgLD9gj9iD5gsGR4BT2NH7iH6QizLkUppsGERihXtHLdl2YTfqTFkr98a2l5SENrbUHz.I2g8Qd.WmqsWqOv882k5xNjGTv6Ua00QJZK8kw.elgXiBoNmROgsO03VIBBO6NtbsT0WS0rHvmskti5OT9MQp+C3Q7i8YFgFn9vFkpF0dH22s24m0HDBWtW9IelzS9SI6wc4WnOOB73DCV4HJFCvkFmRkGiRMtJJsqz20rAWA8vEnW4T5MOouihGpysX31CHcEvkiGEB6EoUpunReESZKAOD5kCnmx1UABWfn1511KYslsc8lUqBg9Hs0YTkUeetKS0Ch8Mr1z5b3mvzskAgRAHTagB9rfAsmTYUiuocS9FELY.sebPplnZ0axWbw5Uq.aYjzmsbnhC60k7OUb.0OlsktFud8ldwBGMWJrjh8kZ1AhZ0q9ipUp9ypVW1jm2DsYNCJouOSMQylzP00ArlHN3XlZIH7.z5BGg6lwu7m8lc46jFRK3nTzUv0GDxxjySOZLgzCT1chIQIig.UzIoIOIKMIOph3vFMGoPXFkbLJVl5R0TTomOCAxHVFVdKZ99l1vmUN3N46juSNWFg9b2NlBlrxOnRDpNCYJM27H.tC6LnoW5q1UHcXQmpkgI9l87IBeuaQw52yKTeeqQ4BazJJwqsBjwh71q+53VAzBXdVKWlGM1WOHsnmPrWF547uMXf1bR2Xepd7dell7YFf2DGqIioQhHhqGUbHfaQCQ6I1Pbhu3cCo67jdbsyvIy2RSfuvc3+a9lMdwbjc77XN5bxVlr6Wl1YItET4SxXMWbxdTshC4EDSCYXBKGFvDgf4C+HBtjoqRprsQ1DY5yDtIB+AVYFaXjwYFabtQT.0QIOxIsWjY.l6mnA3jHY1sJvPjfr0EsdRyBCf4pNxwwDJdAv8Ii4kSAlUlBLqNEXVaJvr9Tf4USAlWesXLiztUrVFjVl.J5sSxiZX7NBJjkkjQh9KfQeQ7N
      
      posted in General Questions
      marcLabM
      marcLab
    • ed->editor.document.selections.values.elements.data was nullptr.

      Just wanted to let you know :p

      Hello, I'm currently working on the latest develop branch. Sometimes I get this crash while scripting.

      ed->editor.document.selections.values.elements.data was nullptr.
      

      line 1760 ->

      return CodeDocument::Position(getDoc(c), pos.x, pos.y);
      
      juce::CodeDocument::Position CommonEditorFunctions::getCaretPos(Component* c)
      {
      	auto ed = as(c);
      
      	// this must always be true...
      	jassert(ed != nullptr);
      
      #if HISE_USE_NEW_CODE_EDITOR
      	auto pos = ed->editor.getTextDocument().getSelection(0).head;
      	return CodeDocument::Position(getDoc(c), pos.x, pos.y);
      #else
      	return ed->getCaretPos();
      #endif
      }
      
      
      posted in Bug Reports
      marcLabM
      marcLab
    • RE: Dynamically adding Curve EQ with Effect Slot Save Preset Problem.

      UPDATE with

      juce::ValueTree UserPresetHelpers::createModuleStateTree(ModulatorSynthChain* chain)
      {
         ValueTree modules("Modules");
      
         if (auto sp = JavascriptMidiProcessor::getFirstInterfaceScriptProcessor(chain->getMainController()))
         {
         	for (auto id : sp->getListOfModuleIds())
         	{
         		
         		auto p = ProcessorHelpers::getFirstProcessorWithName(chain, id);
         		
      
         		if (p != nullptr)
         		{
         			auto mTree = p->exportAsValueTree();
      
         			mTree.removeChild(mTree.getChildWithName("EditorStates"), nullptr);
         			mTree.removeChild(mTree.getChildWithName("EditorStates"), nullptr);
      
         			modules.addChild(mTree, -1, nullptr);
         		}
         
         	}
         }
      

      It does work! But I need to click twice to recall the CurveEq values if coming from Empty Slot or other FX. If I'm already on a CureveEq then it loads on first attempt ->

      glitch.gif

      @Christoph-Hart

      posted in General Questions
      marcLabM
      marcLab
    • Dynamically adding Curve EQ with Effect Slot Save Preset Problem.

      Hello!

      I'm having an issue with, adding and removing dynamically the Curve EQ using the Effect Slot processor.

      I think my problem is in this function. ->

      inline function oncmbFxControl(component, value)
      {
      	local index = cmbFxSlot.indexOf(component);
      	local fxType = cmbFxSlot[index].getItemText();
      	
      	if (fxType == "Empty")
      	    fxSlot[index].setEffect("EmptyFX");
      	else
      	    fxSlot[index].setEffect(fxType);
      	    
          btnShowPanel[index].setValue(1);
      	btnShowPanel[index].changed();
      		
      	if (fxType == "CurveEq")
      	{
      		local tileData = {
      			"Type": "DraggableFilterPanel",
      			"ProcessorId": "fx"+index+"_CurveEq",
      			"Index": -1
      		};
      		
      		//Console.print(index);
      		showFltFxEq(index);
      		
      		fltFxEq[index].setContentData(tileData);
      	    Engine.addModuleStateToUserPreset("fx"+index+"_CurveEq");
      	}	
      };
      

      I think the problem is here ->

      Engine.addModuleStateToUserPreset("fx"+index+"_CurveEq");
      

      When I save a preset with a CurveEQ it works. If I change the combobox to Empty and Save Preset then I get a crash.

      Exception thrown: read access violation.
      p was nullptr.
      
      
      juce::ValueTree UserPresetHelpers::createModuleStateTree(ModulatorSynthChain* chain)
      {
      	ValueTree modules("Modules");
      
      	if (auto sp = JavascriptMidiProcessor::getFirstInterfaceScriptProcessor(chain->getMainController()))
      	{
      		for (auto id : sp->getListOfModuleIds())
      		{
      			auto p = ProcessorHelpers::getFirstProcessorWithName(chain, id);
      			auto mTree = p->exportAsValueTree();
      
      			mTree.removeChild(mTree.getChildWithName("EditorStates"), nullptr);
      			mTree.removeChild(mTree.getChildWithName("EditorStates"), nullptr);
      
      			modules.addChild(mTree, -1, nullptr);
      	
      		}
      	}
      
      	return modules;
      }
      

      So I tried this in the source code ->

      juce::ValueTree UserPresetHelpers::createModuleStateTree(ModulatorSynthChain* chain)
      {
      	ValueTree modules("Modules");
      
      	if (auto sp = JavascriptMidiProcessor::getFirstInterfaceScriptProcessor(chain->getMainController()))
      	{
      		for (auto id : sp->getListOfModuleIds())
      		{
      			
      			auto p = ProcessorHelpers::getFirstProcessorWithName(chain, id);
      			
      
      			if (p != nullptr)
      			{
      				auto mTree = p->exportAsValueTree();
      
      				mTree.removeChild(mTree.getChildWithName("EditorStates"), nullptr);
      				mTree.removeChild(mTree.getChildWithName("EditorStates"), nullptr);
      
      				modules.addChild(mTree, -1, nullptr);
      			}
      	
      		}
      	}
      

      Hise is not crashing anymore but I think my fix breaks it in some other way.

      IN CONCLUSION (lol)

      I think this nullptr problem is caused by .addModuleStateToUserPreset once I Save my combobox with Empty after setting it to CurveEq. I don't have this problem with other FX.

      Is there a way to remove addModuleStateToUserPreset - removeModuleStateToUserPreset or something similar? Maybe this will solve my problem.

      Cheers!

      posted in General Questions
      marcLabM
      marcLab
    • Adding more than 16 channel to routing matrix

      Hello, it's me again.

      I'm wondering if there's a way to add more than 16 channels to the matrix?

      cheers!

      posted in General Questions
      marcLabM
      marcLab
    • RE: FX SLOT ROUTING BUG

      @d-healey Just noticed new_layout was updated 6 hours ago.. things are moving fast :)

      posted in Bug Reports
      marcLabM
      marcLab
    • RE: FX SLOT ROUTING BUG

      Sorry for being stuck in the past :anxious_face_with_sweat:

      posted in Bug Reports
      marcLabM
      marcLab