Forum
    • Categories
    • Register
    • Login
    1. Home
    2. Lindon
    • Profile
    • Following 0
    • Followers 11
    • Topics 623
    • Posts 6,818
    • Groups 1

    Lindon

    @Lindon

    2.2k
    Reputation
    1.8k
    Profile views
    6.8k
    Posts
    11
    Followers
    0
    Following
    Joined
    Last Online
    Website www.channelrobot.com
    Location Beverley UK

    Lindon Unfollow Follow
    Beta Testers

    Best posts made by Lindon

    • RE: The world of HISE

      @MikeB -- Lindon, Hull UK, Audio Developer, before that I worked in Telecommunications (real time and all that - not as complicated as it sounds) and before that I was a record producer....before that I was a starving/failing musician.

      posted in General Questions
      LindonL
      Lindon
    • Legato/Glide/Portamento/whatever else you want to call it - in "Synth Style"

      So for those of us who have spent the required hard-yards in the sampling business we have a very specific idea of what "legato" means, and frankly this aint what "modern" synths behave like. Stiil we are often asked to recreate this "synth-based" glide portamento legato, what th ***k else you want to call it...thing. And in my experience its a royal PITA to do....

      Essentially notes glide between any currently held note on play or release as long as something is held down...and if a truck load of notes are held then they glide in played order....(where truck load == 2+)

      HISE is not best set up for this sort of thing - or so I thought.

      So after about 6 goes at this and also after the realisation that I really really need a holiday. I think I have it (or a close approximation of it). As I wouldn't want anyone else to have to go through the outrageous process I went thru to get here I decided to release it. So here it is - again MIT licensed so all yours to use...

      HiseSnippet 2943.3oc6ZstaabbElzxLIj4NPKxemJzeP4PcgT1N1wMohhbk0hvafKkbLBZCVt6PxoZ4ND6tTLrAFnuA8MpHu.EnOB8QnuAsemY1kbWIYEUAmKNsDxRbNy49s4ry5dARGdXnLHW9RCVNimK+6TvZoezjFSrE94LalK+aWXpzWN1S3xyc3xY1ggb2b4yuwSIDxW7t4Te9W+9Cs8r8c3qAkK2oRgCukXpHZMzdG7EBOuirc4CDSSg88OvzQ52P5ImCkYiB6kalsyY1i4crIztSgbGaGNIW96Un1ngN0F8I6+npOt5i+j6+3pUeviFd+8p439fGu+9Obe2Q0dj8CeDH5MLbEQx.qH6HdXt728Po6RqIxE9ZAbpHTLziSKplyBRVC9HomKYhDzbMlH7b6k3kBykKegdq8Yan8Y+pBsEthUvW669.0Fr0Tj1Al+NYUuMxndUSqd6kR8tBUJeJU5tZU5CKX4DHlEsdGcrzzOhGLx1IarTiat7eWgFRffezNSsOieT.VrhfxObu8pvvu15Iil66DIj9LoeGYDuqe4sJ8skJV5EkXWbqQitx8HwDH873AW41TpQv0QXY+4SGxCpvN21aNeEhv7y5SK7x8ooC4NZqNEhReSeQT2Yb+WVhPtXWE91IlMsiro.QLLf2LdPjfTg7M4mix.cXoXgl7vyhjyPgvkhYHaQ5N2yNJaJDUnEuA7AYhaTvwOTDsLcg3Eyqt6MKu55S6uop6GVnmHxYxUqu24JzW309gVeiqRe2BFiFwchVqr2svQe40VR9JWUdqWRS12QU3gU7fpuJ5xN6F2kM+FuV0j7G0j4+es2ujp89Hsp71Edl84bU8mRQ90p0ijASYOki5Oxmdc0f+iW80fcchfJLHv1OblLjWMMms3SECj97vLPu.E0tRJx.sIOZteVVqAkAKxUbDbEUSmTm.LElu0A8r8yvLrNCmZK9lzKM7sQvyhCK2sanCbLjeNsT5M2Kj+LgazjT78elBbszfO1NvEwPmLIyabiyf9unU1a7Sv7dUekMuWaL69Suzr6wy6cmO3CJv18dkXMjyVFHFOIhU1YKVs8p8.VKguKl3p8bOG6IK2tmcvYz7VvV884dr9xgxnRrRrd7fohvPZ5LQHaBOfObIaLRLi3tUXiB3blbDyYhcvXdEVjjY6ujggiBow4FRG4I7GyrYNPEHLil.1DJGEsvNfCjcYPqkNB3ybYtRm4Sw7UptarQBOdHqbzDNaSqXJ1bKkPb41dLgOi1KYK1BQzD47HV.OLJPnlnrBPxwatKoCIa6QkwZIPjq7KgDSmGBKfzyJroRWwH5ubkYMa9POQ3jJLWAw5gyi.vPBnC54huC6XWY.Kj64Qb.CFps00ZmBGRJyHGZTrKRI2ESjSyZIvEMZdfODIWQiqDtLkD+SnIKAgPeDFvVtfLMppSPVT3mRwrAXS6gxy4JqQG38kQPY0JAEBlsNtFuU3Dan8C4wtLHY3fsSYPAjBDFgPu.d+Yx.kDungtiRCN1fY08nAOqdeCloEqW+tmZ1znIay5VX8lUXOybvwcOY.CXzudmAOm08HV8NOm8ElcZVgY7k85aXYw51mY1tWKSC.yrSiVmzzrySYGB55zc.qkYayAfoC5pDXLqLMrHl01neiiwx5GZ1xbvyqvNxbPGhmGAlVm0qd+AlMNoU89rdmzuWWKCH9lfscL6bTeHEi1FcFrCjJfwLNEKXVGWuUKknpeBz99J8qQ2dOuu4SOd.63tsZZ.fGZ.Mq9gsLzhBFUiV0MaWg0rd65O0PQUWvk9Jzh0tmcrgBDjWc7SiAlc6PlQitcFzGKq.qr+fUj9LSKiJr58MsHGxQ86B1StSPQWES.ccLzbgb0YiH.EZ8IVFq0klF0aAdYQDmFYU77d6R+d26AnsMHeugkJSCQcUvWLkRGPlAaHxsotDTNrMxeBBrWxbPZDxml4YuD0QQTiFhJGoKmMEsHn1DgfapLSa7CiPS0XYdP.ZH3sDL0ykRU4gpjXTrpDfTWRDvmgx9jVGU.uHTY5GiTQfZsYSk4npPT.P5+pMkiFwnpugyCgJOg6bFUaozIk5fxtPztSny2E9Cky8cSjDpUz8iPE.ybDiKnuiFUNn4LJymXGAyRcMKLeN2UU4OwdFdBTkyXI6Le4BkO.XRBvylj4BYrQG2sS6PUs6HDWf+Rtcc6qcvGxb31NS.qH2dHyIfilqpCIT8.UrQySkbSnOjPXHOZAm6S9Hktf8QH.zqUo3nhl5Po1dUgZuE1KWE3JCkkB1HlKCb4AaAhhcTvWhyu.gXrlUZQrECKH.9DvY7DzyhSXPLX2I3Hb7WD6H0JIcrDh5iAt1AQzcQv9L11UehFHb4WBlBQylWDs0PPWTn6qSRA7u5Ojl35AQoo1muXnsyYjbxxVJxcJ2Slkwm4OLYXQrQxEwX659E9xgk2LYOzar5dUX6sEHLEI6Dxi5a6OlWt1dDFzk0TkvAkk6Nx1UmgPG9R4XThK4bQ9Ph3O2Nf0hOFikY3eNTtYjVnFSdmw7nUOtQ4MyhzlPFjHhSiBWkDmjorJCcGkvD9d3obWekNox9JOJPNk7VzbCxolMoix0qijlM2pD6aKU7B5HY10ihOys7E1Ca.+ek8IeUQTWVVyV1ug76aAPE01G7wmJ8vjEjyrbhr2GdvsqR22UIf5JLUOikBQRoPfnBFAQolamn+acusqpiPWCcoicvAeJcQVk2RwOkHYu3kcOaox0ZiZE6wb000AHhQBLojW4sdBhHnOjHhhGwUZp1PnLxmZJPDfsQihDhJULUZYBeIECPbviMVlLm0I+6Lad3jxe6lDW6Le5lrOMMQczPGR2hWElBIylDNI59KTdUDRRwQOt+Xz94yYTrA1Ywc2EZ5D7zGqRpTy5PIRjqV0SnFZmo6DJW0UDjltpesH9pKIssqgJ3hES0O3ZwtpB6z4rqDzNwdhJYgPg5DtuBkL.PlM4KdQoq69SUgyEbUi8UM+SGX0CtgtszodR0YKpSD2lMVxn1PpZJzBkbThHTJV7B9+qzbSTY1m8Yur36pf0kzujNLEut.shXh5DsWaOt7QnOgZ51DCHRpYFgLNaYg9fRBCc.IlzJzDBjNfCEfajNTCCohCOoYWWPSfOFPiY0E6QqKWIck.U96I0YU.cUKcpHgTPJbfSonC+PMHFqXG57Y9D8iSPQNG0LADnDNSTdSDnRQyn3JgR+6Fm1qSjuw48TUBg+O.Y9EQlO8SohivoKBnI68Dl32wtjR.ne7GGmrgVR3QLhxp1BkMgTsnaVVqNyC3qC5hv0cPMNGm8VGUhmmIGPjD.TjqoO9LDec05gKUjZ5d0job5uHafdm.9T7rXFdb5QaKKzHMDd5yV4cJU5mnWfxa7p5Enr9VV16ZeYJ52gBzPfZj5pMdu3q1vhx5BxI.SJUX00poz+U2Bze4Odvs5swP3hGQwmTg7u4MQteSt7ExWBhbI8ER1HVNyR7m4ouTqo1quErC9qGLM8EId+C9w6dne07tEeesN9lEpebSq9wpV1YtxnZzkOMahzWj4Z55yw3ZiGyyb6eWoUnmeqw7fy4Yu2RG6kWBpF40P97CzPZwglkFwiQl350+1CTraEfuK3.q4gQYtxWRm831gqk2e+ucfgiDQD9szq+8bCeEtgYFuaAsQxT4j+790S7dI5pNh7yak8cJnRKdcvu99EhSXesvw9dEhqkdcv0dsuQsM9e92n10elUaw2vds4cm9QE5F5TioB2re5i28kyiD9iaaiiJoIMvTqVx4AN732+B8esk72glaRudujgPr39tpE+a7Idypz57waVMYyewHio1NAxu1QO0Hc34aof.equ5+5XEKzlVypdgYEwmoBWwW63jkUWhvZ2VB2+1R38usD9faKgO71R3mbaI7Qe+DRuL05yijS00h4x0tmgZ19740uOYUYYt+i5uV6C
      

      Frankly I never want to have to do this again......so please dont ask for amendments, you will have to make them yourself, and if you find a bug - again you will have to fix it yourself - please post your resulting code here.

      Meanwhile I'm off to Italy see you in a month, well from next week anyway...

      posted in General Questions
      LindonL
      Lindon
    • RE: VST Graphics Design

      @Lindon ....

      0d94aa62-654e-4c49-9983-0beb3117ff3e-image.png

      posted in General Questions
      LindonL
      Lindon
    • RE: The definitive feature request & bug fix roadmap

      Feature Request
      @Christoph-Hart - Please can we have bus effects (send and receive) as per this discussion :

      https://forum.hise.audio/topic/1983/feature-request-the-case-for-bus-containers

      -- wow I just re-read the thread I pointed to - I've been a pita about this .....sorry.

      posted in Feature Requests
      LindonL
      Lindon
    • Happy Holidays..

      So happy holidays to everyone who has them at this time of year.. Anther great year for HISE and this community, tho I did get too many t-shirts this year...

      posted in General Questions
      LindonL
      Lindon
    • RE: The definitive feature request & bug fix roadmap

      Feature Request

      MIDI out.

      posted in Feature Requests
      LindonL
      Lindon
    • Happy Holidays

      ......Ok that's me done for 2023, so wishing you and yours a safe and festive holiday season and a prosperous, healthy and happy 2024...

      Thanks to all of you for making it a great community..... now where did I put that T-Shirt?

      posted in General Questions
      LindonL
      Lindon
    • LED - with peak line - and red warnings...vector version.

      So I've seen a few posts here asking how to "do" an LED-style control, and there's been a few answers - all of which seemed to require adding in a png for the LED itself.

      So as I needed (or wanted) one of these that used vector drawing, and one that had some level of "red-line" warning as well as momentary peak measurement too I coded one up. You might want to use it - or adapt it to your needs.

      So caveat no.1 : as @ustk has said elsewhere - this is not really a gain meter - its approximates one as it uses 100 milliseconds between each measure - so it may miss some peaks. But in any case:

      HiseSnippet 2093.3oc2Y0uaajaDeks2qwJmARJtCs+IQPAtUWTj2Uw1IFF2EYaI6Hb9CAKmjVTbHfdWJIhrhTXWJ63FXf9H1Gg9HbuA2MjbWsbkWaqSsIMoBIVlbFN727AmYHcmHtOINlGYUZ4SubDwpzWa28RlXvtCvTlU6lVktm8QjKNnUSqctbDNNlDXUpzh6KoVZ4krTe9kWrCNDy7IYSYY8ZN0mb.cHUjMamF+DMLbOb.4T5PCtWqQaeNaWdHeLfjEscsFg8eGtO4HrjsErsJ8UsBnBdTWAVPhsJszN7fK6NfeASy+qowzyBIxAdVcAAomdOdXfDwxYs1c.MLnSpFGaYUxtSl9unV++F6CoAzIymYGdfh.JaEl1iRKbavyyDdtyN7JY.ukzv6g1c8iniDYTjX691sYBRTOL3BLgklWqErtu8tbfCln1P76H6EAClrBmMbcqhV20sxVqTdkxqtJxmObHmghHi.kWPY8QQ7wv2DIcvQEKPmiiPur8As2+kmt6wGb7qNA8CH22+7MWq9NdMWaKS11Y6c+ICd1au5pO43oUy8akimMTexwCDCty1mbZ6CaA73UeZZcjXkDAz5Ml4KnblS+JqT9CqTFgj+GA5SeTHnEfSJRrkdtUW0GG5iNCjQrbZzSPjyIQWhDP.JRLfFif+EP60iDAVuLAAqPIGX+jbUqOQ7RBs+.gSEPFNNdttnGOgzqwgiINUp78Rf5Kpjr6oX.Q6gnhXDFM.DAnDmK4GVMlgBwfNJQSsZIaOvrR9OdZoi9QT17AXAt1.phVkJ5U9A8WIaZDYHY3YvtoTyb6LlE.jiIvNOfnLZnzXgIvP94Z6jg4HAUaUD2RItKeLSZ9bS33pIVi2QHi.aguhAdOEFXiUPUNBrEwnK.2DJHBeAaBD0qufM4wOt.68EjuahDnBzPdThAWKNHuE3GSrAbEefUgbQlKnHs4GMhRqbWJtWAnRt4ZWPlKgGowKhQHARvDQ5A.a.51wxO.6Pg98gXw.ez3QRQI2OYvuZOqNkeOFxnA6nhVlDlbDBTgzSAaMOgDWQBiI4g13Xh4Nqh8UVA047aDF20IvbmEl5L3UxjZ4bCJesDE8fhU.JNCpE0Gx.xBzrzuljv1ggNYo1prUgRP6JAqT5JASqtLmStrmofQK5SH9Bm+ta0Tqa0T86Mz.w.mJUmVeeRJm+70xrLAJR6UtTHYFPHsg1lf9djmaAIKLws9q3ZWLfJH2jqrnE.NzJ4Op2ulDcG.3vAp.MsRl4gy8q0Mynj56LUTnTULMffHA8IW2rmUoIylKWZpM2sp2FUqud8etJxqVRIwqT+Lo3X6ifTgLRX9ZgsYxVhfPQU2SR0nETx.D4izTdjVRYKX6wATdaFX2OfzSFCmVftuDpCGwYv.mGkmMkTJRFmHiClAgn3SIk7BVZfTEPOQWn2IqfZdlUB3N3NeYYeItlZ2LBcWENldc3LU9imLMSZXTLWS4XNpizaci1lD5JaRxuKUOY+oQ6hCCkG9clzQQZCEHz0se5jasX8kGzfMoIwmdFbtXOdjLBXOrOjTyQGNn.w3nH.BG.ExBcfScowiEXr+ORzdEIZEnSZvy4l1YS5vQ1blH4gQkQRlmsRhYO0Ng3ri3BxwfAq7GJub4qJillTudERS5jh3PZ2nBIq2waYgN59Dppy7NgQn+47MnaeyMnad+AecLiAibVaFUb7HB6lZa2JIPC9sW0tIDhJ6jOYNfuQjHAUBgRMImCWQR2W+x1MIwuSvGo3MI5DZrWnntRZW+RauEMPxehmv58StF0+7sMtL6NUNMtPlHcxDMNsw.0YtL9iabFOJfD0k9OHl2lSO6I3.53XyqzAI7GldIsu19od0qu4lart2yLHTeJJBx6E4VxyV+oaT+oqAWpyPMKeSp4CryGxZnsvkFMz1WzXDVFxaHzLSTdCgk60LD7F4wYcuMe1y8Vu9lqa86yBYMKJ0Csm5floVs+miZ00uGJbaXdv3PrH+UjkIfRH.GKycWT48MYwTwkl63Gk6MOqv8g1cnB+AEi2EJ.uvA4O13M4UHVwV29PFXWxdu+579jCE+hHt20SNbuIuHDc3nPx9YuHjtRys7hPVVMIg3blt2jOb8u0nf2LpMCt6snCODGMsgew7Z6hyl1VfFtzLGcn5n6Kln4+nsxj+kDfUgDe4.3GXCId+L.t5tt6eHVDQgJG1GMdXWHEuOAfJCpLHauozBxhQ5wtxwR.0kvBTC9U3SBQO43RID8RIZZR9VsI491uAeNQc8Fk03aUi6wiFh1mvHQRak2sjR3eMqOR7nY9QhO1W.P3zHLKdDOl3YJ4onUOetIwXVd10SkiKo5AMXOzfu60Hcx5lSBgE4DFLNmjNjZTf+e+hVLL3z6R.sI33XePYk1Ny3lNigqSqNc3YtvroqaN8KwQAfew+1xW96t5PgOH8W8Y86k+oqMkEmM3VfEbgNW6u3xCRpu1BJ9EBWOXR17d3wghzYyez5PNiOZ.mQy4zOg.YD52mjKVpPEZag.tWa1LeSiSHgDbrwws+RC4Cyfi.6DYNsE2Qk3Ryn+5OaqgKRlO3yqxE+AMrKa+ZvI4K2ccpwzgnIpi2ci1WESNEqfyzcDIWjYtJ0s+y6Xtduoysi4+J8Ou3+G0+7GiTPPMgub574OYC0opiTtaz+682eJZ.5SwdLD6Gwequ9kqjYDumZFPuYp+t2KaenbLxyR8ZVv5rcq4ZMDpq9VeeYL8S.6Swqo9brlmNGqYs4XMqOGqYi4XMOaNVyyu00HaoY6wB9Pc7OLQmVpm3qTIcWcpiBV+FfT1+WL
      

      I'm pretty sure the code could do with re-factoring so I'm always interested in a better version if you want to comment or contribute...

      posted in General Questions
      LindonL
      Lindon
    • RE: Merry Christmas

      ...sliding in late... happy holidays everyone...

      posted in General Questions
      LindonL
      Lindon
    • RE: Have a nice christmas and new year vacation!

      Happy holidays everyone...have a fun safe time.

      posted in General Questions
      LindonL
      Lindon

    Latest posts made by Lindon

    • RE: Player and expansion communication......

      @Lindon or do I have to do this....

      myFile.saveObject(myJSON);
      runSomeShittyTimerToDoTheUnload();
      
      

      As you may surmise - I dont find it "elegant"

      posted in General Questions
      LindonL
      Lindon
    • RE: Player and expansion communication......

      @David-Healey Ok will do but assuming YES...

      Problem #2:

      Just before I unload I save a file....so this:

      myFile.saveObject(myJSON);
      myExpansionHandler.getCurrentExpansion("");
      
      

      What happens?
      Is the file save async? or better still blocking?
      is it running in a differnt thread?
      will it even happen?
      Will it get aborted?
      How will I know when its finished?

      posted in General Questions
      LindonL
      Lindon
    • RE: Player and expansion communication......

      @Christoph-Hart said in Player and expansion communication......:

      Long time that I worked on this, but setting an empty expansion in a full player plugin should get you back to the shell - it's onInit callback should be compiled too again.

      Im not sure I understand what you mean, no actually I clearly dont understand what you mean....

      I load the player - its init executes,
      I load an Full instrument expansion from the player - its init executes
      I unload the instrument, from within the instrument, the player reloads.... does its init execute? Or does it some how magically retain its own state ?

      posted in General Questions
      LindonL
      Lindon
    • RE: Player and expansion communication......

      @David-Healey said in Player and expansion communication......:

      @Lindon If you set the current expansion to "" that will trigger the unload action, so you can respond to that. I'm not sure if that reruns the player's on init but you could test.

      I think a timer and polling on the message thread is the way to go, the timer won't run when the interface is minimised anyway.

      Yeah its the expansion that will be setting the current expansion to "" - so I'm not sure how the player responds to that....I cant see a expansion changed callback or listener...

      posted in General Questions
      LindonL
      Lindon
    • RE: Player and expansion communication......

      @Lindon said in Player and expansion communication......:

      @David-Healey state is simply "open" or "closed" (0 or 1) for every library (which has categories in it) and Categories(which have instruments in them)

      State needs to be transferable BOTH ways so we start with all libs closed....

      In the player we open LibA, open CatA and load InstrumentAA

      InstrumentAA opens and displays the LibPanel with all libs closed except LibA, and within that CatA is also open...

      In instrumentAA we close LibA and Open LibB, then we close InstrumentAA,

      The player opens with all libs closed except LibB

      The problem(well theres a truck load of problems..) here is I can see how I can save state (in some file) and read it on plugin(player) load...and as soon as the user requests a load of an instrument we write the current states to the file.

      The instrument reads this state file on load and sets the display correctly. On instrument unload (so the instrument is unloading itself) the instrument saves the new state(assuming its changed) and unloads itself.....

      ..but I dont know how the player now reads this new state file in any efficient manner- meaning not running a timer every 0.5 seconds to re-read the state file......???

      The player never knows the instrument is now unloaded does it? Or can it tell from

      ExpansionHandler.getCurrentExpansion() if it == "" then whatever it loaded is now unloaded... ???

      Or how is the player itself loading/unloading whilst a Full Instrument is in play? I guess I need to know the mechanics of player/instrument load/unload ....do we execute init again? ...@Christoph-Hart !!!

      posted in General Questions
      LindonL
      Lindon
    • RE: Full Instrument Expansions - how, what where....

      @David-Healey OK well there no way in the instruments to open the preset browser (yeah strange I know) so crossing that off the list.

      posted in General Questions
      LindonL
      Lindon
    • RE: Player and expansion communication......

      @David-Healey --- havent even considered that, any way you want.

      posted in General Questions
      LindonL
      Lindon
    • RE: Full Instrument Expansions - how, what where....

      @David-Healey golden, as it happens I dont have any expansion presets, so do I need the UserPresets Folder?

      posted in General Questions
      LindonL
      Lindon
    • RE: Player and expansion communication......

      @David-Healey state is simply "open" or "closed" (0 or 1) for every library (which has categories in it) and Categories(which have instruments in them)

      State needs to be transferable BOTH ways so we start with all libs closed....

      In the player we open LibA, open CatA and load InstrumentAA

      InstrumentAA opens and displays the LibPanel with all libs closed except LibA, and within that CatA is also open...

      In instrumentAA we close LibA and Open LibB, then we close InstrumentAA,

      The player opens with all libs closed except LibB

      posted in General Questions
      LindonL
      Lindon
    • Player and expansion communication......

      So I have a player, with a list of libraries/instruments that it knows about, I want to be able to load an instrument - but retain this list AND ITS STATE

      Now @Christoph-Hart tells me:
      "and a common shared left tab is not the hardest thing to implement"

      • which is correct - but one that share s open/closed state information is probably quite a lot harder.....

      So the only way I can think of communicating this "state information" between player and instrument is to use a classic file-as-postbox approach ....but but but...

      I have no way of assuring that the write to postbox is complete before opening the requested instrument. Or do I?

      There's no callback for write-to-file-complete, and the write is async I think so it will or wont have happened by the time the expansion is reading the file..so no gtee's there either.

      Anyone put me right or have a better idea on this?

      posted in General Questions
      LindonL
      Lindon