• 1 Votes
    1 Posts
    65 Views
    No one has replied
  • How do I reference a node inside a module from the interface's script?

    7
    0 Votes
    7 Posts
    317 Views
    S

    @Kalliopei In this case you could get the Display Buffer Source of the network and then the Index of each Peak Node and then do whatever you want with the value you get. You can do something like this:

    CODE:

    //Get the FX Display Source Reference const var dp = Synth.getDisplayBufferSource("Comp"); // Get the Displaybuffers const var input = dp.getDisplayBuffer(0); const var output = dp.getDisplayBuffer(1); input.setRingBufferProperties({ "BufferLength": 1024, "NumChannels": 1 }); output.setRingBufferProperties({ "BufferLength": 1024, "NumChannels": 1 }); const var inBuffer = input.getReadBuffer(); const var outBuffer = output.getReadBuffer(); const var inMeter = Content.getComponent("inMeter"); const var outMeter = Content.getComponent("outMeter"); const var subMeter = Content.getComponent("subMeter"); //Timer Object const var reductionTimer = Engine.createTimerObject(); reductionTimer.setTimerCallback(function() { //Befor Comp inMeter.setValue(Engine.getDecibelsForGainFactor(inBuffer.getMagnitude(0, inBuffer.length))); //After comp outMeter.setValue(Engine.getDecibelsForGainFactor(outBuffer.getMagnitude(0, outBuffer.length))); //Difference subMeter.setValue(Engine.getDecibelsForGainFactor( (inBuffer.getMagnitude(0, inBuffer.length)) - (outBuffer.getMagnitude(0, outBuffer.length)) )); }); // Start the timer with ~30Hz. reductionTimer.startTimer(30);

    SNIPPET:

    HiseSnippet 2083.3oc2Y07aabbEeVIsxgzoo0EIH43BgBT5BWYRZEakzFHpOsEpoDgnhSxImQ6NK4Ts6LK1cVIwDjhbrG60zKM+Izq8l+CHG5GG6k9mfu1Ks88lYWxcIYjoHbsRhBP.m27dy7998aV2IV5xRRjwDqpGOHhQrdc6tCDp9a2mxEj82gX8F1soIJVrigzVChnIILOhk0hODIXUYIh9umuwVz.pvkMhDg7DI2k8XdHWMhZmV+FdPvdTO1w7vBbuVq8ckhskAxTPeVztNIh5dJsG6.Jx1B1jGQS5Sr9E1dMVqg+5tz6udi0Z551b8Gz78dfKi56ytei28Aqst+Z9T25MIVKuqGWIi6pnJVBbnaI8Fzsu7bg4BdBOgeR.CWzfzEtYCYx184AdcxcNIDhkcmQtpEMtp2ztM2iOj9HW1OQugyHIJ5zrV3xToFWAUxpfJsjQktkcW2XdjZzNn9bS68EPDDbIrRphgWxBw11aKANDpUComx1KFVLThZ2ud863.+ua+qpV8t28gLkipOyYuO1YGdRT.cfSWHd4xbNh4yhYP7uJDESTNmQic7hb9.GcB0p8XpLA1JEhSwFopsx1xvnULmsS9gmw3IZFSJbdbQTpBNRunINuZnBNhSYp5am0F38oOqUSXpi3hdlM.2VDKVwYI097pNNqXn9Xlnmp+JuuSi5MW6NH8CRCgnsPvBRPxU+B77L23KwCrnYaDDLGiVCVzQLpWl4LtgOj4LUZBtKczsYJMy4o..2XLQJfE0VIa+UF+NtboxYnrXIomb4hkyPV9.1dH14vS9sLWUgiIl4k5p3RgY+OvYWQOtfspaLCJozDMxnM0xbigG8O1lFDbBzdolepPucsaW8yqV4t2cKluDZ1AJU0JYFOJzSnAorZY2DlPwb4m.gq8jwXav8ntPMcs7.ExQaZOAWk5wpA0OC2HPG6u8sAUqBdca5iNDW80k60l86aXvdhKbzNitwJlqbGtedkZkbO9rek3YbErSmeoyURKwi2npULUAPaAnUYrowfRGwOmq5676tW8G8YqNQ3EYU+yZ2CZHjGbcjhCjJ1gYQ4peQUmw2x2ep6gIpwxf.rvYJaatpKQvZhzvSXw2AxbAu6PFgN1kGCr7rMFv0T2TfQoXevedXDKa8dx.Or8N96IGZPxJ7fe8g6uCUQw4HYzF0rBnsC6LXxsYpRE6cXImpjQvoNrZEPFnz69FYyb5Fv8XwDtGJPVkC4hhi2GTbQhZ.ZdUseBdmtz.RH2yKf0QlvQWHxqkl2lOCveD0k+YZrB+wuB+6urQXQrGexyBoWTD2QBjUwAJ11NdaQRnmw1WzIlAY43fuy4dJ.Hgs0uFXsOi2quBWUeABIT5kYw5jezgMCFbU67Z2hV7m7CZKNu0QAK9K8+9oEOIPJ.BmzKMfpJiqC6ClsAp9EASg.lDfYMnHh3q.Xu5WJXuYUEukcGtxs+z0wElhNB0+++PGyfH+ir2E5t6pFofKYu2GOu3gqO63gsM2e0rDW3NwKeYaL2tz0CHuJgMLASRfbDRF3Xqeu8nt5QwrHZL6XYGf+ZIzvn.1QfZeGmSBjtmhouSNJHxnUagbTyMCk27LwX4WRObfbDzrBfn1lph00OfOvfFOGCZtOHaccbMlpzkI7zK9uveYa1.WaksYi7MKLm4.l5bY7o5HT1uIV2.CGutch1I+T+KZP1LHPdNFd3YItPvQSqiLXPTeof6hjLbjqoaFJSEpb0Edd3wTd.lo2MMAlH5cnnKvr9MoVKBMgRzG7MrquJ7ePl+A5NAKaf1LnCE6XbKabHKjuBvIbGl2VRWKk.oebZoswSM+YrFGGn0g5FpviXsVrvfVSVKtBpIWvbQ6mLrcoFRFZO5yDYewLU1jNGwnmRJo82Dz9X1p5MlTMyj3EnfKUTAIi5kbLMF.vYPQfo9WjCfXrJnwofVlvicQ9ksKje6AfTzhmmvzgFCpnRKOojQhfiKaj+XauABZH2MYU2IJnyLT8FWiFJZTuPC0xd3JHsrMWjEvGMyqM8hwnAUZEFUBK+ZbTY2SYma7QYTeVu+7a0xjPcbeXpX+9.vPRgyp0666+ye1NLeZZfZh6fb4JF3sFWwZIaMSJ1mt1e3etApXul8lJE7DLxDm8zUp8a8JPopXeDKfQSXE0p24O8U+6Or0bpUOeiIigslMs5q+G+m+tVqtg8QXhYQc5K+aey2buuEc54ab08TfRMlNoOnIzIMUyWUpKfFzzgbFifkqrugtYTiqR+qbQtFqqsloFXkVrkTdZHUOBbtd0UQfUusYyaZ+Q.dW8WVSOd5szq8kwgNOjAStPTgMtjOV6ecV+XsQy7Gq8PWEnBGGSEIQxDViRcrXg7ig2TjTh5XRzbpRzrbZkJUT9nMjJwE5J1CbEE360ZkSrYQhcnhRGFrtzI0lW3EG+qM1UPADVcYfk6cXhK3XniUXzIMHg8Q3SOZTTvQjaVj7inwdPLzsDb7EKCyaoYClW4WlTf+o.Td4qguk8Kmm2bM9BrROunRtN1ki8Q1UbFK.Ji053O0Nq4WN0x0gskBYNb1QQ8iX.V7d8Xk6xNMCJal4PJuYq7AVCI8yZ8X.8JMts4ctyiu3p+O8vTiWuS1HdGr4gy2ee47h+f9kyyd0GzO761Qw21F5K2zQGJctdhkuJdc8qh6Hj5FKepq4iRfE8U0T.6VnwhUwtMt1oA4rwQ4EBiLdpqa4iZBAaNuBdu4Uv0lWAe24Uv6OuB9f4Uv0mWAeuqpfUyS.p+hkDAQrYpRFZJGAjUc10fd1x.pRWYR9eO6K.TA
  • Change the processing order within a network

    3
    0 Votes
    3 Posts
    219 Views
    ustkU

    @Christoph-Hart I was afraid of this but in the end yes, I guess I could. The blocks should just need a global cable so I can have a unique sender network for all the cables and then make a module per FX receiver... And it'd probably simplify things a lot instead of having just one giant blob... Should have just have thought about that earlier! ☺

  • Latest version of HISE breaks existing presets....

    74
    0 Votes
    74 Posts
    9k Views
    LindonL

    @dannytaurus said in Latest version of HISE breaks existing presets....:

    @Christoph-Hart Here's what 'my' Claude says:

    The pattern so far

    Since a92a701de (the unified automation base class), every automation actor - host parameter, macro, MIDI automation, UI widget, script, preset restore - is both a reader and a writer of shared values, connected through the dispatch library. The regressions since then have all been the same bug wearing different hats: a listener can't tell an echo of its own write from a real change, so it feeds the value back around the loop. Each fix so far suppresses one specific edge:

    633626eeb - gate refreshParameterValue() on enablePluginParameterUpdate, and switch MIDI automation's setAttribute from async to sync notification e1fb54695 - carve the backend macro-to-parameter-slot routing out behind HISE_MACROS_ARE_PLUGIN_PARAMETERS

    Alongside the pre-existing guards (recursive, sendToHost per parameter, deferNotifyHostFlag, the exclusive-mode conditionals in loadUserPresetInternal()), that's now seven or so overlapping mechanisms all answering the same question by inference: "is this change an echo?"

    Why I think flags can't fully close this

    Two structural limits:

    The global flag suppresses the wrong scope. enablePluginParameterUpdate is one boolean for all parameters. While parameter A's update is dispatching (flag false), a legitimate concurrent change to parameter B hits the early return in refreshParameterValue() and is silently dropped -the internal value updates but the host never hears it. I suspect this is exactly the DAW-project-vs-internal-preset drift you were hypothesizing about at the end of the thread. The guard isn't just failing to fix that bug, it's a source of it. Scoped guards can't survive deferred dispatch. A ScopedValueSetter protects a call stack, but this system defers across threads by design. By the time an async-queued listener runs, the guard is long restored and the echo sails through. That's why 633626eeb had to change MIDI automation to sync notification - to drag the callback inside the guard's scope. Changing threading semantics to make a boolean reachable feels like the approach hitting its ceiling.

    Proposal: make provenance explicit

    The class structure from the rewrite is good - I'd keep all of it. The change is to what a notification is: value plus origin, instead of value alone.

    Add a small source token (Host, Macro, MidiAutomation, UI, Script, PresetRestore) to SlotSender::sendChangeMessage() and the listener callbacks, threaded through CustomAutomationData::call(). Because the token travels with the queued message, it survives deferral and thread hops - the thing no scoped flag can do. Each writer passes its own token and ignores incoming messages carrying it. MacroPluginParameter::setValue() writes as Host and skips Host-tagged notifications; same pattern in HisePluginParameterBase, MidiControllerAutomationHandler, CustomAutomationParameter. recursive, sendToHost and the global enablePluginParameterUpdate then become deletable. (deferNotifyHostFlag can stay - batching host notifications is an optimization, not a correctness guard.) Preset restore becomes a first-class source: "macros must not clobber freshly restored widget values" becomes a one-line filter rule instead of an ordering convention plus exclusive-mode conditionals, and the MIDI sync/async choice stops mattering for correctness.

    For precedent: JUCE's own ParameterAttachment solves the identical loop the same way - each attachment filters its own echoes at the attachment point.

    Hmm, I must give this Claude malarky a bit of a go......

  • Custom peak meter doesn't work in a DAW

    10
    0 Votes
    10 Posts
    412 Views
    David HealeyD

    @Kalliopei why not use a peak meter floating tile instead of a panel?

  • Need help for Export on Mac

    5
    0 Votes
    5 Posts
    367 Views
    K

    @LUIS29

    I can give the mac compiling a go and try if it compiles ok.
    No guarantees. You need to codesign it afterwards thou on every mac machine it is running.
    it's not too hard, just running some code through terminal on mac.

  • Hise general and compiler settings not saving

    11
    0 Votes
    11 Posts
    1k Views
    K

    @Christoph-Hart
    Yes, you're quite right, that probably is the real cause.
    Still a bit weird, since an older install worked as should.
    Although it was the one with an .pkg, or was it .dmg, installer from the website,
    so that might have to do with it as well.
    And as the admin and the sole user of the machine, the writing rights should've been ok.

  • "An error again :("

    2
    0 Votes
    2 Posts
    161 Views
    David HealeyD

    You just need to run a command to tell the system where xcode is.

    Make sure your xcode app is in /Applications (not the user folder, the system one). Then run the command

    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
  • Flex Ahdsr laf improvements

    1
    5 Votes
    1 Posts
    103 Views
    No one has replied
  • where do I find the 4.9.2 hise version?

    13
    0 Votes
    13 Posts
    508 Views
    C

    @Christoph-Hart haha thanks man! i dont know what to say. im too new at this stuff, its all hieroglyphes for me.

  • Oriental Drummer

    10
    4 Votes
    10 Posts
    2k Views
    A

    @combamusic Thank you!

  • 0 Votes
    2 Posts
    171 Views
    David HealeyD

    @ospfeigrp You can draw that kind of thing using look and feel or paint routines, you'll need to get familiar with drawing arcs.

  • Confused about Matrix Modulator Value Ranges

    2
    0 Votes
    2 Posts
    190 Views
    observantsoundO

    I figured it out.
    In order for the matrix modulator to properly work I need to set my filter cutoff to 100%.
    Then use the "Value" knob in the Matrix Modulator module as the main Filter Cutoff knob.
    I was using a 2nd UI knob that I wired to the Cutoff, but the Matrix Mod module expects you to use "Value" as the main knob/slider and "Intensity" as the modulation depth.
    Setting the filter to 100% ensure that both "Value" and "Intensity" have control over the full range of the filter.

  • Made a thing: Roland JX-8P/JC-10/MKS-70 emulation in HISE

    3
    12 Votes
    3 Posts
    195 Views
    MorphoiceM

    @griffinboy sick isn't it? I wonder myself how I got there, but then again given Idid nothing else for the past months than spend every free hour on this... it's a bit pathetic ;))) I need to start having a life again lol

  • Why I'm not making a Windows installer (nor code-signing)

    18
    4 Votes
    18 Posts
    1k Views
  • Moonbase

    39
    0 Votes
    39 Posts
    7k Views
    Christoph HartC

    @David-Healey nope, I'll need to work on the details with Tobias when I'm back from vacation.

  • 0 Votes
    2 Posts
    90 Views
    LindonL

    @lijas90 your installer needs to create/write to the Link file in the %APPDATA% folder with the path to your samples. so on Windows this is LinkWindows, on MacOS its LinkOSX.

    As an aside putting samples in the %APPDATA% folder system, as you are doing, is generally a bad idea, esp. for Windows users who often have small C; drives (where the %APPDATA folder resides) as thus there is not enough room for the sample set. Better to ask the end user where they want to keep their samples during the install.

  • Matching fonts in Figma ?

    6
    0 Votes
    6 Posts
    183 Views
    ChazroxC

    @lalalandsynth its all brand new to me. Just passing along the info. Im sure there's a fix.

  • MEDIA BROWSER PLUGIN [NOT A HISE PLUGIN - but may be useful]

    10
    1 Votes
    10 Posts
    547 Views
    ospfeigrpO

    @Chazrox yea similar to cosmos but cross platform at least win and linux it have a nice pixeldrain feature for sharing uploading user generated samples etc

  • Automatization!

    3
    0 Votes
    3 Posts
    123 Views
    gonzaloG

    @dannytaurus thank you so much my friend! 😁🙏🏻

17

Online

2.5k

Users

13.9k

Topics

121.3k

Posts