• This topic is deleted!

    1
    0 Votes
    1 Posts
    2 Views
    No one has replied
  • Commercial License Requirements

    3
    0 Votes
    3 Posts
    457 Views
    d.healeyD

    To be clear the license is a proprietary license. You can release commercial software that is freely licensed under the GNU GPL.

  • Solo Buttons

    17
    0 Votes
    17 Posts
    959 Views
    JayJ

    @d-healey How do I link the combo box to the buttons?

    HiseSnippet 2858.3oc4a07aaibEmJ1Laj1nrdK1dnn.KFXzBXij0QjT9ijzfPKY6D0XGqX4Dz.TzjQhijFDJRFxg9iMMno.sE6st8+f8OfdXK5kdLnW6kBzi8Rtz6au0aoyvODGJQIQZ4OJP0gDyYl2a989MuYl27Hm51lsPNNl1B4xu+wVHgbWUrwwFjtU6BwFB01PH20D2A5PP1.+hpbrEzwAoIjK2L2mUPt7yJ3866tWEnNznEJpHAgmZhag1F2CShJst5Cw55aA0P6i6w05xp0ZYZT0T2zkhmYDKIXAa8RXGzifrlcIQgbWdSMLwztAARPNB4lsho1wM5Zdnge6eJ1A2TGwdPRnAUQ9EukotFCwrREp1EqqUOztcDnZodDKLiOK7Yh6f0v8KOhMlyqBPjD77QtKMN3IwCuRoGd43f2r9v6SEazxFaQhpggsOVrlAcfpMjNDvCK+1Jbo+8bhUMosvfrTO3KQaYSenuDKHIsRoa.VsToEuSwBEKPGIbHfCfzwc5eYpiX8rSCHAbWfmGxRcPjMa2F0hrv7Czj48UwMuI3to+Wk6CZfzopCaZv28UtuLsKCANsSqZ1yxzf9vBySqyqu3asxXZsxPst7XZc44GjJbHGqipXPjFoT8aw.8TX4xSTR4QHY4IJY4QHoxDkTIvRKV.aniMPf1tFdCD.lxBrHlJrM0WnUn72f1K5tnEKV30EKjmNZWgNcsisoqglDa37P5rb.T+P3wNflH.jpwCPzVNf2xRNHx5DhMtoKAsvfUtioF5F.4EuC.P6g0IPC.qnhEdCEwSbLfo6.bWEpq2jBvEF1jlrwKOdiGP+cBrpxAVUCbnQwTD0olI7Byef+xEyG1U2IMFs7jLZ4TazJmIF8JgFMj3ZSWmLlkqLEVtxjrbkTa4kOSrbk.KeenQ2XVc4ovpKOIqtLmUeya9EmN+nlwDWeOjh.dzv3ZZf1NMwV12+Yx3CjBi0A7T1X23L2zvcYFaS810QJf5D26gFMG4lFA0GrkwvShZ4qcoJDiS4oQr3MuAPRYIusCXSkBcwXF558n67PNIyNwGQ05Rk7TZL0RqIlZCLcl57FlGRUc36mUVLPioTqs5BM5fzVX7S74n2QM0e3QfILVIOwwp7mjApkWZUVGmO6iFkVZMOIyFgKIsXLoxDgJOYBUN0DpxYBgJWZJHzkYRlcmXONMzCdHQCT6IiwUlLiqDmw++mUzO+1+B7TSc2dT6Kfmc.q63f6XziNTkjQelXrCOQJviZZlDII0ORJtkgSd9QJh3p+9dI6wFGvmedqiZ7CctN.Vr.2X2iLIncMVXwButP9BuYnZZ2NopBfuNxNoZYYJxdLhsfgaulH6vAxf1Ija13YjQbzYjgOgQs7c.3ZnoQMCLYWKjwnxSiPfWifPtue.nnMk3kulqEjulJtDhog.Vikrl9mBUvCyTvkyKMXYRX4oQXkoQ3xgBGk+uznfhhbQmj89uu3xSm3JbhmBCngNVCY6oh7hAyzGT72Or3ECDeaXSjd.+0fweNzS8EJOsn8e11a1fUTJzvUizPeOmORb+mUeyFYT799NUE+IziM8.yCAZlfZ.VxAAjtXG+IS.hIK8MlGfrsor.3vtHCfC7.rQG.DXYinKGduL108879pzz0snqxlb2RO8LpEz0I.UGaBrQsoU0EfIfNlz9hs5LSMjtHfNjdDmdzCdCvFdETlzEzz26Ha3uuyunH8fCYT3kiDlFmaFEdEdgWNiBuZnvWVjkIsLJ8ZQccCbVE9VgBWPLLyOoQCE471KEg98gcMxp3RQHvoKzhFswQCqh4BTAce+llULOJXRaKBys44UGZR+moJ7jZa.IPVh5C1AftqfExlfYa3jaCzA3VH+z1mWbCjyKIlVB49g8CrPH2Uhi95Pi.zOqHcIgih5raodbzCKqdHVizseAa+GT6hvc5F8hVp+aTwDTuvWnR9Kesqc8OvpHpTY9hE3vT9QgIQQ1BGmhf55+nqkDnBK9fvcnidmRoFmJml376c8DwYXwS.mWYb3r74.eFhSdPc0TEcxQ7u4tHr8tGq1Fq2ygtanUsdvNTEADec8818mtY08e9V6t8Fat2a7iJqARWZIKiNBwMl293AMFZINzE6QaAaQ7dmjrhe2m+a+m2yFpgMuusoqE+90DSScB1hMss5yYyw.dS2ARBXm55tcvF0g1vdHBx1OrMq3E5+hEGR3rxQ7yGT6ch4H4yUNRNUjg7nXxrxQ7yEUO9DyQJmqbjxz3GojYNhecf+yu9DyQkOW4nxohLJOc9QwO0.2JROlikdg0Prz7CwRA5g0SItlzOeHdZqD3oW76+q+qD4IAUddh6Efj80jhKbF4I4wvSBjrwSxmq7jbpHD4SI+IkwvSe6gYimTNW4IkTwSJogmlKEG1kiib43HK6TvQMbowC+PCylRk7myQWppASBmnsDd1.Q5718Gj3DdRBDG82e+dYYhE8rCTKRnGVSSGU2zAyxiD+g30Psgt5942Nw0+973Lre52tM30Oc8sexlugxHA4DplF6C0YfrMJXEBmZdA+sC9nXCEeT73D8oznQhZ85vMRThej.7J1HQv2J0OXnwfsqtQRtm6MDKulJ6fLov23pg9FTUy6dHvuTy2cuQyzzCyipYT26j7ruSIusAY58Al13ujdVJn9.QwJJIIsV40jDhExqnhxxKWtrhPyNgkUPTZkUWcUYokGvfEF1fWQkfNhDJ4UEKKu5ZR2pTo0Xe+Y1TRf+3F8GEzwFuDosuI+bjQ45LlCrjblghXy2VkmMusGTimxn1ThpA9K45P0AlJ8M3gVC5ApHMLA5cfkbyjJ7EKuSGwSeQ.783..FlPpK.vEKX7i3.2aeU.3NMR20jMrWb3PdZsmJCiOB5+xui2v1Nvv9eljoMY1w5nAYGP2ohc3icV8WvwNkrBXG+T0cA3Qt7nf1bj9PikHvK.nsxnf1aOjCZKeQ.sUismhPDzTaF.sfjXdAfs03v16zTS.a9oH8B.Z2hCZumjDz3R.64E9hmE2H.Z8qTSbb0K8tWDfiemMfE+Vuy2m85m73SY.9wjfO8be.tktIjPWedeZPcd37SD4KhGoTkFgz5uVMHOz9Ic9SD8ivphs4gNzP2hBRJ+kY4YHdtBYk9m9vWmTFD+au6CdE6ks6bein2Wv07r2QZCZfb9GtZ9aCH1tnazuJuusc6QTI6sA6LTor2Xqu.CW2VvCnwFRPrKJPrJejKCpt87jQoXg2LPbe+wudvQh2qqlPBZmX9+iX8u8Wx6enp1CdD6UQlOf4nms4thaiMPP6Br0oJvbpKPWUnv5NX1eELIrPiW4RCyL3+1yzjTnpq8AnLcPhKKx9dRoC9CcUAliUiqNjD+VLv9fhBpfEUN+0Efck.LnQqGKJ9yjq1PZg6mJVGSZ0MY7doDvqfvYNdCtnHEE8+nJi.6rha8yNo2JjjuzJklzsBYtvWuTC1RSzt2mzFzigGT9tX49whxkWJ9uC1k9OsuN6OuUUumEpfgNaiZS3IXVY6EO7VAgGPKnNsO3uSOaadXrh9p+gpmuZ+lbE0cowZ6.6YQOSUG9WsF28KRU4OWVcOjla7qWz5tDyNCbKj7tsQ0LrbI7ktgM9fXhxN4M2gQyMS7QoYR2nTBNI6Y5xVjdGH8XgrUDnKM0ftFZKD0Gwv.oy9LTxcI1ahw+4Rge.CMPFZdO7A5ufJkXOmKnRovJOW5idvV1lOuUvWUD0k6JdkPsaCubLjWbG1yf9uWUFePOsO94sZwlF7EzoPIKgblkPIyRTNyRrblkXkLKwpYVh0FiDrqhFaFPO+EEoETeS+cmysoAKDCuo5B+WX6+EIJ
  • Stereo - Left - Right Channel Selector with Script FX

    5
    0 Votes
    5 Posts
    401 Views
    orangeO

    Ok, now it works perfectly.
    Now, if we can assign a Mid-Side Processing to this, all of the spatial process will be done in just a Script FX :)

    HiseSnippet 1550.3oc6Y0saaaCEVJNJM1cYXcHEaWrMHTrKbVaGrc9qCAqUMwNYFKN1v1KcECEFrxzwDQlTPhJMtEEXOB6EX.6kXWsa5ivtXO.cuA6MXiTR1hRQVQJsInnXBAwl7vygemyg7vOJ2xhnCssIVRx46N1DJI+AJcFioC2YH.gkpWURtfRi5Uuam5UqIs8XSfsMrujrbt83xkyOuj6y+7fsAF.rNLnKIoCIHc39nQHZPusz9djgwtf9vtnQBidMs55D7NDChCCK4TJIYBzOFbD7..eXyoHIuPs9HJwpCEPg1RxyuMo+3NCIOC6M9CQ1nmZ.4MJK0gYHut2kXzmiXduR6LDYzu0De1VRRVoUPDHmWDXYkFn9no8GDI9HWApAZHFOjmKI3UVDdkRO7jEf27dv6FJczsPlz.Ibrcck5XJzZ.fkBDgk2Xkj+CkcHrAfoe8HvwvcsXMlpPwMJU5NpkKUZksF3f0oHBVkfOfPgMwEWovKJjuvKKDUxfAwIhOIVDCCnUbR4obqDTqH1YzSgV2Q8DfgCbx3Xdd3PqxrCshYdcOGVXfDbcLh1zDhmU.WxOJwB8y6CJ1PotA9OzOvusCkRvRHV7MuhWixRtHlAMY2UyYP0JWbUW8hq5ZSTMXCrzOTuJfB3K57CBr.iIzhh3wb4pvSX6l8VBlWoJz9XJwzMJMxjf4gL4BoHNc5zoT6IZiCl+GpQgmxrwhJc5VqcslROC0mNLPdWsgPzQCEpjrklEnOhrmEwwbZuupkl4jzYc1D+I9lqWilGzr2NMO3vZsYcvJtXwpqvV+6OH12fjd9qD54iboL4aUD7sewJNeaAk8qsa2qRO6yU1GNf1iUBCigFuY92ph4tSiy+tlR6568cWoN3Wnzla52Nd3ZBd3qQwmA4f4pMC1ffIyz+N6wCrCoH8cL.zvmbwOt1W.qjaniH3mCfsQzwhUCtTNNKsv8FJsPT8gwi24hAurhVW130mbvRJ0FL.pSC.67J69iWTl.wSToTJYBTveoLa94.YVqmhgNvb+dNE1wi1T1IsVpwV8S8aUmvX3HHc59nh2J1QeqU1ZoBAVLg0ryztInSDqmPMsYZ8DzIh0SpfxLMeRJ4Z+ojcLsfrM3vtjVFfwEsAiLMfsYKTti5SMH5G2A8b3YHH4W1Xa9.Jp6MI1qrTgWrTg7nAEiMivA3g7y3KtBajprmW38A+YhM9oROQ8qTKuULRJKJ4kde3McIjnR8jd6PSz8uenl2NzPCCAOXv+OCIIjTSMRBO2w4uIkaS2zDwEKILMr+VJCLgUBWZYwzUZILuW1UqDWCJ1cvxr.RxSwTv.OKy5Xpc1l3PQ3iZ.nVH14p27.mQcXWtSG5GI4D4kKvos50tzDdrcf39tM9W1iuvx71x9BKGQXkIs4BqDQ3phBWMhv0DEtVDgqKJb8HB2PT3FQDtonvMiH7dhBuWDgeinvoMx3sRlEe1LeagjIeb1aPjJSlDizLivyg+WX68FeAmExbHOfPozlhDJUiif3O2J3RPtVKD+0EtfooS49+uxL+X9WtF6KIM0K3ZqTOwIkLC78RgtNzmokL.31Lk.3bR+AH32dd5Qv07LZH1eK6st35JOBbBz8Ej4R45ltsGPrFotGDCs3zXKmvqI6OS6qIyL0ulrl5TFD5ZAv1lDaXYQKGQVk.YKpUERcvgGtWWUD6h6d6xbuxhpNoyJha9aAvBC5wuh0VP9i0ZfljMz96m+WOnFFvNnpCj4M8aZqybVdrKjAcLrgOheSKA69ZgtqH1sbtKCR2ua+1Au5t8WtzA2y4ZK4mfwNHNq2Z3SfFrBvtX7iYUbG.bLnS5M71HdQIygDLRWb0YaHiawQGACstIVG5gTJP+3fdVVqMz.BrE1Z8kZ6ivPfEKNAufwhxoOVjT95SU7fqJeuu56G2ZO26Q2Z+xXGJq736.Y5Hb1Uhky9buQb1++6E7V7dAi.5Vjd5d7j4kXVzsGV9E69ylkWoAus5zeeB9ZfQrio5oqy2CbW1pf30nRl0X0LqwZYVi0yrFajYM1LyZbuDzfyI3gNTxHu80rNZUy8VHxxdTfb2hK8evApXg.
  • Rhapsody In Blue

    26
    6 Votes
    26 Posts
    3k Views
    d.healeyD

    @ustk said in Rhapsody In Blue:

    @d-healey strange, I thought it was because of Safari, but in fact, it is because of my provider, I am not authorised to open deviantart 😵

    :( that's terrible.

  • Stylizing build-in elements

    3
    0 Votes
    3 Posts
    353 Views
    gorangroovesG

    @d-healey Thank you so much! 🙏 I will check out all of those resources carefully. Hopefully, I will be able to make them work :)

  • Parameter Modulation Within a DAW

    3
    0 Votes
    3 Posts
    358 Views
    J

    This fixed the issue 👍

  • Setting up loop points in the Sampler

    3
    0 Votes
    3 Posts
    252 Views
    LindonL

    @d-healey you mean in the table?

    Edit: nope just in the sample editor - strange I tried this 5 times and it didnt work but as soon as you mention it - then it starts to work....lol

    Perhaps it ONLY works if you have the table open...

  • Comparing Values

    2
    0 Votes
    2 Posts
    257 Views
    d.healeyD

    @Jay said in Comparing Values:

    Let's start with this

    if(value) bassfreqPnl.set("visible", true); else bassfreqPnl.set("visible", false); if(value == 1) AnalyserPnl.set("visible", true); else AnalyserPnl.set("visible", false);

    You have two if statements that are both checking the same value, so why not just use one?

    if (value) { bassfreqPnl.set("visible", true); AnalyserPnl.set("visible", true); } else { bassfreqPnl.set("visible", false); AnalyserPnl.set("visible", false); }

    But we can make this even better. When value == 1 we are setting the two panels to true and since 1 and true are the same thing we can get rid of the if statement entirely and set the panel's visibility to value.

    bassfreqPnl.set("visible", value); AnalyserPnl.set("visible", value);

    Now let's look at this

    if(value) midfreqPnl.set("visible", true); else midfreqPnl.set("visible", false); if(value == 1) AnalyserPnl.set("visible", true); else AnalyserPnl.set("visible", false); // Comparing Elements (Buttons) to close the AnalyserPnl and shuts off the Btn if(bassfreqBtn != midfreqBtn != treblefreqBtn != presencefreqBtn) // not equal to //if(bassfreqBtn == midfreqBtn == treblefreqBtn == presencefreqBtn) // equal to AnalyserPnl.set("visible", true); else AnalyserPnl.set("visible", false);

    So again those first two if statements are unnecessary. We can rewrite them the same way as the previous part.

    midfreqPnl.set("visible", value); AnalyserPnl.set("visible", value);

    Now the next part
    if(bassfreqBtn != midfreqBtn != treblefreqBtn != presencefreqBtn)

    When you want to check the value of a button you need to use the .getValue() function. And when you want to do more than one comparison in a statement you need to use logical operators such as && (which means and), || (which means or). You can look up javascript operators on the internet to find the complete list and their use.

    There are several ways to rewrite the if statement above but I'll just show you the way I'd do it.

    if (!bassfreqBtn.getValue() && !midfreqBtn.getValue() && !treblefreqBtn.getValue() && !presencefreqBtn.getValue()) //Not equal

    However I wouldn't do this as an if statement, because all you are doing in the if statement is setting the visible property of a panel which is a true/false, 0/1 value as we had before. And we can get the value directly from the line above and store it in a local variable. I'm not sure if you want it to be be visible when equal or visible when not equal but if you want the opposite behaviour to what I've put below just remove all the ! and it will flip the value.

    local v = !bassfreqBtn.getValue() && !midfreqBtn.getValue() && !treblefreqBtn.getValue() && !presencefreqBtn.getValue(); //Not equal AnalyserPnl.set("visible", v);

    We could drop the local variable and just put the comparison directly in the .set() function as the second parameter but I think it reads better to have it stored in a variable and might be useful if you decide to add more code that depends on the same value.

  • Viewport esthetics

    4
    0 Votes
    4 Posts
    340 Views
    d.healeyD

    @Lindon The list is dynamic and I can change the number of items and their labels with a single variable in the panel's paint routine. The controls (knobs/buttons) for each item are manually positioned in the interface designer but it would be possible to add/position them dynamically too.

    Here's the code for it (including the styling)

    //GUI const var pnlArticulations = Content.getComponent("pnlArticulations"); pnlArticulations.setPaintRoutine(function(g) { reg text = ["Live", "Sustain", "Staccato", "Releases"]; for (i = 0; i < text.length; i++) { //Paint background if (i == Articulations.current) g.setColour(0xFFDED7CA); else g.setColour(0xFFCEC9BD); g.fillRoundedRectangle([0, i*55, 316, 50], 5.0); //Draw text g.setColour(0xFF000000); g.setFont("Arial", 18); g.drawAlignedText(text[i], [10, i*54, 316, 50], "left"); } //Set panel height this.set("height", i*55); this.data.numRows = i; }); pnlArticulations.setMouseCallback(function(event) { if (event.clicked) { var value = parseInt(event.y / this.getHeight() * this.data.numRows); Articulations.changeArticulation(value); } });
  • 2 knobs opposite direction

    3
    0 Votes
    3 Posts
    367 Views
    JayJ

    @ustk yes, thanks

  • Unable to compile HISE VST plugin x64- VS2017

    3
    0 Votes
    3 Posts
    384 Views
    gorangroovesG

    👏 👍 😀 Dude, that fixed the issue! YAY! I can continue now :) Thank you so much, @Christoph-Hart !

  • SliderPack Resolution in Compiled plugins

    5
    0 Votes
    5 Posts
    390 Views
  • noteOffDelayedByEventId time limit?

    5
    0 Votes
    5 Posts
    349 Views
    ustkU

    Working! Thanks!

  • Knob.setRange

    4
    0 Votes
    4 Posts
    414 Views
    JayJ

    @orange Thanks buddy, you are a genius

  • Using panel as keyboard advise....

    1
    0 Votes
    1 Posts
    225 Views
    No one has replied
  • Several Button

    3
    0 Votes
    3 Posts
    226 Views
    JayJ

    @orange thanks man, that works

  • 1 knob - 2 values

    9
    0 Votes
    9 Posts
    509 Views
    JayJ

    @orange No, I'm using the same parameter to control Gain and Frequency, but is two different thing 1 is gain 1 is freq, the first set of frequencies work well, the problem is after adding the second set of frequencies.

    But thanks man I can use this snippet you send me for a tilt plugin

  • Portamento/Glide

    7
    0 Votes
    7 Posts
    726 Views
    LindonL

    @Christoph-Hart OK I tried your example code from the other thread on Glide (from 2017)-- and it isnt working correctly at all for me...it mostly not working at all to be honest.

    In fact it also breaks any sustain processing as well... hmm this really needs addressing at a systemic level.

    what would be simplest would be Synth.addPitchFadeFromTo(ID, startNote, endNote, time)

  • store an artificial noteOn as an eventId?

    6
    0 Votes
    6 Posts
    458 Views
    ulrikU

    @d-healey Haha, beautiful, I didn't know you could do that, thanks!

38

Online

1.9k

Users

10.8k

Topics

94.5k

Posts