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

    rzrsharpeprod

    @rzrsharpeprod

    22
    Reputation
    27
    Profile views
    189
    Posts
    0
    Followers
    1
    Following
    Joined
    Last Online

    rzrsharpeprod Unfollow Follow

    Best posts made by rzrsharpeprod

    • RE: Romplur vs Maize Sampler still HISE Rocks

      Having used all 3 fairly extensively, here are my thoughts on the 3 different pieces of software for what it's worth.

      I came from both Romplur & Maize before transitioning to HISE. They are easy to use but you hit issues and/or limitations pretty quickly IMO.
      Maize & Romplur are very similar to each other despite the Romplur CEO saying otherwise.

      Romplur has a huge issue if you want to use real sample mapping for each individual note and will just grind your DAW to a halt if you have even a modest number of presets/banks.
      Maize doesn't have that issue at all depsite being the significantly older software.
      With both, you are limited to the built in effects and functionality so if you have far reaching or even moderate ambitions you will hit the ceiling fairly quickly.

      They only really have 2 advantages over HISE and one was mentioned by the OP - that you can export both Windows & Mac format plugins on 1 platform, you don't need to have a Mac to export Mac plugins and so on.
      The other advantage is ease of install.
      Other than that, I would say HISE wins hands down in every other category.

      But in fairness to HISE, once you have got your head around the HISE install/build process & how it works, it's not really an issue tbh

      After making the move to HISE I would 100% never consider moving back to either of the other 2 and the more I learn with HISE, the more possibilities there are and the more powerful/flexible it becomes.

      posted in Blog Entries
      R
      rzrsharpeprod
    • RE: Read only factory presets

      @d-healey Turns out you were kinda right and I had done something stupid.

      When I changed the preset browser from 3 to 2 columns I just left the default widths as 3 x 0.33333
      It didn't seem to matter as it worked fine in HISE but in a built plugin it was doing what I described in my OP.

      After your suggestion I flicked it back to 3 columns, re-exported and sure enough the factory presets weren't editable & the add buttons were there as they should be.

      I then changed it back to 2 columns but set the widths to 2 x 0.5 and when I re-exported it this time it was also working correctly.

      Glad I have that sorted as it was really bugging me. Thanks for the assist

      posted in General Questions
      R
      rzrsharpeprod
    • RE: Expansions sample maps

      @d-healey ah ok strange.

      Thankyou for your help as I now have it working properly and selecting the correct samplemaps.

      I've also got the expansion load working in daw as well so I can progress with my project which is great news.

      Thanks again, your help is always invaluable

      posted in General Questions
      R
      rzrsharpeprod
    • RE: Expansions sample maps

      @d-healey Ok thankyou. I have created a minimal project and sent it to you via DM

      posted in General Questions
      R
      rzrsharpeprod
    • RE: EQ numbers LAF

      @d-healey Thankyou, as usual your help was invaluable.
      Ironically I have been using autocomplete quite a bit recently but it didn't even occur to me in this case.

      Thanks again, it is doing what I want it to do now

      posted in General Questions
      R
      rzrsharpeprod
    • RE: Is there a way to order samplemaps in the sampler

      @Lindon @d-healey

      Thankyou both. I tried both methods and have come up with something that works.

      I need to do a little rejigging of the samples once to get it working 100%.
      That is a one time job and after that I can add new samplemaps without messing up my presets and having to manually reassign the samplemaps which is exactly what I wanted.

      Thanks again, your help is much appreciated

      posted in General Questions
      R
      rzrsharpeprod
    • RE: FL Studio midi problem

      @gorangrooves said in FL Studio midi problem:

      @gorangrooves Found it. For anyone else looking, it is in:

      top menu Options-> Audio Settings-> CPU-> Align Tick Lengths

      Apologies I've only just seen this. Glad you found the setting though

      posted in General Questions
      R
      rzrsharpeprod
    • RE: Enable loop in sampler

      @d-healey I forgot to say earlier but this worked like a charm. Thankyou for your help as it would have taken me forever to figure that out (if ever)

      posted in General Questions
      R
      rzrsharpeprod
    • RE: EQ changes saved in DAW

      @DabDab yes that the code I used to get it working in he first place but it didn't translate across when I made firther changes in daw.

      @Christoph-Hart said that it should though so I'll double check something else isn't stopping it

      posted in General Questions
      R
      rzrsharpeprod
    • RE: Fader/mixer between multiple samplers

      @bendurso said in Fader/mixer between multiple samplers:

      @rzrsharpeprod I was thinking in making the same a few days ago.

      This is how I managed it to do it:

      HiseSnippet 1456.3oc6Z80aSbDDeuXu.wkhfHdsRmxSlVHx1DfJUghIN+QtzjXEGnz9Br4t0wqxc6d5t8BXP7VeuR8iQenpeCJpR86Q4a.eCZmcuy916pww0BhfVaoXkY1Yl82N6LyNiR5DJbnQQhPj0hGLHfhrtHt6.treq9DFG0dCj0kv6PhjzP6DVqOHfDEQcQVVk1VwvZwxH8m2r15DOB2glwBgdnf4P+FlOSlwsSy6y771h3ROf4aH8pMa6H3sDdhX.Okv0PADmiIGQ2knDaALx5ba5xjhvtRhjFgrJutvcP29hmxSj+grH1gdTEQcTWvPIr26DZ3IL5S2R34pPthGpUelmamgm+HDX7NYdiRIdiqh2g4xFwOyqbY8B1YZX5WrVHOLKkCl0MgYMCXNFHYY.oxIP5J3tNgr.Y1JJ77I31b3RpGAb+lPIQVzB+7B3VBPBtbEexwzsBAhQZT810pcca3qq8UUp.WAQR6SHg1pSnRoPgmGMrt8cs0gFqbDUtivM1i.GwpKq8CFhsLXj2lMZLc1nwx4Ax84hCUa+vS.nbKgeffCDUWVupVCF2iwo18h4NRlfaK350RMbUmg5bcvpdwzqU4EUVrvgbkHp7dRYH6vXIsZwE2f1iD6IenR6qaWuwcr+b6pZaA+RsUtk8Wn99Z.VJX2FSxtMlrcuQNCW4kvOSzQn1pTi2h34cHjCUMumPYlJFdocER5d7pZ+QkWVwt3R85M10xNAicYUxc3jTrJO1+PZn4sgRPHROe5y4d6oOlY4NINECAE71blbu.ZJcV9e8wjrgR8ppztTDBhJ0IcWJMoqqGykFhXfQNOV6RQZvmVD6I+3u+GqgdP6MHRxPy.VD1k.ZnjoNLVaPOAJIljKuHdCZzwRQfV1zKRHY9T2zmMpp4qNp4frRn7lQxAJWy4zBh7YttdzNhHlx0aVXFJoGzk8bMxewU+kse8y+g07yUN+2hh60i8Lcg2dLO+HH5MnsOTOFYsD9AQTa2jvV6niAEgTuiotGHzxi9m0sfJlCS3MKipdCIcAEBMqcopOwAjOv7Mlh0VKOc0VOkq9oDtWA2gIc5Od7tvXvKDD79FuouT8o3M60i5Hy.aY7VOZhOKUd5xql7qllP4yRfxR3txPJAhlNpKwO.pOnwSEbJU82EMQDL0MQzIj5IHtCC1SD6UMWGhtog449qM0a087Ew7b6UJx2mFPIpGtLz4BM2e+sCEwAE05MqoCVNHDJ.CtByE1iSA+tz7L1JTDE0CNNZaEYtTm3viT9pLN6SgNZhxya2Xe3tmyodfxXKKfEjiptqYN6Pfb2mYJsdWpc.QeeCIrZ55EnaTf9lEnWs.8sJPe6Bz2IiNwgtCIPEYn5rqPM+yOcwlfA5PfirQOfqyNZjwSDOeIFCiNxmqwkgMNKaN7Ls.1605s0Oaq2V5+k0ayMRvEFMyFSEwuc1LaILrUblT4VDZCpGImC7aYtx9YL9tliofbaNT+Q1Q3QBK59KM0i9Texi9TdpiQTGI6yzX5S8hYwQ.NWm9Z.uDt3HSmNhgJ4o0NKdIj+QfLitqt2Zy055KDx94esj0zbziT9Me8Osey+EyvN4KxoMWeIrNTz9illAWBqSU93AvWFCuU9A.b2WDKgFhF1TBFBU6Bcq4PM6eYAUzbBcMEsNBlxc0D+E7Icw5Ca1QsX8gKNstjKk1SpMbBCkefe+cQrtKJaUSu+W9tyYnofyV5uqGn1pDkqJBpG1xCZA1K2.sYSqNCyjzXBOR9mymIY9LIymIY9LIymI4c0LIMlOSxG1yjz3rXlj2r1TOSxSt62+0ymIY9LIymIY9LIebNSxYAJ8INghG6jTvUg0Kn4.njq+WnXQ7NJZ6Q+UKw3ZqTS8WIj8XGGU6B2.7viWmFyfN2bFzY0YPmaMC5b6YPm6LC57kSTG0yt2KVJ7Sp9AL5rYRfk0liBrJg9a.+BjeqA
      

      (I used a Midi Controller to control the Gain).

      For my plugin it makes more sense that in the middle both samplers are at 100%, so I changed the value to:

      	MidiController1.setAttribute(MidiController1.DefaultValue, 127 * (1 - value));
      	MidiController2.setAttribute(MidiController2.DefaultValue, 127 * (1 + value));
      

      Ah nice. I shall load this up in a bit and have a proper look.

      Much appreciated

      posted in General Questions
      R
      rzrsharpeprod

    Latest posts made by 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