HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. Rognvald
    3. Topics
    R
    • Profile
    • Following 0
    • Followers 0
    • Topics 7
    • Posts 37
    • Groups 0

    Topics

    • R

      Possible to receive CC control data from ScriptFX midichain to --> Knob ?

      Watching Ignoring Scheduled Pinned Locked Moved ScriptNode
      13
      0 Votes
      13 Posts
      205 Views
      R

      @ustk I am testing whether rnbo in scriptFX can output midi to Hise to use for the UI display and modulation. At the moment Rnbo in Hise only allows one dedicated modulation output..
      The patch above is Hise controller script sending cc messages to Rnbo Script FX, but then its being picked up by the Global Cable again, back to the Ui.

    • R

      Control velocity from each incoming midi note with a Knob / Slider?

      Watching Ignoring Scheduled Pinned Locked Moved Scripting
      7
      0 Votes
      7 Posts
      120 Views
      d.healeyD

      @Rognvald You can put it all in the interface MIDI processor if you want to keep things simple - just avoid doing any UI stuff in the MIDI callbacks.

      // This sort of thing should be avoided in a non-deferred script. Buttons[index].setValue(true); Buttons[index].changed();

      However the ideal situation is you separate UI logic from MIDI processing by using separate processors for individual tasks.

      You can add the velocity code I described above alongside your current script.

      Those reg variables you have should most likely be const. Rule of thumb is if the values are fixed (or it's an array or object) use a const. If the value is going to be dynamic then use a reg.

    • R

      random float 0. - 1. how to?

      Watching Ignoring Scheduled Pinned Locked Moved Scripting
      6
      0 Votes
      6 Posts
      98 Views
      iamlampreyI

      @Rognvald No problem 🙂

      This is a bit cleaner:

      inline function onButton6Control(component, value) { if (!value) { return; } // works the same as if (value) but the scope is a little bit cleaner local Knob1_value = Math.randInt(20, 20000); // this is already fine local Knob3_value = Math.random(); // you don't need range here, Math.random() is already within the range you're expecting Knob1.setValue(Knob1_value); Knob1.changed(); // these can be single lines if you prefer Knob3.setValue(Knob3_value); Knob3.changed(); }; Content.getComponent("Button6").setControlCallback(onButton6Control);

      If Knob1 and Knob3 already have their own Control Callbacks, you also don't need to independently call these:

      SimpleGain1.setAttribute(SimpleGain1.Gain, Knob1_value); // already handled by Knob1.changed(); SimpleGain2.setAttribute(SimpleGain2.Gain, Knob3_value); // already handled by Knob3.changed();

      Control.changed() is essentially simulating changing the control with the mouse, so you're basically calling the setAttribute function twice.

    • R

      Is there a Parameter limit within RNBO & Scriptnode?

      Watching Ignoring Scheduled Pinned Locked Moved ScriptNode
      1
      0 Votes
      1 Posts
      82 Views
      No one has replied
    • R

      Help with Button to ramp a Knob value up and down 0.- 1. > 1. - 0.

      Watching Ignoring Scheduled Pinned Locked Moved Scripting
      2
      0 Votes
      2 Posts
      378 Views
      R

      @Rognvald I found this as a starting point.. :)

      const var Knob = Content.getComponent("Knob"); const TH = Engine.createTransportHandler(); // 18 = tempo factor = 1/64T TH.setEnableGrid(true, 18); // Set sync mode Internal or External TH.setSyncMode(TH.PreferExternal); // ON GRID CHANGE FUNCTION // You start and stop this using "TH.startInternalClock" & TH.stopInternalClock inline function GridChange(clock, arg2, arg3) { local v = (clock % 200) / 100; local value = v < 1.0 ? v : 2 - v; // Trigger the knob Knob.setValue(value); Knob.changed(); }; TH.setOnGridChange(true, GridChange); inline function onKnobControl(component, value) { Console.print(value); }; Content.getComponent("Knob").setControlCallback(onKnobControl); // START STOP INTERNAL CLOCK inline function onStartInternalClockControl(component, value) { if (value) TH.startInternalClock(0); else TH.stopInternalClock(0); }; Content.getComponent("StartInternalClock").setControlCallback(onStartInternalClockControl);
    • R

      Help with loading 4x file_players from Ui button/Knob

      Watching Ignoring Scheduled Pinned Locked Moved ScriptNode
      30
      0 Votes
      30 Posts
      2k Views
      R

      Good morning Sir and thank you! yes "loadFile" not "setFile" and "slots[]"
      Maybe I will sleep now :)

      inline function onKnS2Control(component, value) { slots[1].loadFile("{PROJECT_FOLDER}"+inst2[value]); }; Content.getComponent("KnS2").setControlCallback(onKnS2Control);
    • R

      Scale the "global_cable" from value 0. - 1. to 0. 300.

      Watching Ignoring Scheduled Pinned Locked Moved ScriptNode
      7
      0 Votes
      7 Posts
      744 Views
      R

      Thanks for your time guys!
      this is the script that got things running smooth. :)

      const var snailFader = Content.getComponent("snailFader"); snailFader.setAnimation(lottie); const lottieData = snailFader.getAnimationData(); // Snail Slider to Control Knob / hidden Content.getComponent("KNsnailFader").setControlCallback(onKNsnailFaderControl); const var KNsectionKnob1 = Content.getComponent("KNsectionKnob1"); inline function onKNsnailFaderControl(component, value) { snailFader.setAnimationFrame(value); KNsectionKnob1.setValue(value * 0.0033); KNsectionKnob1.changed(); };