Forum
    • Categories
    • Register
    • Login
    1. Home
    2. David Healey
    3. Topics
    • Profile
    • Following 1
    • Followers 83
    • Topics 1,082
    • Posts 25,304
    • Groups 1

    Topics

    • David HealeyD

      Compiled Network Fixed Channel Count?

      Watching Ignoring Scheduled Pinned Locked Moved ScriptNode scriptnode channel compiled network
      17
      0 Votes
      17 Posts
      181 Views
      David HealeyD

      My network contains a lot more than just some gains so recreating it all via scripting is a pain and means I don't get to work with the nice GUI. Is there a simple build network from JSON type thing? Edit: dsp.createFromJSON might be it..

      Another option I thought of is I can park all the chains in the multi as unused nodes, then in the script use this to add them for just the number of channels:

      const dsp = Engine.createDspNetwork("SimpleGain"); const numChannels = dsp.getNumChannels(); const multi = dsp.get("multi"); const numPairs = numChannels / 2; for (i = 0; i < numPairs; i++) dsp.get("chain" + i).setParent(multi, i);

      This works for my multi channel simple gain because each channel has its own chain, but I don't think it would be a good general solution for all networks.

    • David HealeyD

      Crash when using release start + purged multi-mic

      Watching Ignoring Scheduled Pinned Locked Moved Bug Reports purge multi-mic crash
      1
      0 Votes
      1 Posts
      45 Views
      No one has replied
    • David HealeyD

      Full instrument expansion plugin parameters

      Watching Ignoring Scheduled Pinned Locked Moved Solved General Questions expansion macro parameter
      3
      0 Votes
      3 Posts
      122 Views
      Christoph HartC

      @David-Healey also don't forget the buddy of HISE_MACROS_ARE_PLUGIN_PARAMETERS:

      HISE_NUM_MACROS. Help text in the upcoming docs:

      HISE_MACROS_ARE_PLUGIN_PARAMETERS

      Publishes every macro control as a dedicated plugin parameter in front of the scripted automation slots.

      Default Hot Reload Auto Config 0 yes no

      When enabled, the exported plugin advertises one plugin parameter per active macro slot before any custom automation slot or scripted plugin parameter, which lets the host automate macros directly instead of routing through a UI component. The plugin parameter index reported to the host changes because the macro slots occupy the first positions, and macro state no longer restores from user presets when the preset system is running in exclusive mode (which matches how plugin parameters are normally managed by the DAW rather than by the preset). Combine this with a reduced macro count to keep the parameter list compact.

      Read at runtime from the Extra Definitions, so no HISE rebuild is required. Pair it with HISE_NUM_MACROS so the number of exposed plugin parameters matches the macros you actually use.

      See also: $API.MacroHandler$ -- macro slots exposed as plugin parameters are the ones managed through this scripting object, $MODULES.MacroModulationSource$ -- every macro slot is mirrored as a front-of-list plugin parameter when this is on, $PP.HISE_NUM_MACROS$ -- determines how many macro plugin parameters the host sees

      HISE_NUM_MACROS

      Number of active macro control slots that the project exposes on the master chain.

      Default Hot Reload Auto Config 8 yes no

      Sets how many macro slots are visible to scripts, to the macro handler, to the Macro Modulation Source synthesiser and to the macro plugin-parameter publishing path. The default of 8 matches the original HISE layout and the UI panels that show a fixed eight-knob strip; values between 1 and the project-wide ceiling let you trim a compact product or scale up to a modular rig with many assignment targets. The value is read at runtime, so changing it in the Extra Definitions and reopening the project is enough to see the new slot count without a HISE rebuild.

      Must not exceed the project-wide macro ceiling of 64, otherwise compilation fails with a hard error.

      See also: $API.MacroHandler$ -- slot count seen by every scripting call that enumerates macros, $API.Engine.setFrontendMacros$ -- setFrontendMacros expects a name list sized to this value, $MODULES.MacroModulationSource$ -- chain count of the macro modulation source synthesiser matches this value, $MODULES.MacroModulator$ -- macro modulator slot index is validated against this value, $PP.HISE_NUM_MAX_MACROS$ -- hard upper ceiling that this value must not exceed, $PP.HISE_MACROS_ARE_PLUGIN_PARAMETERS$ -- determines how many plugin parameters are published when macros become plugin parameters

    • David HealeyD

      API browser drawing a blank

      Watching Ignoring Scheduled Pinned Locked Moved Solved Bug Reports
      9
      0 Votes
      9 Posts
      275 Views
      Christoph HartC

      @ulrik sure

    • David HealeyD

      Css classes in regular look and feel?

      Watching Ignoring Scheduled Pinned Locked Moved Scripting css look and feel
      4
      0 Votes
      4 Posts
      162 Views
      David HealeyD

      I had Claude give it a go. I also noticed that the linear-slider class is added to knobs, even though they're not linear.

      Also made it available in laf and added getStyleSheetProperty too

      https://github.com/christophhart/HISE/pull/935

    • David HealeyD

      Recent commit to Processor.cpp breaking old project

      Watching Ignoring Scheduled Pinned Locked Moved Bug Reports
      23
      0 Votes
      23 Posts
      895 Views
      David HealeyD

      @Christoph-Hart How about this to fix the original issue? https://github.com/christophhart/HISE/pull/959

    • David HealeyD

      Filter gain modulation not working correctly

      Watching Ignoring Scheduled Pinned Locked Moved Bug Reports
      15
      0 Votes
      15 Posts
      1k Views
      David HealeyD

      @Christoph-Hart said in Filter gain modulation not working correctly:

      If you then want a modulation to go from -6db to +6dB, you just leave the knob position at 0dB and add a bipolar modulator with +6dB intensity.

      Little bump and also, would this work for nonsymmetric ranges? I ran into one today where I'd like to go from -12db to +3db.

      Also there is still this bug with artefacts and voices overwriting each other:

    • David HealeyD

      connectToOtherTable missing from the API browser

      Watching Ignoring Scheduled Pinned Locked Moved Bug Reports
      1
      0 Votes
      1 Posts
      84 Views
      No one has replied
    • David HealeyD

      Prevent listener of attachToComponentValue from firing when the value changes

      Watching Ignoring Scheduled Pinned Locked Moved Scripting
      3
      0 Votes
      3 Posts
      124 Views
      David HealeyD

      @Christoph-Hart Aha that's a good idea

    • David HealeyD

      JUCE 8 Build Errors

      Watching Ignoring Scheduled Pinned Locked Moved Bug Reports
      11
      0 Votes
      11 Posts
      411 Views
      L

      @ustk They're much better handled in JUCE 8 in my experience, I've built two shader based elements that work well in JUCE 8 when compiled as panels into a HISE build, I have had a lot of issues with GPU rendering though currently doing the work on CPU until I work that out. Annoyingly these depend on JUCE 8 functionality so neither works now I've had to downgrade to JUCE 6. Fingers crossed this is sorted soon!

    • David HealeyD

      drawFittedText has gone for a walk?

      Watching Ignoring Scheduled Pinned Locked Moved Scripting
      3
      0 Votes
      3 Posts
      172 Views
      Christoph HartC

      haha actually that was one of the few lines of code that I wrote myself - I was testing out some new logic that catches deprecations but somehow I deleted that line.

      Funnily the documentation pipeline that I'm currently running over the entire codebase to recreate the API docs flagged this as an issue:

      Missing registration: drawFittedText has a wrapper (API_VOID_METHOD_WRAPPER_5) and full implementation but does NOT appear in the constructor's ADD_API_METHOD calls. It is present in the base JSON, meaning the Doxygen-based generator picks it up from the header declaration. Whether it is actually accessible at runtime is uncertain -- it may be silently unavailable if the ADD_API_METHOD is required for the scripting engine to find the method.

      But it then got lost in the noise - I have a system that populates a list of bugs / small issues that the doc generator discovers while chewing through the code, but here it didn't appear too:

      https://github.com/christoph-hart/hise_api_generator/blob/main/enrichment/issues.md

    • David HealeyD

      Expansion wide preset search

      Watching Ignoring Scheduled Pinned Locked Moved General Questions expansion preset search
      3
      4 Votes
      3 Posts
      201 Views
      ChazroxC

      @David-Healey Killin it.

    • David HealeyD

      Preset browser expansion installer

      Watching Ignoring Scheduled Pinned Locked Moved General Questions expansions installer preset
      2
      5 Votes
      2 Posts
      163 Views
      ChazroxC

      Epic!

    • David HealeyD

      Build errors with latest commits

      Watching Ignoring Scheduled Pinned Locked Moved Solved Bug Reports
      2
      0 Votes
      2 Posts
      161 Views
      David HealeyD

      @David-Healey Most of those errors were just stale files that a make clean didn't get rid of, I needed to remove the build folder completely.

      The error relating to DELETE is caused by one of the include files on Linux systems declaring a DELETE macro and this conflicts with your enum.

      A very minimal PR to unset the macro seems to solve it.

    • David HealeyD

      Packaging Plugins and Apps Workshops Now Available

      Watching Ignoring Scheduled Pinned Locked Moved General Questions installer code signing notarize innosetup packaging
      15
      10 Votes
      15 Posts
      765 Views
      J

      @Sifres
      The storefront was easy to setup, but
      I have a half finished website. I was just testing it out, but seems to be really great so far.
      ...and I havent tried that JUCE module that can work with License activations.

    • David HealeyD

      Asset Manager

      Watching Ignoring Scheduled Pinned Locked Moved General Questions
      22
      0 Votes
      22 Posts
      1k Views
      Christoph HartC

      @David-Healey Oh good spotting, this might come from the fact that there's some internal path normalization but the wildcards do not use this.

      BTW, I've added another feature to the asset manager last week: you can define a SharedWildcard which allows you to define files that might be shared across multiple of your assets - the asset installer will then skip them at installation / deinstallation (and verifies that they don't conflict when installing two assets that share files).

    • David HealeyD

      showErrorMessage doesn't work

      Watching Ignoring Scheduled Pinned Locked Moved Bug Reports bug error message
      4
      1 Votes
      4 Posts
      270 Views
      ustkU

      @David-Healey yes this is what I use… just saying it’s broken too and after looking at the code they both use the same thing, so this explains why

    • David HealeyD

      Third party HISE developers

      Watching Ignoring Scheduled Pinned Locked Moved General Questions
      8
      5 Votes
      8 Posts
      670 Views
      Oli UllmannO

      I would also like to throw my hat into the ring. :-)

      I have spent most of my professional life as a composer for film, TV, and advertising. My clients include German TV stations as well as Bugatti Automobiles, Porsche, Nivea, and many more. I have also been involved in several gold and platinum chart productions.

      Since 2022, I have released a few Kontakt libraries, and for the past 2.5 years, I have been working intensively with HISE. I am currently finishing my first plug-in. For this, I created all the graphics in HISE and also worked with Max and RNBO export and import in HISE. In addition, I have extensively studied the new HISE modulation system.

      There are certainly some more experienced programmers than me in this post, which is why my unique selling point is probably that I have many years of experience in professional music production and sound design.

      I look forward to working on projects together! :-)

      @David-Healey thanks for this post! :-)

    • David HealeyD

      Preset browser selection reset on project load

      Watching Ignoring Scheduled Pinned Locked Moved Feature Requests preset browser
      8
      1 Votes
      8 Posts
      419 Views
      J

      @David-Healey ok got it