• Anyone doing this to declare components?

    11
    0 Votes
    11 Posts
    21 Views
    David HealeyD

    @dannytaurus said in Anyone doing this to declare components?:

    Do you mean like this?

    Kind of.

    I split my scripts into lots of separate files, preferably one file per part of the project - what constitutes a part could be functionality, or it could be UI, I often have one namespace per main UI panel.

    For example, I'll have a file called Presets.js which contains the Presets namespace and this contains everything related to preset handling, including the UI.

    I'll have another file for handling expansions.

    I'll have another one that handles a drop down menu in my plugin's header. This will have items for opening the Settings page, the About page, etc. This is an interesting one because the menu itself shouldn't know anything about the Settings or About pages, it doesn't need to.

    But the Settings and About pages are aware of the menu's existence. So using broadcasters those namespaces can watch the menu and if the Settings option is selected the Settings namespace will show the correct panel, if the About option is selected then the About namespace will handle it. Everything is very self contained and links between namespaces/parts of the project are minimised as much as possible.

    Here is what the on init section looks like for my current project. Nice and clean 😀

    f0136148-47c7-4818-82cf-fc6d90abf1d0-image.png

  • 0 Votes
    2 Posts
    29 Views
    David HealeyD

    Each time you add a new entry the indexes will shift. Do a search of the forum and you'll find some solutions.

    One of the simplest is to use the item's text instead of the combobox value, but that isn't always suitable, it depends on how you have things setup.

  • Hise with Gumroad licensing system

    2
    0 Votes
    2 Posts
    51 Views
    bendursoB

    @Avián You should use Server.callWithPOST
    https://docs.hise.audio/scripting/scripting-api/server/index.html#callwithpost

    something like this based on what I read from the docs of gumroad (i'm not using gumroad, so I don't know if it works)

    Server.setBaseURL("https://api.gumroad.com"); const var params = { "product_id": "1234", "license_key": "your_license_key", "increment_uses_count": "true" }; Server.callWithPOST("v2/licenses/verify", params, function(status, response) { if(status == Server.StatusOK) { if(response.success) { Console.print("License valid"); Console.print("Uses: " + response.uses); Console.print("Product: " + response.purchase.product_name); } else { Console.print("License invalid"); } } else { Console.print("HTTP error: " + status); } });
  • Sampler playhead reset on noteOff

    1
    0 Votes
    1 Posts
    34 Views
    No one has replied
  • Phase Correlation Meter

    14
    0 Votes
    14 Posts
    299 Views
    dannytaurusD

    @resonant I find Claude very useful when coding. I use it every day in the Cursor IDE when I'm building web applications in Ruby on Rails. I'm about 5-10x more productive with Claude.

    I'm on the $20/mo plan with additional OnDemand pricing for extra requests. Given that I use it every single day, often for hours at a time, $20/mo is a bargain.

    If you open the HISE source in Cursor, you can ask Claude questions about code locations/definitions, workflows, how to write scripts in HISE, etc.

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    14 Views
    No one has replied
  • Automation problem in daw (get stuck when hit play)

    1
    0 Votes
    1 Posts
    23 Views
    No one has replied
  • XY Pad Gain Scaling...

    Solved
    3
    0 Votes
    3 Posts
    89 Views
    LindonL

    @JamesC yeah thats one way - but for us this algo approach wasnt quite good enough so we added a simple array of gain(dB) values that the xy pad reads to get the correct gain for its current position - and thus allowed us to have a little "bump" in the middle

  • .set("parentComponent",??? Canw e do this?

    2
    0 Votes
    2 Posts
    48 Views
    David HealeyD

    @ILIAM You can't dynamically change the order of UI components.

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    2 Views
    No one has replied
  • 1 Votes
    5 Posts
    344 Views
    David HealeyD

    Here's a PR for it.

  • Any way to cancel installExpansionFromPackage?

    1
    0 Votes
    1 Posts
    28 Views
    No one has replied
  • Modulation Matrix CSS

    3
    0 Votes
    3 Posts
    52 Views
    ustkU

    @dannytaurus Thanks, yeah I tried using th as well, it does nothing...

    I agree, but unfortunately I am very limited with CSS, so I usually don't know when I'm doing wrong and when it's a Hise issue/limitation

    AI is of no help because of the particular way Hise handles CSS. Conventional stuff often don't work

  • Custom Display panel questions...

    Unsolved
    9
    0 Votes
    9 Posts
    145 Views
    LindonL

    @JamesC said in Custom Display panel questions...:

    inline function onrvbfilenameControl(component, value)
    {
    local currentReverb = ConvolutionReverb1.getCurrentlyLoadedFile();
    if (currentReverb == "")
    {
    rvbfilename.set("text", currentReverb);
    }
    else
    {
    rvbfilename.set("text", currentReverb);
    }
    rvbfilename.repaint();
    };

    Ok well lets look at this:

    local currentReverb = ConvolutionReverb1.getCurrentlyLoadedFile();

    is trying to get a file name..... from ConvolutionReverb1....

    ConvolutionReverb1 is an AudioSampleProcessor, because of this:

    const var ConvolutionReverb1 = Synth.getAudioSampleProcessor("Convolution Reverb1");

    but when we look in the documentation at AudioSampeProcessor it has no method called
    .getCurrentlyLoadedFile();

    https://docs.hise.dev/scripting/scripting-api/audiosampleprocessor/index.html

    ..it does however have:

    https://docs.hise.dev/scripting/scripting-api/audiosampleprocessor/index.html#getfilename

  • Empty slot for combobox?

    Solved
    7
    0 Votes
    7 Posts
    122 Views
    S

    @David-Healey thanx, this helps a lot!! :D

  • 0 Votes
    2 Posts
    49 Views
    David HealeyD

    @Yinxi You can use either parameter\processor id or a control callback. If you want to do two things then it must all be in the callback.

    Or you can use a broadcaster.

  • Scriptnode - Midi frequency

    3
    0 Votes
    3 Posts
    75 Views
    B

    @ulrik

    Ohh yess!! Thank you so much! You helped me a lot. I am good at c++ bad i have no idea about scriptnode.

    Thanks!!

  • Webview cant find index file.....Help please.

    Solved
    13
    0 Votes
    13 Posts
    251 Views
    ChazroxC

    @VirtualVirgin whaaa 500mb?? Its take alot for a normal browser window to hit that much ram. What does ur plugin do?

  • 5 Votes
    7 Posts
    201 Views
    David HealeyD

    The Scripting Course Bundle launch offer expires in 2 days.

  • Paint Routine on Startup not working

    5
    0 Votes
    5 Posts
    105 Views
    P

    @pgroslou Thanks David. I was able to find an example using LAF in the HISE documentation that works well and solves my problem. Much better than using Paint Routines. 👍

40

Online

2.1k

Users

13.2k

Topics

114.2k

Posts