HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. rzrsharpeprod
    3. Posts
    R
    • Profile
    • Following 1
    • Followers 0
    • Topics 35
    • Posts 193
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: Modular FX Template - changing Fx order with drag and drop panels

      @HISEnberg I'll have a go at referencing my effect tomorrow as I ended up going down a combobox/set number of slots route and exploring that. I would rather have the drag and drop option though if I can get it to work.

      Is the Dynamic Container in the newest version of HISE or in the development commit as I don't see it in my 4.1.0?

      posted in Snippet Waiting Room
      R
      rzrsharpeprod
    • RE: Global Modulator Nodes in Script FX can't be compiled

      @DanH said in Global Modulator Nodes in Script FX can't be compiled:

      @DanH Screenshot 2025-01-28 at 17.01.18.png

      No! @Christoph-Hart Is this impossible to add in? If so, what are my workarounds?

      • Build an LFO in each effect I need to compile?
      • Use Global Cables to feed in the Global Mod signal? (Is this accurate enough?)
      • Something else....

      Thanks!

      I have added this to the extra windows definition is preferences/settings but it doesn't seem to have added them. Do I need to add them in Juce & rebuild HISE?

      posted in ScriptNode
      R
      rzrsharpeprod
    • RE: Modular FX Template - changing Fx order with drag and drop panels

      @rzrsharpeprod No I couldn't get yours to compile - there are red error messages for each DSP when I try to compile them so I built my own and compiled them. I can only get them to compile in older HISE though not the new one and that doesn't have the Replace option so that could be where I am going wrong. I did it manually after though so it shouldn't be an issue?

      Not sure why I am unable to compile networks using the newer version, I've never had an issue before but I think that is the cause. If I could compile your networks it would probably work and if I edited enough of the code to reference my basic ones that I built to test then it would probably work but as it is I have done half a solution and that is probably why it is crashing?

      posted in Snippet Waiting Room
      R
      rzrsharpeprod
    • RE: Modular FX Template - changing Fx order with drag and drop panels

      @HISEnberg

      I am having a look at this but after uncommenting the code out it just crashes on compile everytime.

      I would imagine it is because of Step 4. Select "Replace script FX modules" so they are exchanged for hardcoded master Fx. as I am not quite sure what that means.
      I have already replaced the effect slot modules with Hardcoded ones and renamed them FxSlot1, 2 etc but is there something else I need to do on top of that?

      posted in Snippet Waiting Room
      R
      rzrsharpeprod
    • RE: Searching across all expansions

      @mehmethand said in Searching across all expansions:

      @rzrsharpeprod

      const var exh= Engine.createExpansionHandler();
      var presetList=[];
      
      var expList= exh.getExpansionList();
      
      
      
      for (e in Engine.getUserPresetList()) presetList.push(e);
      
      for (i=0;i<expList.length;i++)
      {
       for (e in expList[i].getUserPresetList()) presetList.push(e);
      }
      
      Console.print(trace(presetList));
      
      

      I'm not in front of the computer but this should work.
      @mehmethand
      Your code did work. I have now populated a viewport with the list of all presets across all expansions. I can also type into a 'search box' which is actually a label and then the matching results are shown which is a good start.
      I am struggling to figure out how to link further code to it so that I can load the relevant preset when one of the results is clicked. Do you know if this is possible?
      Thanks in advance

      posted in General Questions
      R
      rzrsharpeprod
    • RE: Expansions & Favourites

      @d-healey ah ok I understand. That's what ours does but as there are so many expansion/banks we're often asked by users for a global search as there are 100s of presets. I thought I'd maybe found a way to do this. Thanks for the explanation

      posted in General Questions
      R
      rzrsharpeprod
    • RE: Expansions & Favourites

      @d-healey said in Expansions & Favourites:

      @rzrsharpeprod Yeah the preset browser search bar will only search within the current expansion. In my plugin that's ok because the expansions are loaded outside of the preset system.

      Ah ok I understand, so you have implemented a custom preset/expansion system. Does this then enable the search - or a custom version of a search function - to then search through all available presets across multiple expansions, or do you just not have a search function so it isn't an issue?

      posted in General Questions
      R
      rzrsharpeprod
    • RE: Expansions & Favourites

      @bendurso said in Expansions & Favourites:

      @rzrsharpeprod He's using expansions.

      You can get the expansion list with Engine.getExpansionList, and set an expansion with Engine.setCurrentExpansion. So there's no need for the preset browser expansion selector.

      I got expansions working sometime last year (with the help of David actually) but I mean the search doesn't work across all expansions, only the currently selected one. I was trying to figure out if David - or anybody else had got this to work as it is a regularly requested feature

      posted in General Questions
      R
      rzrsharpeprod
    • RE: Expansions & Favourites

      @d-healey do you mean that you are still using expansions but somehow getting the list of expansions into the 'regular' preset banks column so the standard search works or do you mean that you are no longer using expansions at all?

      If it's scenario number 1 then I'd be interested to know how that works as searching across expansions of probably the number 1 user request we get asked about.

      Thanks in advance

      posted in General Questions
      R
      rzrsharpeprod
    • RE: MIDI Player overlay panel LAF

      @HISEnberg Yes I'm using a custom script

      note.setTransposeAmount(note.getTransposeAmount() -12);
      and
      note.setTransposeAmount(note.getTransposeAmount() +12);

      I have tried editing the min & max note values but it didn't untether the bottom note. I also tried manually editing the noteRect variable but it just smushed everything together.

      Here is a snippet, hopefully it explains it better than I did.

      HiseSnippet 6790.3oc67jzbiicdTcOr8HX2SM1kqT1NUpBVIkC0ndPCtHtjI1s.W.IkHEWkDklLYL.3CjfDD.BKbQS0U4JmxeAeyGxOfbM2l+BoRprbKUkSoxk4VtEmu26APBRQsLsaOochYMCEdaeuu8k2inaZapfbbLsirytcWXghry2IZmEFtCKLTRyHR0hQ146FsiglkExkcJx1QyzHR9EVRNNn9Q1YmmVFOsc188hP97UuJujtjgBZUWQhbtolBpl1DM2U817nSzz0Ek5i5pMIzrScTUESiBl5ld.J8zn7QrjTFKM.cpDdZOIZjcdVo9Ztl1cbkbQNQ148xa1eQmglyLny+bMGMYcDtQ7Hc..Q6VzTuOFiw8FovPM89MCHcmHQ1IZyULhmRYDe+n005qsr+ULjOjL.6pUDlerySVG8d5ZnW7vnGeHzaKnzNgPo2ihRfnPwVyxc0HX74aGspgKxVUBX6gQE5bi7j+0eTzBlvLLb4lHMFIZCMVthXo44eAapC42+SXd4KYKChYIVajJxFAhQVWSV2gH15UKVk0JXWYkb76QWZAxlAjXNtjdncv9SYI5PbCPtqwCisGdR6sOmjCoexriA6Lr0cjlXoC.CPBGxirSjrXkrskV7x9HUMCMWP2yeulJY6Oq5RVN38itZ7N1In+ZZNt9.GSQ9KvNDH7WU7vHLQPPZEaufw2yGJJlSjMYkMmyZYZ4oCRX1YZtCANCxA45bKHCHQGXBJCgMHPDf2ByIVlFPifcX47vazFcwAPN1dZtnIN68hPDM2HSMiX68WXr299XmtoT+v7NYIPQf0zfsusoEaePEjUYnoCxf8iYaWp0YUaWpHilgtlAhU0yPAyegouw9iwaaS8XJAH8K.BT2CsOyWvra.CBDn9OFaeNLdrDHwVgweJYceb7OCv2WCn7ijifY.9HQAIccYvePr6BKobBhtIQVAhpPBEYPLrRKMP6TTSGsTUY0jKfWedy4wuSY2xYPTOV1ZcA1d3AUAalXyY0LXk2OzDk52uJLsXy4rQ.NAFi68EMa233RE594hMpUrT6WCj+xw3ln0mJr2hTaITuW4UHpGvRLkGSdoX4Ert1dH52vtrqkg9miYPE0bvqAiHfKPBe5tEegXJaWvsIhREYB86yhcGv9SX63BZqxdttfn.qV2FLcCZREOCrs5ZKYXYZ6l20.jOe51wEYWCLL2a+WvvdOetyEiwj81+yHxuXxXw25679rXdJfh0A2prNd1HhyRejE7cgXMLcASxofcHwQAd3.mE6JS0TvCW0nIoWPgQUR2gv9IPVvwQafAYcJT9EqhOuLv2rKfPNXLZIWhB4ay56FLS.2Ww8eMw4gftiIKrJBH6zsQSeng2EYveh4DfqHYufYcVvmF+y702cpGLk8VpBsE8zsfCaWUEvIPfvNanF39L.Wr0FL.hL0mxP7oLlc0MgmA4SezbPaXcLjizcC0U6BFwvfupJql6epCAVMqIbo+tvrqlZLeX8SY42mYW.avyWScyoxp4PDmfeVXJvx7Q+cIKAuFGfg3RhSpYL.2WHKP7ehgi6t6tuF9eDH2CsxwHjUH0I.OI.GKOhiQEBp63BYQEF7aHc3IRmywKLV7fc50L9TyRpOj7lwGO7oYSC8EPvSIE2.xehomCBS3J5ZJiAQQLrNtMRGgC2rOkO7iWxH10F45Yaf2ZFeNBXduBiC6QBFwmefmmutXH1cXd.Oy8RrDv7ZheJBUfCGXoAQrAsvWvRr0nFivVODAwMsLcHIXDXUIiFnYXfwQZbertMvvXM8HbBLMafPPJkLq6SE6vAqT1zGdw343ot3707Al6pfL30RyBJwsRZhlbjeFSqEZJOgazPwE7bTDGV+thPs4DwvY6f4LqGEPNyZusaVu4Ncul1vfNl5HNKab3j8nqhkPI91U95V3MC6glZeqCAoST2OFtOWCiqklBvOHBNd5ju.gTf4HtIrs3+f8jCxND1YNEd6SGveb7G73XQ4RAl.nyCHJo+A2t+8g7ohm.qvEJhRXB7T7F5Frp9XUr8XOf8NgW.ndM8OzuCSzp5dNCqC9cfBiHDtOo3ut6IvMEr2c36aqwr8PI2g79NRNYcUn++ktwA+NitwtecTNvdBdXUikBahhQPp40DDC4FZCL5N8Csw7.4+ywPTjDATx.oGb9DOmYShD6WFSksAu2fpYr.UyXC1+4LewyIJAC3TAHInqGycnlCdugb.GPOIBbV2zYQ+FBIzAz5PqpMtujqDV1ggAMvBFinyFSjX4IVZbqJPvx+1HfYYLvuLjOEpGG9u.r3Bs9Pon6upiJHsACAA1mEfSX3OQyfnI8SAssLg6WZte+7aRAMvg1I0zCpcD7lFg2lDceIU87kVL+3PXtlSoIVtK.86exOYIwwoiLF.Y49yfrlnKym25acwtz7JXE6uZ7PSMLS6TuIxjST.2.x17SBnffOqn75RPzSnYL+tdQH.DvqVtpk7E5pjlGyuq6ZUud0iqdBXifluB8n.56q.aIYKMA4BJiqlX.4zFjyqsqwewRb4iCnkvaKwBAqKQE6vR2TOXiIKMUBxyQVG0wBpZDlenU+RpDfhDfioMWKdvk6yRTL6K1.ngW1Z7hh1RyH.w4MVtCPgvLVo5EFAmCoUEnKv+YexsmfITgflgj9oTYXH8laO2YXKqfYjXyYbKzpMBenJXa6KWKaQUMZpjAheaL2caJy1Sjz0tA0mRCw1DUWI9Ye4Jcksf2KBXBgA3GwFKrZxGGRVt+8RYK0LAmP3Rowr3WP1iWP4PuHDndIvl.dQH8Dh+BkgXT0gcn4L1gP2r8AEApzlTF7s2QmgR8MmEdOw5iz8k9zs16GT.sT6a8QFfc+W1VpuFDFAGs.7vNWTLUZddQwWvFG70dH9LPwcxymqnPta478ihuU2uarMXenPDFnxw9K8nGKf09B1D3BAdrj.tNCbVTagTngjhwOWHUp3hYDKs+mvt4zv7+6AUhywS9ZK92d8FQIHXjkeQMqz6g5i0TjbMsWEpwZUkO2JJ2spJZePgcCl7mDrmgoxUwhwGnFsyD3vwv7H0gB8Bkmg6l4d4Pu7kSjL7fLEwU9QWPPbeLypFNsfPTvKXWqAOG+s0.VJReM9qmGtPPH6FCfS20rI1lL1F4iPPGbVN34fcg3mrv5UR1llYVCi.lVAhUVL5YqP8HQlAKYSfbg9HHcnhPYxtzv4qkTzWmbhv4guJcH9479e7O3Daz.R9wfTdCw7ZYauan48VLmG7AiooFaq4hPOulfb5Y1c2MSomju+t69ErKKEXSkF5eb3lMTCGHl4QXd6aJsxRxuJqcCrg.mOxjPD9trw44eKSpU1Quo1OqpuA1SrRMYOs8v24wlZ5DM76QylRQfhM6G8RlPUxgEcMfsGqhv.D5lCopt0w7qBfb+.aYX7c.ZeeKLlAIervEJhmXjcdu0ussn28ssE9x.UnEXDZhlFUMzbaXgLtqqHLheUI3KKzGqfo5RtWtOz+d4BNa6HZ8IWV252QQDBxu7tN+EEOJxl.5C7ADsFJBXdVzZllVar1He0qh7nPhuczkm29lfHyiZ6+dQ2rT+MgiOq4AfyGFc85B2BTNqZQHoO7Me5ypA1uEx1UCKY2oHZplBhdOn6FsHxYrKvV14CWVgHPrt9WbKc2E0Mk.WaC5pAZ.Xb34Qmfc.BPE.aj4q17+jiVrRrz7HRpGK6f8u5ngD6hUy+mcjOFRQmuG4Bga.dZAyThy3HAUNhuO8DISkMab9Do3irJHFdfTIxlIdxL4RjMz.I7GIQ5zo34SEgvS14zneAXCu2RExp826OicuP08uG9NN1qJ9XqgQ3IsDAKNyYWXZO1Am1NzO4xEXdMVhsjq8AO.W6ChR2hKfX9lytK11Qe5lrM6MYaeo8WO1V1rGlNa73GlXC1VxjYSvmhOYB9sw1.lV1jI7YakuS1157q3O.+xEM2cM4VtLYykNW5PHPxH6vDM9gGlgmOc1HSCb7rySCyqYtS6ici5eaUgXv+boPL3H+4Go4TG4J0Ln7RpmpvWeD3ZZG7TgPUSbbgcn5DoAv98GFcy6UDuSI3rLFDYcoVj72RYO0QN3y5PTRwk7yDA28OWU8e5UeMHL7MoEhv92PqSXaiFBcgR3t14QQV384sIY89es7uGxzHRXBL2QPYzXh3kX5BewvQdxMOIZbItl5dJiiyDWl9TBl3JzmRxDuO8oTLwQzmNjItJ8ozLwGPeJCS7gzmxxjPhST2yEEmIgL8oDLITnOkjIIraR8YUwsXRJSZ3XAIxXCMUHMmYZ1eFXkyjRhKujiCablTxzmRvjRg9TRlT8oOkhIEh9TV9rPEc3qfbnjMrb0M6V1Ch86xjZvZCLvyfI0vUcoJguOkCk3JpY6tfsFRBZIyUAWQoNogBWEXCXcvWTheW845P1BZKDGTgm6vE9MU45.hLnBUZyAbsMkM8maZItSPKbhyjVl7PBlLRbc.0KiAXJOCsW1JlF3hKx3yHw+xN7rkzXu.xYxUGwjoO24ZlPsZrjwYxfVBD+9qIg0iYx3yUrvRKlLCnfG79IyjYHsgBPIR5LYzVBBGWIX3QKaegjssFjOB7vBFAMa7ce0TSxvrNjKOSQXNPA.Chu7oDLffkoCRxUFo6xzy0VxYCaii942x1H2QONaa+bSVo2+qFutgs0JGu3Yic7FY4wiUkDRFCgRF3yVp+uAFsa5Z3GcKWC38g3YHLos6iL0oUT3W5stk8F7RysvKUgfdcztITxNwNx2KvkOKJSNdGVrhAifgjt4.5s.R6g9kosAaGMnXQahUBQIBSMLh1HzLoEg5oYY1REhyVGoC4ASOC2OlU.XLl36nBu3l0YyyVGzU19TcMmnovlGHb7BRwSVf3e7cuhB13KxksiomNYEIIqnvcufhR1iw+TO.8hPKn3cufRfH2BQl6gTz4dl6bHyNMRXC8vq3dH.QMv8fnosBYKRl3gveQSEOJlm4gvF.pHG+iiKdxzODghEm8MmPfcNJZbO3c4glNX.mMEUnJeOS0FgKOxMD+V3dldEDUcwm.uG0kiACYP40znOY9odPjtFX2wRNWSaBOghLkt6ET2S2UCeDFTEf3Oz7O0DbP2G+m7RTj5A04O0bhTX7+dgtMXZJJQ0U7ER2CnghcLgxVmgH+l6hmfpbU5d38DCC7bOL9CotzzykU.LmfXRMLXq5FBkJe2qpM5iuvVy0khQoR+fXTaHSVv.+D7WX75AMP5nfOnUH3H0JIwCgQ3h+Y6ZCo.tlGj6QKBlLDVEBkC71EDjxWo99VhGn+W0fsN3tDmYNQ8i+A2pyfDJ0jB4J4d1iKzbFx1cHhEpffZrcX5PtHZCHM4WhYGOYp6812Xiu5WK1I.bv+bMuUWHc8M6aLjn.CgmUSxBLKJBbZPsD0e8fCQ7S4LFs97kQ79VzHdO2OhWMIXOHg6de+zYCmE66GNVWjsDH6Ez9bWfK04YQyap2OxsiYukLpu89+sit7mFVXT3ye6fBajYwkG8n3IeaRFKr3emjgvo+1Eu8YK6d2n.VZxV2reXT3KG81AEv00tLMtM3QU2FB93NgnPxOmaUB6pp5vku9ayT9v3xckx2i4HpBwus9FiL9A2hLN614s9vVQNqotX9MfUzF3D8.cnEJuwcObmG81m9fG81WZejrocej85nejHzdaK0WyyYiyl7tryWggueTxygyyGvkUHF6riBeDT69recDwecD+h4Wd9S69r+6+Kg+Fb2gO8ma+Vb7gQAqY7OYf0eoRvuIM9Cr4KYC9s0vvQycQ3C.9s1aZxiEE+tQahOlisiiOYK3XjH+VAG8e+bddzRppHE2UH36EUr2ucdYbBu8+QAmdITSNRZBjWj+q9.AGXhF7NQ7130jx5Q+ZR0zFQduKVyr3KOJuGvi1vX4u8HxVQ+EkEdu7w71HKndARDmPYBztcYaSOqMW0W8JhRA30QYLvJBOPCCDvqcCSiErMcbvGyCAVqYn1zyd.lWspm1HRh+q02odSvWCJXr5Dbpfm4fvxWMk5RfazvmAWDxtv2UhHieRTZ63azNwFsStQ6Taz9vMZmdi1YV0d4ADh0L9gQuiyw4V2h0ydb2hE.WhaqPyLu1fk6IsmG38d6Yu68du8jPnz2J3cRb0uHZBp3eTRgQfBd1136zCcsGZMKqu5U9CQzQC2e3idJrBs+ks1wBs9.67zGMMF+9cmD7dGQdO+BZ.yFSafdC4xKdR5chlHQVNitoOIaAwqE55HvUIW9Ip4sGWbZhbWaYYk+zlIqTMw4SloUN0XQw1FBcO9rQsMLtYZeC6hZdp8tnU5Ql84NWsTNGa4LM8JZldT69hbBYiW7fqpNxbb6xiybYCNyD4mcsybc9IyRXwOleRJMtVWWIdlJbkyL9vY5tc5j5xrWdiblBmjp2boLd5Ge7k8JlHSx72b1M44xO6r3IyHO+bj9MMFu3JqJmM337W1Nk4nZWeMe0dSiyUt941c4lUImpSUCUwS5KTYZUw4YEm1p13is4pNsS9ZW4UtxTmry6cisaR89UWT6pJFyuwVPr8zRkZKOozvKxXoWyd3flVcSTr03oySJWXfAWDLuj95hdzsu2iG8I.feaq.gC1uaGsAFRtd13Ti.GP4krC44h8HX4ZFRqRqC97gGUDYrstwpbcvuSHgcSQ0CWSUqKBxZYUG+kGE4QXU77ngtPv0BNemFGe3Quaab7d+diieuwwCabbWZIhfVRJdesD8iE5t.zRtpsZk7FB83pk.3bRK3RM8ZHaHIAN8CrsNtZGkxbM0O7zjmcPxp5pddE75N06ZQUP+Ta9TuyE6Vv7ZodWW+xRkpeMexKRedl4ozq5ktQ27HOoah2Ur0k7mTRbb0VJWe5DyApIyEW9TYqVkbUatXzMYu3LsyMOL2DqVRSbaktNuw3qb8lphDD4RwwkWL2zpYPU0jKNsfUKtIRW16.TAtZU507PwoUEDlT5bC0dbkVjt6IFJsTZLi+7hSldbwgoLzEtD0pXFYghwqeUuICZdciTWL25jyKV6vElGmbl0XNulEaL8jym2I03Ey50L8PaGi3BI330F6zrfc1lNxsOrqyYFmcVXsl8ukVyVNxp2kTO9R46V8f+IQSE+v.0CwB2bbAtdsNSPnfZhls4ZHkRB+oTilcxKcUY4B4gB8NHsyIHyJI5dPUo1Mb5bY9RoDqTwsmlvIx2jTH9g1oENkqaANOtoVUSXlp9nhnQnAEOWXbQd0dpi3ZUqaUEgRcEF1OUyyxrngvgUGUwar8vgIqnN8Z0Rbyj3pkTsQOtLZpE4lcxnDmazbwvE7mqeLeuwdYleo7bT+osFOLIWC8VC5cUol4qLeFmU6SGmYR6bcZmoSuSkUr51YQBc4xmNc7wkttSm5mk3h5GpVZgB+MWwamtq3McLRWe5vCxkxqcuRGWscBo4J7ib6NNqjlSwzGW4fghdkO8l4mb0zFEDLlkdPAmrhRhh8OW9DGjR5S.3dd5S7TDmjcRY4a5VLslRY6K6NRbfP2NmNN6j44JHWVztjUqVWvMrDWmrsZILs6vQCLDjqHTpG2jd70NepZK2xMKpvU9XUQkqm3cR4rix4jr9z90TUElNc1rwlKx5TQP0g2ycR9tWeQO6qurHR7vzZ7sqmsPM0rtdmplwq8DYCjx48JrvV1JWBsR0RTq4Li1EalaQyN7Yt1qY9QczJjW7hBWWrftbOwimyAFXCt7p1sbUpvMadmRWetyYZUrNTHrgP4Gm6y66J.9cEunHvL4v.yDwp4uoOXlTU7rYE5Z5Tk6fEEKJvQ+XXcCn5bU1TFmgJWqd6aFkTWSsffYavoPt1Z8ln1shV67Elan2t2IoqXLX7wnKO33hipWXXiVb0JxURnYgoxGrHmoxMhU6evf5bVm0Q+J9VExmI2IoO8Jo4pVcGk3fjdccU5cgP07m4Yzv3RtJKZkytrGmY5xM4xMlqzzJKFURVt7EbGTNeKNsZkFXcQSutWMIdiyTuHwDmSJXpoMRSnchLJGfbO4fwGV0Nqpv0kNtyrQcTg.2m0PGcsql3XuYi7ZMVT5fCQwyH.KerRo3FGJZ6cxoSqkudiQEGX04vBW0Y50ouImPm91IzzMRevMKbjuXnS1dGTbvHgSFM+rZWV+7l8L6kUqU9SruT2sc8hwOts5YxyjUUOq9BUqViNnU83mZeY04H4AnCUT45dgQlhcx0db0FmdpLpe2DpmMOyAVotXboKxT5b8LhUpmdtKmz4pVMTOvVQZj6wFKDZcpsAjOw7Kzsyq1pIWI9hIKMQfWZ9f5FhBUN9XiKsGMpaSASYdtNUrG4HzRiab9ti4NwXd8BcGzv0UR5z3phVsGZL5j3kbTlBNJK2Ie9ZcyWs3vbYSVURpXkzmvMhSQV83Acly0iuoRwStxZVegQ0FO1zJS4joxcy0BNcacQU4hZo6b8McACwiCYaI93rstmqe7c3r2eG8T.W6euY1M.G6ngOMgRFSAFOzCFG+dQKhTk7zcC5c8S5ptogo0PSCMk0OKG+2c+v39VIHAPMKbkHe+iZSe2xCelw3eDyR1qeDUes3Ew+Z+u8NaUd8ChRQW5kX96tmd6S++zmd6ZGoztAGeaSS8ETEU7OYL+Rn2MJswZ5zOY8SuMRDQaZgzq3V+0+CG0Jr3ccUyevQs7jzWwcO5e7q96ExqYYpKY+aJm+AzjeuGo5wePzkD0655wXow6133OLpuvE+a5452sw0OHZq+2GA8MJ+.+3MjS9W1OhHsKVZeqaW11zbRn613W8K+k+GupnzDqUWDwQIS9u+pKPt0fUq622u3+r0+xqJZuHbeGw7OCyKzkORfE9Wj0MnP1xPu+cuEOoK56d0ffKtHJjdRGSOaET3633I36Mg1lO3GGcGjQeRieM7wev3AWHBdv3AC93UCnWb.KM+l28zS+NQI2tBK9xv9lD89lPFoD.Jfd7el99K7TTvIvtySzCotR+oU3ophQInNsuQvxIRJ1let++LTgw02mzCfkFjr12MZcba1kuoQQixywGA+N274JJ3.7eb7HQ19ZR7FrljuAqI0avZN7MXMoeCVSl2f0j8dWCtfdAOWyITe6PGMKQUr1Y4Q6uySi7+.UM20QC
      

      If you click the transpose down button (the right of the 2 transpose buttons) you will see the notes get squished down essentially as the bottom note is anchored to the bottom of the panel. If you then click the transpose up button the notes get stretched out rather than moving as a block.

      If you apply that same transpose script to a MIDI player overlay panel for example then the notes move as a block as they should. Equally if you look through my code and /* out the 'Fill panel version' from row 148 to 207 and remove the /* from row 209 to 234 then recompile you will see the other version that I put in my screenshots above. The transpose behaviour acts as it should in that version as well.

      Let me know if that doesn't make sense

      posted in General Questions
      R
      rzrsharpeprod
    • RE: MIDI Player overlay panel LAF

      @HISEnberg

      This is doing what I would like for the most part thankyou, I just have 1 issue now.

      Because of the way the notes are drawn and the height is calculated, when I use my transpose script all of the notes move as expected except for the lowest notes in the MIDI. They move sound wise but visually they don't. I think this is something to do with the fact that notes are drawn to start at the bottom of the panel but I can't for the life of me figure out how to uncouple it so all the MIDI notes move.

      Hopefully this illustrates what I mean:
      Original
      fd2a8feb-70c8-4821-aa6a-bcbbf7b251bf-image.png
      Transposed up but the lowest notes stay at the bottom of the panel
      984756b8-276d-41a2-b0bc-a82dfe8018ba-image.png

      In this other script example that doesn't look as good and I can't set the note height, all of the notes move together when transposed which is what I am looking for.
      Original
      c29fc6ad-7537-4f0a-a1f6-76c60d458cee-image.png
      Transposed
      ce5c0ab7-9f4f-4439-8dfa-96f64fb2c04f-image.png
      As I say I know it is something to do with how the note height is calculated being linked to the height of the panel but I can't figure out how to uncouple it so I can still have the nicer note height without it being tethered to the bottom of the panel.
      Would you be able to help me please?

      posted in General Questions
      R
      rzrsharpeprod
    • RE: MIDI Player overlay panel LAF

      @HISEnberg

      @HISEnberg said in MIDI Player overlay panel LAF:

      Here you go, this shows how to display the MIDI data in a panel. I think there is also an example in the HISE docs under MIDI somewhere. My version tries to scale the MIDI data to fill the whole panel, so it should resize the notes depending on how far they are from each other (in pitch, not time) in the MIDI sequence. But this will give you full customization over how the notes are displayed using the paint routine.

      HiseSnippet 2161.3ocyXr1Siqb0AVu8RZ2pck5O.28CW4rKXrSBPPnaK4II.IjMIvBrZ6dGrmDOA+B6IgXp1+a89s9mX+OTU0uVs8L1N1NA1GBcuR0BgxbdMmWy4bloqqsJ1yy1kKS1A9NXtL+A999VT8p5HhEWqZbYdFuIQiTi34Xf74p36f77vZbYxr5ALRxr1S3B99W+0JHCjkJNADG2Y1DU7wDSBMAZ28OhXXz.ogGPLSQcw8aoZaU01vdBnNqxKy4fTuFMB2AwHaEdtlHOctLuheq7ETKpsiV97as61pnsw6NDMbnRAshE2tztJE1EUrz1X4s3x7z5ZDpsaeJhh83x7jJ1Z980su0JbCNi3Qtx.yVnv0G14PvMrMzXlHCJWUchgV249IONPJcS7ZqF509S7sAmTL7Du2yCPHjvQZGXlUVT8VcA0S4KodOfJsRJU52MOPFnRPPC6FnJ+Q91sp0RHDhxBJR0IttXKZe7MSvKFA2OB0.WHVjNXerssScKDndZoAyj9U.o8cvKhHyp+JYqbLypAw.GX2yW.TyrQHIoFhh3x7K7JEkkrFr8QkpdlgzfxkkZN3MC1or6A8lluzoiJciZgdFyTFapqzSIemJ96RuZ5VH7YCqV6ldkjNpvssJ29jQUuzsf9M61svwimT.4zz8rxkt8xV0FI207jy6ocadK+iOt01GNQu9QmJcv0GUs.tu6fxGWVhVc312VrRkgRim52s7j1Tc+yaWpfhtdiYRJCqTS+zRSd6fZ05LE0ubkaLeaeyR9ac4EmvwrpvLeS9MO0C65sI10B6Q2rF16ZpsylkmnQrE5iLc.mwlsa2ci5P.0hRPFdavbLazEhDaHmeiZtSLgETJHAfRHMHj71cyuQcMy7anjuzUNlRvIcHcfcrrOYjEhNwE19m1YhYED35iilOe+N1lD.OKcKAXMr0CAlko.QcWZ5BCgoOKjgL.a5Xm.3m2m6KEb+O7J6TJJ3pzn7fAPv0+1K6VwpUOIxXylG1cbkZijp8lxUtqRCpaO8qqn16v1EGewEiLO+5lXkxyFbxzCnie8YM145hnS8OeZs7mK4TW8L+AdzqTPZZmMXX4AjyObl132bwzxM0O4rCNxWt904ct4z563Qk6T+5S6d9AUbtRRZx3Vuw6tdac2wutSy23IctTEqwC0mpcEA45WuUKKsNRSpNEO97AVGHeSsi6fGnXHe4cVGRt7Hc8iv488l42bxc8lVR+j7EOb3NSu9tNct6vCqlJev92z7glDml1NE1nTg++Ii3u8ea7uW4eLXetTk4dRXYtWv2W0k3PSvvRU987sr.iaHBJlktPWHsbqbwZ7UsAJrnRlnqwMbgEwbHVPVdcg7xx41KaVnkjGUXJxUf4lhJdJ7SBAcIkFgoIUYEeY5BruD3NgYGKiOzNoOJHf46OHhp1fcZAKDe4RzwDR1kfI4gocg9Kzd1SnDKr3vIVpThsk3nbY+6YEfuQRCgVrkMLDo5DO1VH9xqFE1Z8k4.YxHJ3eatoPeUjAVfpiCrPAM3Hl.0VfIg.nNHKrQ.wLCwxlBMzAq5mR6PXaQG.SOrJEYMxHfDw2AtQ3u45vaIZTcwbI.ZhIizoh4dejFwjOjtvDDHdk76jBLZVDX4E09SrL7EbXAerVnNSFxTaWr.wKwhBHGvH9mSq0Du5lNTewbB+3OFaYRFXqQTcg+hfbt.1B8orug1tBhL5DHVwzmKFcBgo8VvgkqvtflyV7Nk2uWjxO+KwhaifTJXoXDn0SwejKJloX+QHSnYhQf9BL8w3eE+Cv6UEYnNw.5HKnEkX5fbghLvIAurKaH8fH6B6nx5w5wFyMiTaYPdOK4ILNCbtbfeQZQSQDC1DE8gA+XaTZl2LzwGpCuVPYIdY3h2lXErz5KIzTbk1MTyEcafH7dbgZPDAdg3Lszp1rt1dyi9xueu6g21kLBpQZzILrkJQ4djdK6DzbBxuDAKqQ8vlHmfSvWH3X6QXkHBOXSCfNOh6xboOPlqqIxfbGVKT8EWVMSh3PrINzbec1et4mVduRPLcvciTwubeEqJNSDJy.x7cLW65A6v5g9l0SInGv+4oizruMM2rToPID9qukTV1IGm4r.hQrZzgkaSUAlPwlKUCNgAVoKnftEbwi3hnhysUnajjbtuSMQ.ZKX.8E9hZj7rxkaD7kaOgknRCjxWQMTjjC928Jr7wEJJGnKNQWEHI4iXoQTYCCDWVeNMg4HK0PoaBx.9gxzuZ4lI6k86wemO1gGZgGyZalZuWWXgExRx2uI07XvGYsjSqoPSdKv4LvtKKiVbot0fKlUmMjF1wuv1ooE.n68vNrN5mXM2VgaPBmlDotSvgRHhBgfMIa1487ErCNCdB3bfd+qkEhCKiZ3vGDGa9CWaCCXtkGBMajO2uFihVAsXVGhiFfRNmPXvrEun2S+9tnmZ33PoHz1pkEgdhCNZ8W+V4bQySA+5zVAWS.l2KBFPmC1kRXpSlZ3oDUb3viqwGM6b.sQCgwkIKM.6ylOZIykywFD9E7KEc4lkdDV+zKBpjvkgOy5Y33zCRhXq9m.p4ihAj+zrYy9YF4IIqLne5Se5WVDZdFXNtO+QFXJdFMg3OCegurx8lN947ss0XM3W7MIXubSDBHltvDxrofsfbP+Et792+CUH+0u792oJ9B9tDpp9Cqiq7.5H6s.9MPGiddmmwWe3P37ahB9D9Fm+XeKmuw1GNV+HXHFWBjdwCMa6CQZULql.jI5wRiVgkwGtVlsl4A5iszBVvRHhPpvVmIBoxbjblHUW6OnFdRl8PJ+P.DPmrBth4Z7sYqET3BNcm1OydMvOnptnntGi4erLV3wxXwGKia8XYb6GKi67XYrz2lQVwoxSn1lgGa33Z2sd3qljI945xrJ2+CqyWNGC
      
      Content.makeFrontInterface(300, 200);
      
      const var MIDIPlayer1 = Synth.getMidiPlayer("MIDI Player1");
      const var pnl_MidiDisplay = Content.getComponent("pnl_MidiDisplay");
      
      pnl_MidiDisplay.setPaintRoutine(function(g)
      {
          g.fillAll(this.get("bgColour"));
          
          // Scale the MIDI data to fill the panel
          var noteList = MIDIPlayer1.getNoteRectangleList([0, 0, this.getWidth(), this.getHeight()]);
          var minNote = 127;
          var maxNote = 0;
          
          // Only proceed fill if there is MIDI data
          if (!MIDIPlayer1.isEmpty() && noteList.length > 0)
          {
              for (note in noteList)
              {
                  var noteNumber = note[1];  
                  minNote = Math.min(minNote, noteNumber);
                  maxNote = Math.max(maxNote, noteNumber);
              }
              
              // Calculate display parameters
              var noteRange = Math.max(1, maxNote - minNote);
              var panelHeight = this.getHeight();
              var availableSpace = panelHeight / (noteRange + 1);
              var noteHeight = Math.max(8, availableSpace);
              
              // Draw notes
              for (note in noteList)
              {
                  // Note data
                  var xPos = note[0];
                  var originalNoteNum = note[1];
                  var width = note[2];
                  
                  // Remap the Y position to fit the display range
                  var normalizedPos = (originalNoteNum - minNote) / noteRange;
                  var yPos = normalizedPos * (panelHeight - noteHeight);
                  
                  var noteRect = [xPos, yPos, width, noteHeight];
                  var shadowRect = [xPos + 1, yPos + 1, width, noteHeight];
                  
                  // Draw note
                  g.setColour(this.get("itemColour"));
                  g.fillRoundedRectangle(noteRect, 2.0);
                  
                  // Draw note outline
                  g.setColour(0xAAFFFFFF); 
                  g.drawRoundedRectangle(noteRect, 1.0, 1.0);
              }
          }
          
          // Draw playback position indicator
          var playbackPos = MIDIPlayer1.getPlaybackPosition() * this.getWidth();
          g.setColour(this.get("itemColour2"));
          g.drawLine(playbackPos, playbackPos, 0.0, this.getHeight(), 2.0);
      });
      
      MIDIPlayer1.connectToPanel(pnl_MidiDisplay); // Connect to panel
      MIDIPlayer1.setRepaintOnPositionChange(true); // Repaint Panel
      
      
      

      giffy.gif

      That's fantastic thankyou, I will have a play with this but it is exactly what I was looking for and opens up a world of options.

      Thanks again, much appreciated

      posted in General Questions
      R
      rzrsharpeprod
    • MIDI Player overlay panel LAF

      Good morning,

      Is it possible to change how the MIDI player notes look in an overlay panel/floating tile using LAF?
      I have had a look around the functions as well as looking on this forum and can't see an obvious candidate.

      I would just like to change the look a little, round the edges of the notes, maybe have a colour fade on them if possible but can't seem to find where to do this.

      Thanks in advance

      posted in General Questions laf midi note midi player
      R
      rzrsharpeprod
    • RE: Audio waveform/sampler start/end points not recalling in daw

      @d-healey it's a 1 to 1 relationship in this case so I think I might be ok. I'll test it in the morning and see if it works for me though. I appreciate both your input and replies, thankyou

      posted in General Questions
      R
      rzrsharpeprod
    • RE: Audio waveform/sampler start/end points not recalling in daw

      @DanH oh wow interesting. I'll give this a go as it sounds like the sort of solution I was looking for. I'll give it a try tomorrow and let you know how it works out. Thankyou for the reply

      posted in General Questions
      R
      rzrsharpeprod
    • RE: Audio waveform/sampler start/end points not recalling in daw

      @Chazrox thanks for the reply. I tried that the other day but it didn't seem to work.
      If I dragged the start/end point in saw when using it in a project, when I reopened the saved project next time they were back at the start and end of the waveform as they were originally.

      posted in General Questions
      R
      rzrsharpeprod
    • RE: Audio waveform/sampler start/end points not recalling in daw

      @rzrsharpeprod Further info in this.

      I just added an audioloopplayer to the project and it recalled the drag points just fine in DAW.

      I also just built a basic project separate from the one above with just a sampler and waveform in it.
      That didn't recall the drag points correctly in DAW so that leads me to believe that the sampler itself is the issue and not any clashes of code in my project etc.

      So now I am hoping that there is some script that I can use or add to my script that will allow the drag points to save and be recalled in DAW?

      posted in General Questions
      R
      rzrsharpeprod
    • Audio waveform/sampler start/end points not recalling in daw

      Hi all,

      I am an issue that I can't seem to solve and I am hoping that somebody can point me in the right direction.

      I have a sampler in my project and an audio waveform in the UI. The user can drag the start and end points on the waveform and this will affect the start and end points of the sample.
      This all works fine but inside a DAW when you reload a project in which you have changed the start/end points via the drag feature then the new points are not reflected and the full sample range is selected again.

      My questions are as follows:

      • Is there something I need to add to my script to allow these to save?

      • Is this how it is supposed to work or could it be something else in my script causing a clash? I can't find anything but maybe there is something.

      • I have done this before using the audio loop player instead of the sampler and it recalled fine.
        It may be worth noting that I am using expansions. I have never used them before and a few unexpected things had to be solved because I was using them, could this be causing a problem too?

      Any help is appreciated as I can't figure this out after countless tests and builds but with no change

      posted in General Questions waveform sampler range
      R
      rzrsharpeprod
    • RE: Searching across all expansions

      @mehmethand sorry for the long delay in reply. Can this then be used in the search bar in the preset browser? If so I can't figure out how you would go about doing that

      posted in General Questions
      R
      rzrsharpeprod
    • Preset browser questions

      Hi all,

      Just a couple of questions I have regarding the standard preset browser. I have had a look around the forum but couldn't see anything about these specifically so I am asking here hoping somebody can help.

      If you minimise the plugin and then bring it back up again, currently my preset browser is defaulting to going all the way to the top of my expansions list rather than still showing the selected expansion. It is doing the same with the presets as well, the one further down is still selected and playable but it is going to the top of the list when you bring the plugin back up. Functionally it is fine as the correct preset is selected, but it just looks a bit odd from a users point of view so I would like to fix it if possible.

      My second question is about the speed of the scroll up and down the expansions/banks/presets. Can this be changed at all as it is quite fast?
      It doesn't seem too bad on the presets as there are 50/60 per expansion, but there are only 10 or so expansions so it is a much shorter list and seems to be much quicker. Maybe the speed is tied ot the number of elements in the list I am unsure but hopefully there is a way for me to tweak it a little?

      Thanks in advance

      posted in General Questions preset browser scrollbar speed
      R
      rzrsharpeprod