Categories

  • General questions and announcements about HISE

    8k Topics
    69k Posts
    D

    Hi there im building an FX plugin, would like to add a looper function into it. If anyone has experience building a looper please message me. This is a paid project 👍

  • Scripting related questions and answers

    2k Topics
    15k Posts
    ChazroxC

    @ILIAM if you rig your sliderPack LAF to the value of the stepSequencer slider (switches), you can do something like this. The sliderpack LAF depends on the corresponding switch value (call by index).

    Step sequencer sliderpack trick.gif

  • To share HiseSnippets, Interface Elements, GUI, UI/UX, Panel LAF etc..

    184 Topics
    2k Posts
    D

    @Oli-Ullmann hey, could you maybe upload this again? would be a big help to make this thing work in my projects :)

  • All about ScriptNode DSP nodes, patches, SNEX and recipes.

    326 Topics
    2k Posts
    HISEnbergH

    @hyperphonias I’m more of a humble DSP man myself 👩🏻‍🌾

    @d-healey is the man you want to talk to about these sorts of questions. He’s got a ton of materials online about this on YouTube and Patreon. I think this vídeo should answer your question.

    https://youtu.be/1rs0w4MDNA0?si=kfDhvlTHNvPa1Uof

    He also released a whole course on getting started in HISE which may be helpful to you:

    https://www.audiodevschool.com/profile/infolibrewave-com/?view=instructor

    Essentially you need to script the controls, not use the property editor here.

  • A subforum for discussing Faust development within HISE

    109 Topics
    885 Posts
    resonantR

    @Mighty23

    Thank you for the explanation. I don't mean a graphic, but a modulation like the one in the image below. Not separate Right and Left, but a single one (like the scriptnode gate, comp...etc.).

    alt text

  • If you need a certain feature, post it here.
    610 Topics
    5k Posts
    d.healeyD

    @HISEnberg said in Get Audio File Length Independent of Audio Looper Start/End Points:

    since this could allow the user to modify the buffer via scripting if they like

    You can already do that with setRange()

  • Develop better software through collaboration and shared knowledge. Not just about coding —> covering the entire journey, from development to launching and promoting plugins or software.

    96 Topics
    812 Posts
    ChazroxC

    @dizavin sometimes if "showTextBox" in property editor the text box blocks the slider. Try unchecking that and try again.

  • If you encounter any bug, post it here.
    2k Topics
    12k Posts
    M

    I can run the following code without any issues, but when I change the last line to true (so the function runs synchronously), HISE crashes immediately.
    Has anyone else experienced something like this?
    I’m wondering if this is a known issue or if I might be doing something wrong.

    const var th = Engine.createTransportHandler(); th.setSyncMode(1); th.setEnableGrid(true, 5); inline function onGrid(grid) { Console.print(grid); } th.setOnGridChange(false, onGrid); // works fine // th.setOnGridChange(true, onGrid); // crashes HISE
  • Post your example snippets that you want to add to the official HISE snippet database here. We'll revise it, upload it to the repo and delete the post when finished.

    16 Topics
    103 Posts
    R

    @HISEnberg yes I saved each one before compiling but still got the issues.

    I only installed 4.1.0 the other day but have no issues building networks on my older version. I'll do a test nest time I'm at the laptop and see.

    And yes I'm on windows, ah ok you're getting them on windows too...at least I'm not going mad then. Wonder what the issue is though?

  • Everything related to the documentation (corrections, additions etc.) can be posted here
    67 Topics
    457 Posts
    VirtualVirginV

    @Christoph-Hart said in Looking into the hise_documentation on GitHub- any reason why a majority of the markdown files are empty for the Scripting API?:

    Aw poor @VirtualVirgin that was half an hour that you'll never get back

    "Aw poor @VirtualVirgin that was half an hour that you'll never get back"

    No worries! Was learning how to generate markdown files from text.
    I made text files of all of the classes in the API, then ran a python script to transform it to markdown. Just a learning experience. I then went on the generate JSON for the API with the following schema:

    { "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Scripting API Method", "type": "object", "properties": { "class": { "type": "string", "description": "The class this method belongs to." }, "method": { "type": "string", "description": "The method name." }, "description": { "type": "string", "description": "A description of what the method does." }, "syntax": { "type": "string", "description": "The usage syntax string for the method." }, "parameters": { "type": "array", "description": "List of method parameters.", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The parameter name." }, "type": { "type": "string", "description": "The parameter type." }, "optional": { "type": "boolean", "description": "Whether the parameter is optional." }, "description": { "type": "string", "description": "A description of the parameter." } }, "required": ["name", "type", "optional", "description"], "additionalProperties": false } }, "returns": { "type": "string", "description": "The return type of the method." }, "examples": { "type": "array", "description": "Code examples demonstrating usage.", "items": { "type": "string" } } }, "required": [ "class", "method", "description", "syntax", "parameters", "returns" ], "additionalProperties": false }

    Which makes this for example:

    [ { "class": "Array", "method": "clear", "description": "Clears the array.", "syntax": "Array.clear()", "parameters": [], "returns": "", "examples": [ "const var arr = []; // Declare an array\n\n// preallocate 10 elements, do this if you\n// know how many elements you are about to insert\narr.reserve(10); \n\nfor(i = 0; i < 10; i++)\n{\n\t// Add an element to the end of the array\n\tarr.push(Math.randInt(0, 1000));\n}\n\nConsole.print(trace(arr)); // [ 523, 5, 76, 345, 765, 45, 977, 223, 44, 54]\n\narr.clear();\n\nConsole.print(trace(arr)); // []" ] }, { "class": "Array", "method": "clone", "description": "Creates a deep copy of the array.", "syntax": "Array.clone()", "parameters": [], "returns": "A deep copy of the array.", "examples": [ "const arr1 = [0, 1];\n\nvar arr2 = arr1;\n\n// Changing any element in arr2 will also change it in arr1\narr2[0] = 22;\nConsole.print(trace(arr1)); // [22, 1]\n\n// Reset the element 0 back to 0\narr1[0] = 0;\n\n// Cloning the array creates a new dataset in memory, separate from the original array\narr2 = arr1.clone();\nConsole.print(trace(arr1));\narr2[0] = 22;\nConsole.print(trace(arr2));" ] },

    I'm sure this is all elementary for you and David, but I'm just learning how to do some these data formats and transformations with parsers etc.

  • Collection of Blog Entries

    80 Topics
    745 Posts
    StraticahS

    @Chazrox We used sample robot to do the multisample recordings. It essentially plays MIDI and records/ crops the receiving sounds. That way it is also possible to have some analog end of chain effects - or make monophonic synths polyphonic. :)

  • The nerdy place for discussing the C++ framework
    167 Topics
    1k Posts
    Christoph HartC

    Is there a way to update the scriptnode UI with the relevant new parameter

    Not without hacks. The best way of thinking about this is a black box communication of parameters into the node. Now if you want to update a UI state that you display on the plugin interface, global cables (and their data callback) are the way to go, there you can easily pack everything up into a nice JSON and send it back to HISE Script (on a deferred thread!), but I wouldn't recommend going the extra mile of updating the internal scriptnode parameters only so that you can look at them in the network with the right value.

17

Online

2.0k

Users

12.6k

Topics

109.8k

Posts