• Simplest Way to Implement Server class, server-side?

    Solved
    12
    0 Votes
    12 Posts
    421 Views
    clevername27C

    @oskarsh said in Simplest Way to Implement Server class, server-side?:

    I've worked with some of the smartest people in the industry and what always amazes me is the simplicity of solution.

    Edit: "I've worked with some of the most intelligent people in the industry and what always amazes me is the simplicity of solution." 🥂

  • HISE's Best Kept Secret: Dynamic Plugins

    3
    2 Votes
    3 Posts
    606 Views
    A

    @Christoph-Hart well true, that's why encoding everything would be a good idea. You can also sanitize it for dangerous functions like that.

    I tested it, you can dynamically add components in on init.

    So you could theoretically keep the entire plugin online and have it rebuild itself on init for a true "live service" audio experience, though that is an incredibly niche idea for an industry where the ability to reproduce consistency is key.

    But if you're working on an open source plugin, you can have it pull your scripts one by one from github, so it's always fresh.

    Then you can choose to be on the master branch or choose any of the commits. For important projects, you could lock it to a certain version so that it always inits to that version. Github has 5000 requests per file per IP rate limit according to online sources. So it's more or less enough. Closed source becomes problematic and you'll have to rely on your server.

    Imagine a software that evolves daily or biweekly. And if you have 3-4 plugins like that. AI related or whatever, something that moves at breakneck speeds. How annoying would it be to have to download 5 installers every other day without being able to keep track of versions between projects.

    I definitely don't think this is something 99% of projects need but it opens a door to something truly next gen.

    Plus, it lets you offload the authentication functionality to the server for those who need copy protection. Then you can only crack it by debugging in the memory or whatever, I'm not sure who the hell would still bother with that in this day and age. I'm suspecting most plugins are cracked by scripts because they use the same JUCE copy protection methods.

    But this is a bit questionable right now because as I wrote in my example, eval currently does not work inside of a server callback.

  • Transport + Synth.deferCallbacks(true)

    3
    0 Votes
    3 Posts
    143 Views
    A

    @Christoph-Hart said in Transport + Synth.deferCallbacks(true):

    deferCallback() for the other callbacks do not apply here.

    Great, this is what I was after. Thanks!

  • 0 Votes
    11 Posts
    553 Views
    trillbillyT

    @d-healey Ahhhh, its all about placement. Thank you. It seems that did the trick!

  • Modula

    5
    0 Votes
    5 Posts
    338 Views
    LindonL

    @problema said in Modula:

    Thanks for answer!
    Sorry, I forgot to indicate that I talk about sine wave cycle of LFO

    if you want a value to go from zero to one for each cycle you are not talking about a sine wave...

  • 0 Votes
    15 Posts
    723 Views
    trillbillyT

    @d-healey Holy Shit, thank you.

    Thank god its almost the weekend. I've been in this dungeon long enough. I've overlooked everything.

  • How to use setGUISelection?

    Solved
    5
    1 Votes
    5 Posts
    166 Views
    d.healeyD

    Ah mystery solved (thanks source code!)

    So the API doc wasn't clear to me. You don't pass an array of file names, you pass an array of sample objects, created using one of the Sampler.createSelection... functions.

  • Randomize LFO + Sliderpack

    6
    0 Votes
    6 Posts
    427 Views
    trillbillyT

    @oskarsh So I've managed to get most off this working in a way Im happy with. I used a script more like my original because, believe it or not, it was easier for me to read.

    I'm trying to disable the LFOs and still control the EQ Bands with the SliderPack. To do this I've used an Inline Function to set IF and ELSE statements turning the Timer on and off.

    I cannot figure out how to then allow the SliderPack to control the EQ Bands individually.

    Any suggestions?

    HiseSnippet 3176.3oc6bs8abbUFeFaONYcaCIgpBUhGFYwCavI16NydKkKYhWuapUr8t16l1zRjZGu6YWOMyNylYl0wtQQMRHjPvCEg3EDBoJgDOwCHPPe.gnuv+.fPBDRnHPkWPnFwkWo7cNm4xY1KyNqsaaZYshVumuy2224247c4b0opkYCjssoEGeh5G1Eww+jB0NzvYuh6opYvs9Zb7mQXSUaGjkHkzpG1U01F0jime1qgIvmXNNxOO5JqppqZz.EPhi6EL0Zf1PqilS.0pJWWSWurZSTcsNLbmQY8FlFEM0M6A3YVgTbcUaba01nsTwrMi.G+7kZp4XZUyQ0AYywO2plMOr1dl20fx+KnYqsqNBWHMWMPQTxkM0ahQLlJWw8zzaV0qeaywwKTMXTXV5nvSKroVSMe5AiFmkTgXfDriG7yDFdyFBdoYgWJF3MDHwy.o4nP5bB0ZXo00InFLddBg0M.iSKUXXmEJTd4lo9SKTzD3vvY4Np2FU1BJ3KQxboRcQQ3iK7EWXAXn21QbeUKwZ5ZMQVUgw9zheYQOwaibJZ1oqoATH4hL7rXXoutg4tiVNRsXIBKfTjBHMn.xQJfLASqrxFkqXyHHTbSyl8zUAaDFhDOcr39TStHviX.SgaXV4khi7RiVd43Hu7nkOSbjOynkOabjO6nkOWbjO2nkOebjO+nkuPbjufqePosYzRUUKHehik1cJscHufRsZgZ.dPALHBbzm6sCHQIi1ZFnkaXgf3bbNLqJ69ZXQos1NWcq0proXksVoR4xKnYnCLK1pmQCGMSCQSiU643XZHgcesL0S1vy28hPCn2CcgEt2BIzZIlzsTBnXhUVgzNK.e0YYajCoTQUc8cgPvjdJOIvMgcQ3GLZ2GPaHudRvROKKn41.sORGCYF1S2G+Rigeo93WdL7K2G+YFC+Y5i+rig+r8wetwvet93O+X3Oee7WXz7G9WqrBMiIdFMWRLoPwVTZwqBYmahNHIjWdeeUEImoANSGOVk.VkhGqx.qxwi0L.qYhGqYAVyFOVyArlKdrlGXMev3d+C7PvO8qgB7wp4pNPgc64fRFtJ75ZDWRLq3WPDaGfeIEzAOJZgXiN9pgX+N9pgXaO9pgX2O9pg3Sb7UCwe43qFhuTfZtO4SZRWGUKZZ2jx3ELk39K.UfzsQ3eeOWdL6RYwSNx+vbdeXpggufE2oCV7BXH5Nofel89ms.OCyBLSxr9V0KsUs0q+RCYdFxZshbVlvSM.MOdogF1ZNGlbSUXRQKUillcRdAbuI7zBwmW4If2LS.uYm.dyMA7leB3sPz7NZat6xfGtEm0tQr29V6x6.IyFtgVZxLzAgBgqprE5N8PFMN7hh98FnChmkIctg6GLbUIMgpRdzpRdBUUlQqpLSnpxNZUkcBUUtQqpbSnpxOZUkeBUUgQqpBiWUQ6fKEkCNaBMxF0DqsYkJ0e9025ZhWamJ2n5H7ykOY7yq0wzzYOMi13z0dZXR7tiiBhzmNNJHRO43nfH8eiiBhzqMNJHRe03nfH8PGgBh1uTNJ+R4vIdwNl0KsYUv87k1p3H8LoSRm9jw2rNBjF1UZiI2ub7BKebDNywQ3rGGgycbDN+wQ3BSnviagdoidgdLS7y3eskoCpBd682CuTxED6upVsFZct5RGufzgTs6RUGsfIM50YWjEqWLlQN94BePmBi9fNYOG1FzgEFFMMV2PyoRWjwnNcVN2wRNN94cQEvpC4HQOi6QhR2NHmVSN9SIPBh4H.1+nkevWSgyW34nBe9PBi2ZIQAOk.ydM8Ti.+o.szT0QkiOkfrzxHiharzM2HkbdsWN25RUbdQIzRU2nZpBEq+xcNnxssM1ZoVEt4kyWjiaTvlZvIsZBAWqee.miKVhS60GKgkNZB6A7AD+QWg6FquFdDiim20FB10tHKGMrKC+Zn80ZfnmscBg0P12F17DfF+.F36i0LefeC9v8UNzuv6rqRG0f5TdSkNZMapipZBqSG7vCp4MTbPG.M0oEnSkf6z9sehIvSIn0dm1LHgKihM8vJ5X1yf4RPDUzbPc7triDyu8u+sdeL8.pRXxdlBLJCX1i5tsCnAa388csZ9cfmvw81Lncfx5lpNjIKgXSbW3SIvRhsSnfX5Du0gJtVPp45YDVyRscaUHDurltCdHv.oGBMdHbfN4ACoS502ItK76HbuEDEWzOIv5MW74D6+PYuHlExw+.UdozjhkgLcl28EMstscW0FHnhVp3smeet6p0DLs9YCtixdHs16EXMTdUE1gMgXDmx3485r16sbcndBA+4FBYRlerAwAZ9Aayp4ltZNg.cGmfIzdSyNfVUs.13mYRZFIVa8qMrlYdA7x+ipMDhQVgfVg6qDNrf1JmRnp4cgfZtAuvqyJ3OQK68ugOrF2JvQxrW5k+NwYSCchcobwEhmSnplSi8FNFmYHXDxP9AAFcuJymRfduFA.bNgx27Cl6sjs4+b08Rd5XgT6.4Xpo1oKrTDBFVPvsT5ShaTtaruQ4pVHHiWyZZuNCauixp8fwHqvT+IJjlp+D2cUbQ9NntHU7UOwHyoU1YmqYY1qa+R8nqPbJpaASV.CErUTw.Ai0Nr8whVl11sftCQW1rUUsmUa7XU.kcP6irrCSaqdc.6sAjUFu5LddfzMrQX6qVCXq7VZGvxMoURUWkXimQfVNcekk5qrbekyzW4r8UNWekyGTlWHr+27wa4jap1kLwCCmqp45kA0QoLl69e9G6t6+OFjILzySHgGFqogG3KYrODgATvX77v55Zo1S2wipTHTtoogY28LMzZD1eF7Oa2FYwh8g1gfckgWLlOkmVYGjNR0lIf7yqrArUcUqvgoSzXQ5I9oZLT60mUfBWQbJJwO9NC1rehdFL9YFz097vZTzOj5nRWuKADIDnEhZFLNN+yP0m3232orMq4Mrq4EU1tmpdvnq3y9Y9EWcUstl5pVG2Q9w3IOWLcOdFA+N0i69wja16ilbjmlAjmkBRAgMJWwM4c32YTj.S4+b2+1UFzOBVrAdEOqavtO2WTceTKSqNt6q1uesApMzPrTB1dBiyTnySk83S1vzraIC7L1MCsnl8frsUZ0xFEZ8KX0V2j9tAKpaxlilia81FlVH5IZEZQO8rcL630A33KIjovxg+Y+J3OWB+wkKRJ2Kmy0WpJZGT1hd02ZIF94p4f5R2W4WUHWlk8qmHubkSlxmfAgyDSe6OMwCx2UA6K8XXDHEkgRW7QDJGWHnTj35Uyk9cGVHn3mrCAyJHmargfSC4lFxcjB4jiDWO3Mele8vB4RNMjaZH2zPtiVHWlHw0C+Q+3u6vB4dzUlFxMMjaZH2QJjKazyx8a+y+zgExc1oyxMMjaZH2QKjKWj35s9Vu8ecXgbWbZH2zPtogbGsPt7Quvxu2+3u++gmf4zPtogbevExUH5KM3T2+OM8DKmFxMMj6DBkOqf6svRP5i2W74YD19id.dIu21awdV6iJcG2bXgeHmgv1V85PuRcxiV5zf5VU0nYJuEQX80SofIj1C5m6gWlPPhM8Flfb32PlQyLr6rFSHq29u+m0RSHjyqUJr30HDx2uRKzuRub+JMsGT49N+xbTJdX8g2XlcoTF.roG.soG.to8vqxY9W4oT7.r32+cOfRY.Dmd.Hmd.LK4g4W87+WJlk7w7AeyuMkx.XVZ.LKM.lk7vr368GVgRwGy+b9eHkx.XVZ.LKM.lk8v7CN28oVOYOL+fev+9soTFzoX.LKO.lk8Gmu0ezUydXV4W8y9MTJCfY4AvrbHLWtbc+oA4mke1SnoA31wrG9sa68f9Df3mZl8rZfXe6eyfmkjVNEtLYpVDIrRf+8gebqLs2CEDWYZuJieFG56tSrF9OS5GCSI9jBjWcnHd0OeXBuOLrQM7TEzeb+Nc0Lyh7c6lQG+eOErKcxtWqVXHMi.7chwqC9QSxG73SU6zQMznBOkON9E1wD+hUE3+RPEaXdczgdv940bK7FjZdAba5UiaAbMtOSVu9Cj128+km1T3ZO2sRII97qWqzsveHtZOXL09Vk.7gLbDuj3ZVlFH2+SX4VT2N6aU+l0EulNXUOTDLBcP1KeW084VqWWcsFfMDOBfWNJ08DZ02K6Lbz0m1DW7uTX9ObrUcTaXY9JMn+k0PdmPDJfsxfz+SHrItrXve6QBoVNEWGslZuRiF3m91kRywMbYjNBxHeDjIyQPlrGAYxcDjI+QPlBQJC9Q+d0dvtLnKlBHTsDM7hmIqN2+CP54ziL
  • Is there a way to view the various popup windows in HISE?

    2
    0 Votes
    2 Posts
    175 Views
    A

    @aaronventure

    For posterity: the alternative to this is to use the ErrorHandler and then do anything with certain errors including custom panels that have flying dragons or whatnot.

    The error numbers important to 99% of projects are as follows:
    // 0 : Plugin broken
    // 9 : Linkfile missing
    // 10 : Linkfile path incorrect
    // 11 : Illegal Buffer size though this is no longer an issue and will only show up with hip buffer sizes in FL studio
    // 12 : Engine.showErrorMessage

  • 0 Votes
    10 Posts
    340 Views
    A

    @d-healey HISE discriminates against short and fat vertical meters!

    Good find, sensible implementation. Thanks!

  • Going Not-So-Easy on the Timer

    Solved
    12
    0 Votes
    12 Posts
    355 Views
    A

    Well, JUCE 8 looks like it'll have full animation features so hopefully HISE migrates over to it once it releases and we can have proper hardware-synced animation without all these shenanigans and workarounds 😆

  • Execute .sh / bash script from HISE

    Solved
    3
    0 Votes
    3 Posts
    257 Views
    oskarshO

    @d-healey I knew that there was a function thought it was startAsProcess.

    Thanks alot, its just to damn hard to find anything in the docs.

    Here is a code snippet which gets the current selected Theme in MacOS.

    const var b = Engine.createBackgroundTask("GetDesktopTheme"); b.runProcess('defaults', ['read', '-g', 'AppleInterfaceStyle'], function(thread, isFinished, data) { Console.print(data); });
  • Find the Length of the Undo List?

    Unsolved
    1
    0 Votes
    1 Posts
    73 Views
    No one has replied
  • How to Set the Font Size for Combo Boxes Inside a Viewport?

    Solved
    2
    0 Votes
    2 Posts
    120 Views
    Christoph HartC

    @clevername27 the laf also applies to components within the viewport so just register the laf to the viewport and overwrite the combobox draw methods.

  • Canais separados para DAW

    5
    0 Votes
    5 Posts
    174 Views
    A

    @d-healey Meu muito obrigado, tinha desistido do HISE pelo motivo que preciso de 16 tracks mono para sair na DAW, como peças de drums, mas vou tentar novamente se caso der certo vou entrar no petreon para me aprofundar mais

  • How to Do Drum Machine Style Sample Transitions?

    Solved
    4
    0 Votes
    4 Posts
    208 Views
    d.healeyD

    Some info in this thread too which might be useful (might already be covered in the docs of course) https://forum.hise.audio/topic/6609/choke-group-processor

  • Dynamically loading samples (Sampler, AudioLoopPlayer)

    8
    1 Votes
    8 Posts
    829 Views
    trillbillyT

    @oskarsh ahhh, I was changing the "0" for the key. My mistake. I will try this again when I'm back in the studio. I appreciate your help.

    Yes, I do need to get through all the docs. Definitely not where I'd like to be.

    Goals...

  • Combobox - slider control

    7
    0 Votes
    7 Posts
    297 Views
    P

    @d-healey Ah that's it, knew it was something simple! Thanks.

  • Method for detecting whether the samples were found

    10
    0 Votes
    10 Posts
    574 Views
    LindonL

    @d-healey @Christoph-Hart

    -- well whats wrong with it is that it just didnt occur to me.....;-) So ignore me..

  • 0 Votes
    1 Posts
    110 Views
    No one has replied

30

Online

1.8k

Users

12.1k

Topics

105.0k

Posts