• Synth.playNote()

    2
    0 Votes
    2 Posts
    221 Views
    David HealeyD

    @iamlamprey I think with release triggers it will just work like a one shot sample.

  • Scriptnode - External Display Buffer when plugin bypassed

    20
    0 Votes
    20 Posts
    3k Views
    Dan KorneffD

    @Christoph-Hart After doing a bunch of testing, I've found that the magic number appears to be 48.
    When I do the math:

    auto numSamples = (double)getMainController()->getOriginalBufferSize(); auto sampleRate = (double)getMainController()->getOriginalSamplerate(); auto blockLengthSeconds = numSamples / sampleRate; auto deltaForBypassDetection = roundToInt(1000.0 * 48.0 * blockLengthSeconds); buffer = 64 sample rate = 48000 1000 * 48 * blockLengthSeconds = 64

    Is it a coincidence that the magic number is equal to the buffer size of my audio card or that the value is a multiple of my sample rate?

    Now the part that is driving me crazy....
    Even with the increased sampling time, I can get the transport handler to trigger false positives when I move an item on my screen. Check out the console:

    false positive.gif

    It appears to not only be affected by the buffer, but also the way getApproximateMillisecondCounter is being calculated.

  • True Legato Demo Project

    12
    9 Votes
    12 Posts
    1k Views
    David HealeyD

    @ThinkTank Well it's usually 12 up and 12 down per note (and sometimes per dynamic), can't remember what I did in this example project though.

  • MidiFX Plugin issues in Logic Pro X

    27
    0 Votes
    27 Posts
    4k Views
  • Problem with EXPORTING - BUILD FAIL

    5
    0 Votes
    5 Posts
    636 Views
    F

    @d-healey said in Problem with EXPORTING - BUILD FAIL:

    But before using any scripts you should learn to do it manually so that you understand what the script does and can solve problems that arise when using it.

    Definitely will do that. Just a quick question; is there a guide to the process of finishing (compiling, packaging, and licensing) a plugin all though Mac? Even with just bullet points? Just so I know what exactly to look into when doing research.

  • Set midichannel to Omni?

    10
    0 Votes
    10 Posts
    544 Views
    David HealeyD

    @ulrik Message.PITCH_BEND_CC I think

  • How to get around this...?

    25
    0 Votes
    25 Posts
    2k Views
    T

    @d-healey I’m using a global modulator in some, so I can’t compile everything.

  • how to script a minimum start and end length of waveform

    1
    0 Votes
    1 Posts
    227 Views
    No one has replied
  • 0 Votes
    2 Posts
    647 Views
    Christoph HartC

    That's some Apple codesigning glitch. Google it and you'll see this:

    https://developer.apple.com/library/archive/qa/qa1940/_index.html

  • Combobox & Userpreset

    2
  • need help with MidiProcessors

    Solved
    6
    0 Votes
    6 Posts
    328 Views
    ?

    @d-healey ah okay my mistake, it was an issue with loading the wavetable for that particular synth... i might as well buy a whole new wardrobe at this point

  • Combobox to change background image of plugin

    6
    0 Votes
    6 Posts
    928 Views
    Oli UllmannO

    @ThinkTank
    Great! Then have a nice day! :-)

  • Hide preset browser when saving a preset.

    13
    0 Votes
    13 Posts
    2k Views
    ThinkTankT

    @xxanx

    Figured it out.

    In case anyone else wants a preset browser that kinda works, with opening and closing (with preset overwrite prompt)
    heres my code:

    // SHOW AND HIDE PRESET BROWSER WITH BUTTON const var FloatingTile1 = Content.getComponent("FloatingTile1"); const var Button1 = Content.getComponent("Button1"); Button1.setControlCallback(Button1CB); inline function Button1CB(control, value) { FloatingTile1.showControl(value); }; // Timer for handling delay after saving a preset const var saveTimer = Engine.createTimerObject(); var saveTimerCounter = 0; saveTimer.setTimerCallback(function() { if (saveTimerCounter > 0) { saveTimerCounter--; if (saveTimerCounter == 0) { FloatingTile1.set("visible", false); Button1.setValue(false); saveTimer.stopTimer(); } } }); // Close Preset browser after save const var uph = Engine.createUserPresetHandler(); uph.setPostSaveCallback(function() { saveTimerCounter = 1; // Set the counter for a brief delay saveTimer.startTimer(5500); // 500 milliseconds delay }); // Logic for handling preset loading (remains unchanged) uph.setPostCallback(function() { FloatingTile1.set("visible", false); Button1.setValue(false); });
  • Dark mode via LAF?

    2
    0 Votes
    2 Posts
    256 Views
    David HealeyD

    @paper_lung You can either check the button's value in the LAF function, or what I would probably do is change the color properties of the components from within the button's callback.

  • This topic is deleted!

    5
    0 Votes
    5 Posts
    18 Views
  • Different Encryption Types in HISE?

    59
    0 Votes
    59 Posts
    4k Views
    orangeO

    @Casmat said in Different Encryption Types in HISE?:

    @orange ahh I didn’t think of that possibility, is obfuscation the only way to avoid this or what are some other methods you’ve used to avoid this?

    And btw, your licensing system is amazing, we’re definitely planning on making something like it in the future:
    https://forum.hise.audio/topic/4967/woocommerce-linked-licensing-system-for-your-plugins/2?_=1705339675044

    Thanks.

    Frankly, there is not much about obfuscation for now.

    I think cracking the plugin depends on user demand. If it is a well-known company and it is a plugin that is really demanded by the users, the cracking of the plugins will take at most 1 week, sometimes 2 weeks.

  • Multiple synth timers

    7
    0 Votes
    7 Posts
    673 Views
    David HealeyD

    @aaronventure Yeah that's what I meant by subdivide it. Have it running at a fixed interval and use counters to track the amount of time for each task.

  • LFO Animation not visible inside compiled plugin

    3
    0 Votes
    3 Posts
    275 Views
    P

    @Oli-Ullmann said in LFO Animation not visible inside compiled plugin:

    "ENABLE_ALL_PEAK_METERS=1"

    Thanks, I'll give that a try!

  • Screenshot Button

    3
    0 Votes
    3 Posts
    364 Views
    Adam_GA

    @d-healey ty sir

  • Custom table path, look and feel

    4
    0 Votes
    4 Posts
    308 Views
    ulrikU

    @d-healey try this

    TBLLaf.registerFunction("drawTablePath", function(g, obj) { var p = Content.createPath(); p.clear(); var str = obj.path.toString(); var arr = []; if (str.contains("q")) { str = str.substring(0, str.lastIndexOf("l")); var arr = str.split(" "); } else { arr = str.split(" "); for (i = 0; i < 3; i++) arr.pop(); } arr[10] = arr[13]; str = arr.join(" "); p.fromString(str); g.setColour(Colours.withAlpha(Colours.cadetblue, 1)); g.drawPath(p, p.getBounds(1), 1.5); });

20

Online

2.1k

Users

13.2k

Topics

114.5k

Posts