• HISE CSS Syntax

    Unsolved
    6
    0 Votes
    6 Posts
    480 Views
    C

    @Christoph-Hart cheers, mate.

  • Button default value should be used in broadcaster

    3
    1 Votes
    3 Posts
    374 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
    293 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
    183 Views
    No one has replied
  • File.copy locks UI thread - how to show progress?

    5
    0 Votes
    5 Posts
    351 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
    435 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
    307 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
    550 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
    1k Views
    C

    @CyberGen I have the same problem on Linux.

  • Help. Project wont open. Instant crash.

    4
    0 Votes
    4 Posts
    763 Views
    ChazroxC

    @rglides yee!

  • Deleting presets

    5
    0 Votes
    5 Posts
    264 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
    639 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...

  • Keyboard/Midi note triggering button

    17
    0 Votes
    17 Posts
    1k Views
    ulrikU

    @cassettedeath this is an example with 4 buttons, triggering 4 different notes

    HiseSnippet 1371.3oc2X01SabDD9NvWUOm1nlpnp9wUQ8ClJjieGPUowfwjhJFPXGZkPQQquaO6Urd2K2tFhUER8OXk5Ok7Onc18Nyc1wjBVkpjhzgXeYl4YdlYmcVNNR3QjRQjkc9dSBIV1egS2Ib0vVCwTt096ZY63bo3RqclDhkRhuks8puPujsaNKyOu646fYXtGIcJKqSETOxAzQTU5rG27moL1dXeRO5nL6tVy88D7VBlXL.iUcJYEh8NGOfbHVusUbr9Irbnk826TInuWkfMptY4sJu0F01pb45a1uVoJd902pZ0FU8CprItwlfPeVaepRD0UgUDokctcD9S5NTbIO1.mRkz9LhdPYqtfkimdOAyW6h5YsZMjx7OdJ+Hs.l33T1Z0X15wNcn9zqmOk09JyBnTIxRf1qLK7VcF3UNK7JkAdK.R1YfTtXH8HmtdQzPU5JZ77.m84JRT.FhSYgR7dsV4Ox4zR.6fqJNBeNYuHXv0RTnQoRqifes1OjOODqjJzNiUJ3OPOCMUrAD01LVKwnPAGFKK7j387DsPO8otpgTIhQAYuDRCPR7EDjZHAExvSH9HtPQPjK.I22WlOhL35AfMZyGP4jhdQDfvzD6AfdJjUwIZ4bxDYr9UQzACHQFSzOFrFsp2QugXUuj0eF5rZatNpdU3qN7s0qxnUMnRzmTLl6iLpHQ0D+CMKCZngldp.e0fu5ZMP4L.wnfwbOEUvQBdBiooqHAqf2ThZczEX1XxZ4+s7tLgGlgnbexaA0lHQQy3iBREAbb27tz.TgDQccmRVEkD0o5IKLKJOynjWsNxb5tnltzyeS6pQo0zFgvjDP4wxnIiiBB1YR6XaU3ZaN3CZSsltBnj.QDpPev6l5X.t6qwaBkzByX8gS9Elmqzw4LDoV2GwKXHrNPFNTonHc.WDQL.C.APIWyPyEuKBouJ3PprvTQAvq03giG0mDUXs0.TAJdtPw7ZYZH4lTBXd2DmHgExFXhw27avaHlOf3qSqcuJ+U4Qy6yAAwN8GmtU.FRVtq9URDlo0t10laY8EEKdkoGi3Fnk8LjdiPwvYqv5byUXydAfWbsrLaTv2mSUGER32z0BVIE.gpw4RPErUkoV7CSpEGyHVTnjqqS7fxVFHCPy1bK3cPzJKunUWdQqMmnub+cwJr9NnDB.HkPRjhp4a6cIW.c.DeijqytD44JQnggRpgA2QeK3n2l1lvtMmjN3GaRkcDi.8filDGYtj5qFltiyZZcmrUkr1x+90VUyXqe+M2u1pVV+Zxc1Vue+EPmMB+wLrZ11czMElr.bBcldLz8QvkT0jrMM9uVOP2VH9HmioJugKFiqr.LBo12GXLoywuzocP.wSkBvbN68q2OsIl07OL17OvoKzeh4hciw+FyXzun6J6EDNIRSdk+.s8+m2119Cu0s8ejmBLeuHLWFJjyn3tjQzdPNuL6juTB8oRdyI5nY14aIvQKbo2878.mbgxzEqFGYRK1dDzomZlzfU+Puln7R9Zhbez8ZhOANrOyCdbmhwtzQgLRa9EDFbEjAieMbmS.dLSMc1Yyk6H3hvgBN0Kaf9DRRCrYw9BcnsUJnS0zYdbySHLBNaR6207.HYCGA7DYI4hx24G+sv3025DCWj9.H5S2hzq9+6hzmHFqn7AcvPRHbmsCz0cWn1nGArNmCOES250J55awiKMsUrtDtuYveA+jrXY8X6jEKOcw+SrwHrWj30dwcVpyS+byLfeyM+Ccbc5nGittC3zX4HnJ2q87lUUumfUVVAqtrBVaYEr9xJXikUvMVVA27eVP8kPaOVIFEezzxpywsMOBv1tMGCY4lSDV+Mv6OwZ+
  • setMouseCursor consistency

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

    11
    0 Votes
    11 Posts
    881 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
    2k 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.

  • User deleting factory presets...

    3
    0 Votes
    3 Posts
    238 Views
    ChazroxC

    @d-healey got it. Thank you.

  • Control individual sample volumes?

    24
    0 Votes
    24 Posts
    2k Views
    rglidesR

    @Chazrox no worries! good luck with it

  • Basic Questions on ScriptAudioWaveforms…?

    Solved
    7
    0 Votes
    7 Posts
    414 Views
    C

    @d-healey

    Easy to test. Make a blank project and add a waveform controls and loop player.

    @clevername27 said in Basic Questions on ScriptAudioWaveforms…?:

    Good thought. Yes, it works with a canonical implementation. But not in my plugin. :(

    The loop player is triggered by MIDI note on and off I think, so Synth.playNote maybe - I'm just guessing.

    Thank you, yes — we're exploring that in another thread. I'll post the answer if/when we find it.

15

Online

2.1k

Users

13.1k

Topics

113.6k

Posts