• New Build, All Meters Crashed. How?

    Solved
    32
    0 Votes
    32 Posts
    4k Views
    David HealeyD

    @Chazrox said in New Build, All Meters Crashed. How?:

    this commit works.

    Good, now find the first commit that doesn't work :)

  • Does path.contains() work properly? I am having issues with it.

    3
    0 Votes
    3 Posts
    345 Views
    VirtualVirginV

    @ustk Oh that makes sense! And that method is a lot easier than what I was doing.

  • drawFilterPath itemColour1 and itemColour2 are the wrong way around

    3
    1 Votes
    3 Posts
    348 Views
    David HealeyD

    I also noticed that drawDragHandle's colour properties are all empty. So I've made a modification that passes the filtergraph to the laf function so we can grab its colours. I hope this is the correct way to do this.

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

  • Dynamically switching processorId of an AudioWaveform Tile.

    9
    0 Votes
    9 Posts
    1k Views
    David HealeyD

    @CyberGen said in Dynamically switching processorId of an AudioWaveform Tile.:

    should I add this to the gitHub issue list?

    Can do

  • HISE CSS Syntax

    Unsolved
    6
    0 Votes
    6 Posts
    583 Views
    C

    @Christoph-Hart cheers, mate.

  • Button default value should be used in broadcaster

    3
    1 Votes
    3 Posts
    473 Views
    David HealeyD

    @Christoph-Hart said in Button default value should be used in broadcaster:

    It's used for AAX plugins

    Aha that's good to know

  • Programmatically Assign Macro Connections?

    4
    0 Votes
    4 Posts
    373 Views
    ?

    Okay for anyone else wanting to do programmatic macro assignment for GUI elements:

    // First you need to setup some stuff: const mh = Engine.createMacroHandler(); Engine.setFrontendMacros(["a", "b", "c", "d", "e", "f", "g", "h"]); reg obj; // this will be what we pass to the function as an object // To see the full JSON object: inline function getObject(component, value) { // This button fetches our existing Macro connections object obj = mh.getMacroDataObject(); Console.print(obj); // Insert a breakpoint here and inspect the ScriptWatchTable "obj" element. }; Content.getComponent("Button1").setControlCallback(getObject);

    The object looks like this:

    { "MacroIndex": 0, // zero-based macro index "Processor": "Interface", // the script processor we're working in (usually "Interface") "Attribute": "Knob1", // the name of the UI control "FullStart": 0.0, // the UI control's "min" value "FullEnd": 127.0, // the UI control's "max" value "Inverted": false, // invert the connection "Interval": 0.0, // no idea "Skew": 1.0, // skew "Start": 0.0, // the macro control's "min" "End": 127.0 // the macro control's "max" }

    Finally to assign your own custom macro stuff:

    inline function assignMacro(componentName, index, fMin, fMax, min, max) { local obj = { "MacroIndex" : index, "Processor" : "Interface", "Attribute" : componentName, "FullStart" : fMin, "FullEnd" : fMax, "Start" : min, "End" : max } mh.setMacroDataFromObject(obj); }

    NOTE: This will likely crash and brick your project if you do it INSIDE HISE. Compile it / export it to Rhapsody before trying to use the actual assignment function.

    If you do brick your project, open the Preset.xml file and delete all the data in the Macro section

    Eg:

    <controlled_parameter id="Interface" parameter="155" parameter_name="knbFilterCutoff" min="20.0" max="20000.0" low="20.0" high="20000.0" skew="0.266319563348789" step="0.01" inverted="0" readonly="0" converter="37.nT6K8CBGgC..VEFa0U1Pu4lckIGckIG.ADPXiQWZ1UF.ADf..."/>
  • Keeping Track of Time for OpenGL - Engine Uptime and iTime

    1
    0 Votes
    1 Posts
    228 Views
    No one has replied
  • File.copy locks UI thread - how to show progress?

    5
    0 Votes
    5 Posts
    442 Views
    A

    @d-healey BackgroundTask is amazing, it unlocks a whole new world with e.g. python access.

  • Generate RSA activation code for machine code on the web page?

    5
    0 Votes
    5 Posts
    566 Views
    Felix WF

    @Christoph-Hart I think I succeeded, thanks

    const d = BigInt('0x' + dHex); const n = BigInt('0x' + nHex); const modulusBits = n.toString(2).length; const modulusBytes = Math.ceil(modulusBits / 8); const requiredHexLength = modulusBytes * 2; const messageBuffer = Buffer.from(machineCode); const reversedBuffer = Buffer.from(messageBuffer).reverse(); let value = BigInt('0x' + reversedBuffer.toString('hex')); let result = 0n; const modulus = n; while (value > 0n) { const remainder = value % modulus; value = value / modulus; const encryptedChunk = modExp(remainder, d, modulus); result = result * modulus + encryptedChunk; } let hexStr = result.toString(16).padStart(requiredHexLength, '0'); const finalBuffer = Buffer.from(hexStr, 'hex'); return { activationCode: finalBuffer.toString('hex') }; function modExp(base, exp, mod) { let result = 1n; base = base % mod; while (exp > 0n) { if (exp & 1n) result = (result * base) % mod; exp = exp >> 1n; base = (base * base) % mod; } return result; }
  • Deleting a preset

    5
    0 Votes
    5 Posts
    373 Views
    S

    @d-healey said in Deleting a preset:

    currentPresetFile.deleteFileOrDirectory();

    Thanks! That worked!

  • Loop Array and Filter by String Prefix.

    17
    0 Votes
    17 Posts
    1k Views
    ChazroxC

    @rglides 100% ! 🙏

  • Anyone got a way to prevent multiple message boxes at the same time?

    10
    0 Votes
    10 Posts
    698 Views
    David HealeyD

    I've just added Engine.showMessageBoxWithCallback() it works exactly the same way as Engine.showMessageBox() but you can pass in a callback as a 4th parameter and it will only allow one message box to be shown at a time.

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

  • ComboBox Challenge. Oblivious Checkmark.

    Unsolved
    11
    0 Votes
    11 Posts
    2k Views
    C

    @CyberGen I have the same problem on Linux.

  • Help. Project wont open. Instant crash.

    4
    0 Votes
    4 Posts
    877 Views
    ChazroxC

    @rglides yee!

  • Deleting presets

    5
    0 Votes
    5 Posts
    310 Views
    David HealeyD

    @Sampletekk Yes - or at least you need to know the bank/category/preset so that you can build the path.

  • SNEX interpolate table

    Unsolved
    7
    0 Votes
    7 Posts
    806 Views
    ustkU

    @Straticah Yeah no luck you see it working unfortunately. You might be able to get some prototyping but chances are good it just won't work...

  • setMouseCursor consistency

    17
    0 Votes
    17 Posts
    2k Views
  • Enter the serial number every time

    11
    0 Votes
    11 Posts
    1k Views
    bendursoB

    @xsaad You're welcome!
    Oh yeah, you have to remove saveInPreset from all momentary buttons :)

  • How to Play an Audio Loop Player?

    Solved
    28
    0 Votes
    28 Posts
    3k Views
    C

    @d-healey I didn't mean to imply it was your code—it was mine, in that I had assigned an LAF to a Component that no longer existed. And thank you, as always.

17

Online

2.3k

Users

13.6k

Topics

118.6k

Posts