• Custom nested modulators

    C++ Development
    1
    0 Votes
    1 Posts
    190 Views
    No one has replied
  • 0 Votes
    2 Posts
    305 Views
    ustkU

    @ustk So I tried to set the Hise executable as debug, the node as debug, and any combination, I get only crashes...

    But I still think it is a scheme configuration vs debug executable/node thingy:

    Screenshot 2024-12-03 at 17.40.03.png

  • Export static library

    General Questions
    5
    0 Votes
    5 Posts
    517 Views
    M

    @Christoph-Hart Yes, GDExtension is the framework for creating the dynamic libs, but I have no formal training in C++, so I have no idea how involved it is to write an API.

  • 1 Votes
    10 Posts
    1k Views
    jonhallurJ

    @d-healey @DanH

    I my defense you are both very helpful and have the same initials.

  • SNEX C++ Template template arguments

    C++ Development
    2
    0 Votes
    2 Posts
    580 Views
    langermarc19L

    Actually I think I may have found the answer in hi_dsp_library/snex_basics/snex_ProcessDataTypes

  • 1 Votes
    11 Posts
    2k Views
    jonhallurJ

    Just for future documentation and forum searches, this here code works in the other direction, that is calling into the Javascript from C++ from an inline function handed to C++, I image it would work for inline functions added to the Globals object as well.

    _global->setMethod({ "set_callback" }, [&](const var::NativeFunctionArgs& args) -> var { auto *obj = args.arguments->getDynamicObject(); if (obj) { if (auto p = _ref.getProcessor()) { juce::Result* res; var fVar(obj); var args[2] = { 42, 13 }; LockHelpers::SafeLock sl(getMainController(), LockHelpers::ScriptLock); p->getScriptEngine()->maximumExecutionTime = RelativeTime(3.0); p->getScriptEngine()->executeInlineFunction(fVar, args, res); } } return { 0 }; });

    Obviously this is not safe, and if you don't use an inline function, it will crash your C++ code.

    This is rougly the code from

    void ProcessorWithScriptingContent::customControlCallbackIdle(ScriptingApi::Content::ScriptComponent *component, const var& controllerValue, Result& r)