HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. swina
    S
    • Profile
    • Following 0
    • Followers 0
    • Topics 3
    • Posts 6
    • Groups 0

    swina

    @swina

    0
    Reputation
    2
    Profile views
    6
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    swina Unfollow Follow

    Latest posts made by swina

    • RE: Issue with Custom Arpeggiator – MIDI Processor Losing Connection

      Hi,
      I got the same problem in the past (I am not working on HISE at the moment because I don't have time) but I solved with a script.
      Pratically is the script that manage and update the ScriptProcessor SliderPacks.
      You can create an external script as Arpeggiator.js (in the Scripts folder) and in include in the Interface main script:

      include("Arpeggiator.js");
      

      Here the script

      // create ScriptProcessor SliderPacks array using Synth.getSliderPackProcessor(__name_of_your_script_processor__)
      // 0 = PitchPack
      // 1 = VelocityPack
      // 2 = LengthPack
      const SLIDER_PACK_PROCESSOR = Synth.getSliderPackProcessor('SyncedArpeggiator') ;
      const SLIDER_PACKS = [
          SLIDER_PACK_PROCESSOR.getSliderPack(0),
          SLIDER_PACK_PROCESSOR.getSliderPack(1),
          SLIDER_PACK_PROCESSOR.getSliderPack(2)
      ];
      
      //create your GUI SliderPacks array
      //  **** IMPORTANT ****
      //!!! DO NOT SET the processorId !!! in your GUI SliderPacks
      const var SLIDER_PACKS_GUI = [
          Content.getComponent("PitchPack"),
          Content.getComponent("VelocityPack"),
          Content.getComponent("LengthPack")
      ];
      
      // create a control inline function that updates automatically the ScriptProcessor SliderPacks
      inline function onSliderPackControl(component, value)
      {
          local idx = SLIDER_PACKS_GUI.indexOf ( component );
      	for ( n = 0 ; n < component.get('sliderAmount'); n++ )
             {
                  SLIDER_PACKS[idx].setValue(n,component.getSliderValueAt(n));
             }
      };
      // set for each of the GUI SliderPack the controllCallback above (onSliderPackControl)
      Content.getComponent("PitchPack").setControlCallback(onSliderPackControl);
      Content.getComponent("VelocityPack").setControlCallback(onSliderPackControl);
      Content.getComponent("LengthPack").setControlCallback(onSliderPackControl);
      
      

      I hope this will help you. Contact me if you have any problem or question.

      Have a good day
      Antonio

      posted in General Questions
      S
      swina
    • Interface SliderPacks problem when connected to a ScriptProcessor sliderpack

      Hi,
      I have 2 SliderPacks in a Script processor

      alt text
      Figure 1

      In my interface I have a script that creates the same SliderPacks and connected with the following code:

      //Set general props for components
      const var SCREEN_POS = {x:142,y:10,w:310,h:140};
      const var PACKS = ["SliderPack1","SliderPack2"];
      const var PACKS_PROPS = [[-24,24,1,310,140,10],[0,1,0.01,310,80,160]];
      //Reference to ScriptProcessors SliderPacks
      const SLIDER_PACK_PROCESSOR = Synth.getSliderPackProcessor('ScriptProcessor_1') ;
      const SLIDER_PACKS = [
          SLIDER_PACK_PROCESSOR.getSliderPack(0),
          SLIDER_PACK_PROCESSOR.getSliderPack(1)
      ];
      //Function to generate the interface SliderPacks
      inline function initSliderPacks()
      {
          for ( n = 0; n < SLIDER_PACKS.length ; n++ )
          {
               //Create SliderPack
              local pack = Content.addSliderPack ( PACKS[n] + "_1" , SCREEN_POS.x , PACKS_PROPS[n][5] );
             //Set general props 
              pack.set('parentComponent','pnl_SliderPacks_Editor');
              pack.set('width', PACKS_PROPS[n][3]);
              pack.set('height',PACKS_PROPS[n][4]);
              pack.set('min',PACKS_PROPS[n][0]);
              pack.set('max',PACKS_PROPS[n][1]);
              //Get reference to ScriptProcessor SliderPack properties
              pack.set('stepSize',PACKS_PROPS[n][2]);
              pack.set('itemColour',0xAE53838B);
              pack.set('textColour',0x0000000);
              pack.set('bgColour',0xFF000000);
              //pack.referToData(SLIDER_PACKS[n]);
              pack.set('sliderAmount',SLIDER_PACKS[n].getNumSliders());
              pack.set('SliderPackIndex',n);
              pack.set('processorId',"ScriptProcessor_");
              pack.updateValueFromProcessorConnection();
          }
      }
      
      initSliderPacks();
      

      If I save my project, close and reopen I got in the interface the following:

      alt text
      Figure 2

      Then if I click Compile (from the Interface) alt text I get the right SliderPack (1) :

      alt text
      Figure 3

      I noticed that the difference between the SliderPacks is that the first has the following properties:

      • min : -24
      • max: +24
      • stepSize :1
      • sliderAmoun: 8

      the second one has:

      • min: 0.0
      • max 1.0
      • stepSize 0.01
      • sliderAmount: 8

      If I build my project (VST or standalone) I got the problem (Figure 2) where the first SliderPack doesn't match with the ScriptProcessor sliderpack and the second works correctly.

      Any idea? Thank you.

      posted in Scripting
      S
      swina
    • VST3 Export most of pluginParameterName defined not present

      Hi,
      I created a simple VST3 plugin (Sampler) that has 24 pluginParameterName controls by design that I normally use in other plugins to set a custom controller interface/controller midi devices.
      When I open my VST in the DAW and trying to get the plugin parameters I get only the standard MIDI CC and only one of the pluginParameterName that I defined in the UI.
      I built the UI using a JSON file in order to have better control and customization options by code.
      I exported my VST after a normal compile in HISE. Plugin is working as I expected.
      Thanks

      posted in Scripting
      S
      swina
    • RE: How to get correct list of filter modes from Engine.getFilterModeList()

      @Oli-Ullmann
      Hi, thnak you !
      I will start studying and create something with Scriptnode (yes I too noticed that the Filter module create some glitches when change some parameters, and it happens also with the VST compiled used in different DAWS).
      I didn't try the standalone if it has the same problems.

      posted in Scripting
      S
      swina
    • RE: How to get correct list of filter modes from Engine.getFilterModeList()

      @d-healey
      As a developer I am always trying not to "hardcode" options that are going to probably get an update, but in this case my problem was to associate them to a combo items with a correct index in order to work without any hardcode. If you use a normal knob with any value from 0 to 100 and you set the parameterId to the Filter->Mode it works correctly. There is also the problem that "Filter mode", that means no Filter mode selected has to be added to the combo's items in a position that doesn't make sense (see pict below).

      Filter mode is index 16

      posted in Scripting
      S
      swina
    • How to get correct list of filter modes from Engine.getFilterModeList()

      I am quite new about HISE,
      and I am trying to populate a combo items with the list of the Engine.getFilterModeList() that returns an object.
      I was not able to find a way to get the filter modes list as an array of items (or at least the object keys, that should be something like State_mode_name in camel case).
      So I tried to set the combo items manually with an order mapped thru a slider set to the Filter->Mode. I found out that the Modes are 0 thru 17, where the Filter mode (no filter selected) is in position 15.
      But even setting the items manually with the following list (created manually):

      //Combo has processorId = Filter1
      //Combo as parameterId = Mode
      
      reg FILTER_MODES = [
          "Biquad LP",
          "Biquad HP",
          "Low Shelf EQ",
          "High Shelf EQ",
          "Peak EQ",
          "BiQuad LP Rez",
          "SVF LP",
          "SVF HP",
          "Moog LP",
          "1 Pole LP",
          "1 Pole HP",
          "SVF Notch",
          "SVF BP",
          "Allpass",
          "Filter mode",
          "Ladder 4Pole LP",
          "Ring Mod"
      ];
      Combo.set("items",FILTER_MODES.join('\n'));
      

      from the interface the combo selection doesn't set the correct value for the corrispondent filter. Items are correctly listed as the array order. Index order seems to change every time I compile.
      Any idea ?
      Thank you.

      posted in Scripting
      S
      swina