HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. HISEnberg
    3. Topics
    • Profile
    • Following 0
    • Followers 4
    • Topics 52
    • Posts 587
    • Groups 1

    Topics

    • HISEnbergH

      Persistent Data Recommendation

      Watching Ignoring Scheduled Pinned Locked Moved Solved Scripting
      7
      0 Votes
      7 Posts
      38 Views
      HISEnbergH

      @d-healey Wonderful I'll see if I can rewrite with just the File (System) APIs in that case! Luckily for me these are "universal settings" so they should be applied cross each instance of the plugin.

    • HISEnbergH

      FFT Analyser Path - Need help drawing the magnitude to height

      Watching Ignoring Scheduled Pinned Locked Moved Solved Scripting
      9
      0 Votes
      9 Posts
      118 Views
      ustkU

      @HISEnberg said in FFT Analyser Path - Need help drawing the magnitude to height:

      does that just mean the Synth.deferCallbacks(true), or are you referring to the specific script?

      Interface script should always be deferred. Included scripts are just part of interface so they inherit from it.
      Scripts that are dealing with midi/audio shouldn't be deferred

    • HISEnbergH

      Multichannel MIDI FX - Is it possible in HISE?

      Watching Ignoring Scheduled Pinned Locked Moved Unsolved General Questions
      5
      0 Votes
      5 Posts
      65 Views
      HISEnbergH

      @VirtualVirgin That would be awesome. It looks like it would serve a very similar purpose. I want to create a MIDI drum rack and route the MIDI outputs to individual tracks in the DAW. If in a couple days you are still struggling with this I would be happy to contribute (currently working on something else), so just keep me updated and thanks for your input!

    • HISEnbergH

      Anyone willing to build my HISE project for AAX?

      Watching Ignoring Scheduled Pinned Locked Moved General Questions
      22
      0 Votes
      22 Posts
      360 Views
      ustkU

      location dependent and 3+ years old company... That's discrimination... What are they waiting for to make a "except if you pay more" rule? 👊 🤣

    • HISEnbergH

      Save Panel Data to Preset

      Watching Ignoring Scheduled Pinned Locked Moved Solved Scripting
      3
      0 Votes
      3 Posts
      40 Views
      HISEnbergH

      @d-healey Ahh I see thank you David that does make a lot of sense!

    • HISEnbergH

      The New Profiler - Further Feedback and Issues

      Watching Ignoring Scheduled Pinned Locked Moved Bug Reports
      18
      0 Votes
      18 Posts
      544 Views
      clevername27C

      @Christoph-Hart Thank you.

    • HISEnbergH

      UI Lag

      Watching Ignoring Scheduled Pinned Locked Moved General Questions
      13
      0 Votes
      13 Posts
      201 Views
      A

      @clevername27 Of course it's possible to pre-render this stuff, but keep in mind that HISE decompresses the loaded PNGs, so a scaling-friendly full-size image for a 1400x1000 interface (an image of 2800x2000 that might be compressed as a PNG down to 1.6 MB or less ends up being 21MB in RAM when loaded into HISE. And it's bitmap, so it doesn't care about alpha channel, it still takes up memory.

      So that's for every layer that you use, for every instance of your plugin.

      Admittedly you might not need retina resolution for shadows so the footprint will be 4x less in that case.

    • HISEnbergH

      How to optimize Scriptnode Networks?

      Watching Ignoring Scheduled Pinned Locked Moved General Questions
      6
      1 Votes
      6 Posts
      124 Views
      orangeO

      @HISEnberg said in How to optimize Scriptnode Networks?:

      How to measure the latency introduced by my Scriptnode network? I imagine driving an impulse through the plugin and recording the output should reveal this (for a DAW specific context). Is this something Plugin Doctor can measure, or does someone have a better methodology?

      You can do a Null test in your DAW for this.

      One channel will be the dry (unprocessed) signal. The other channel will be the processed signal, that is, the channel where the plugin is.

      Make one channel phase invert. If these two channels are identical, the overall result will be silence. Since there is a delay at the sample level in the channel where the plugin is, determine the amount of sample delay required until the result of the combination of these two channels is silence with a sample delay in the dry channel.

      The amount of delay you will apply to silence the sound in the dry channel is the amount of delay created by your plugin's DSP.

      How to compensate for latency introduced by the Scriptnode network? I see in the API Engine.setLatencySamples, but it is unclear to me what it does. Are we meant to measure the latency of the scriptnode network (for example 32 samples) and this function will broadcast to the host the latency introduced by the plugin (i.e. "this plugin introduces 32 samples of latency, so compensate for that")? What does the host actually do with this information?

      If your plugin has a delay of 32 samples, the DAW will play your plugin 32 samples ahead, thus compensating for the delay. Therefore, it is necessary to inform the DAW of this delay value with Engine.setLatencySamples.

    • HISEnbergH

      Ventura - UI lag

      Watching Ignoring Scheduled Pinned Locked Moved General Questions
      17
      0 Votes
      17 Posts
      183 Views
      A

      @d-healey Ah that's good to know, and makes perfect sense.

    • HISEnbergH

      Piano Roll UI Component?

      Watching Ignoring Scheduled Pinned Locked Moved Feature Requests
      17
      1 Votes
      17 Posts
      751 Views
      HISEnbergH

      @ustk Wow seriously impressive work here! Excited to dig into this.

    • HISEnbergH

      Global Cables Flag?

      Watching Ignoring Scheduled Pinned Locked Moved Unsolved ScriptNode
      5
      1 Votes
      5 Posts
      135 Views
      Christoph HartC

      Yes global cables are supposed to work without any special flags, but you have to create the cable in your main script as the compiled nodes do not have that ability.

    • HISEnbergH

      Scriptnode graphics rendering time

      Watching Ignoring Scheduled Pinned Locked Moved ScriptNode
      4
      0 Votes
      4 Posts
      73 Views
      Christoph HartC

      @HISEnberg no folded nodes are not rendered (anymore).

      I found the graphics performance of scriptnode to be pretty much on par with what my eyes can parse. If the network is getting too big with too many cables, the framerate drop is a nice nudge to reorganize stuff (the tools are there).

    • HISEnbergH

      How to smooth a path + Ducking Display Script

      Watching Ignoring Scheduled Pinned Locked Moved Solved Scripting
      13
      0 Votes
      13 Posts
      188 Views
      ChazroxC

      @JulesV 🤣 👌

    • HISEnbergH

      Preset Browser Column Conditionals Inquiry

      Watching Ignoring Scheduled Pinned Locked Moved Unsolved Scripting
      9
      0 Votes
      9 Posts
      258 Views
      HISEnbergH

      @d-healey Ah yes thank you for the correction.

      It is definitely a simpler solution, it just doesn't quite work with the current LAF of my preset browser but for the performance benefit it is worth it!

    • HISEnbergH

      How to display the core.peak & compressors to the UI?

      Watching Ignoring Scheduled Pinned Locked Moved Solved General Questions
      6
      0 Votes
      6 Posts
      136 Views
      orangeO

      @HISEnberg Yes creating paths directly from the display buffer is the way to go.

    • HISEnbergH

      Timer Start/Stop based on external input (Gain value)

      Watching Ignoring Scheduled Pinned Locked Moved Solved General Questions
      7
      0 Votes
      7 Posts
      93 Views
      HISEnbergH

      @d-healey It's strange it isn't the channel count either. I can't really put my finger on it since I load the snippet into the same project, change the channel amount and it works fine. It is just my current .xml that it won't work in, and it isn't like I am reusing any of the variables or anything (I commented out all my other code to test). I am just going to sit on it and address it later.

    • HISEnbergH

      Free Reverse Delay built in RNBO

      Watching Ignoring Scheduled Pinned Locked Moved Blog Entries
      8
      10 Votes
      8 Posts
      530 Views
      M

      @treynterrio you can use this code if you have 2 inputs and 2 outputs or use the previous one if you have one input and one output.

      The first code you can use in scriptnode in case you need to process, for example, mid and side separately.

      import("stdfaust.lib"); MAX_DELAY = 192000; // Phase-shifted phasor for reverse reading // dtime: delay time in samples // phase: phase offset for reading position phasor_phase(dtime, phase) = ((os.lf_rawsaw(dtime) + phase) % dtime) : int; phasor(dtime, phase) = phasor_phase(dtime*2, phase) <: <=(dtime), (*(-1) + dtime*2), _ : select2; // Single channel reverse delay processing reverse_delay = _ <: direct, delayed_and_reversed :> _ with { // Get current sample rate for scaling controls current_sr = ma.SR; // User controls with sample rate scaling delay_base = hslider("Delay Time[style:knob]", 0.5, 0.02, 1, 0.01); delay_time = min(MAX_DELAY-1, delay_base * current_sr); dry_wet = hslider("Dry/Wet[style:knob]", 0.5, 0, 1, 0.01); // Direct path with gain direct = *(1-dry_wet); // Delay into reverse buffer implementation delayed = de.delay(MAX_DELAY, delay_time); // Reverse buffer using rwtable reversed = rwtable(MAX_DELAY, 0.0, phasor(delay_time, 0) : int, // Write index _, // Input signal phasor(delay_time, delay_time/2) : int // Read index ); // Process delayed signal through reverse buffer with gain delayed_and_reversed = delayed : reversed : *(dry_wet); }; // Main stereo processing - apply reverse_delay to each channel independently process = reverse_delay, reverse_delay;
    • HISEnbergH

      Whitebox Package Script Update?

      Watching Ignoring Scheduled Pinned Locked Moved Solved General Questions
      4
      0 Votes
      4 Posts
      122 Views
      HISEnbergH

      @d-healey Thank you very much for sharing this, you are too kind.

    • HISEnbergH

      Script Fx Based projects not working in DAWs

      Watching Ignoring Scheduled Pinned Locked Moved Bug Reports
      7
      1 Votes
      7 Posts
      195 Views
      StraticahS

      @HISEnberg usualy there should be no script network xml because this workflow does not save the node since thats the root of the error.

      Did you try it?

    • HISEnbergH

      HISE plugins crasshing DAWs

      Watching Ignoring Scheduled Pinned Locked Moved Unsolved General Questions
      32
      0 Votes
      32 Posts
      986 Views
      MorphoiceM

      @Lindon @HISEnberg I get a feeling that the problem is only with the Master Chain FX. I can use scriptfx on a Synthesizer Group and did so successfully before when I started using HISE a few weeks ago
      I will have to do some testing to confirm, but I wont be home for a while