HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. ericchesek
    E
    • Profile
    • Following 0
    • Followers 0
    • Topics 19
    • Posts 85
    • Groups 0

    ericchesek

    @ericchesek

    7
    Reputation
    16
    Profile views
    85
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online
    Age 30
    Location Hicksville, NY

    ericchesek Unfollow Follow

    Best posts made by ericchesek

    • RE: Words of Encouragement for Students Learning HISE

      @skyscapeparadise
      Yes - the documentation is not amazing. (Sorry to people who worked on it.) Coming from a platform like Native Instruments Kontakt, their KSP guide includes examples and use cases that are decently commented. At least they tell you possible values for function arguments.

      So my encouragement is to USE THE FORUM!

      posted in General Questions
      E
      ericchesek
    • RE: Text Kerning / Character Spacing?

      I see the source of my confusion.
      Using g.setFontWithSpacing(font, size, spacing); results in a length of spacing at the end of the string.

      For example, if I write
      g.getStringWidth("TEXT");
      I expect TEXT's width and spacing (shown with underscores) to be calculated as T_E_X_T.
      Instead, it is calculated as T_E_X_T_.

      So using
      g.drawAlignedText("TEXT", [0, 0, this.getWidth(), this.getHeight()], "centred"); doesn't actually center the text due to that kerning offset.

      posted in General Questions
      E
      ericchesek
    • RE: .HIPs and .XMLs not loading properly after recompiling HISE

      @d-healey Never mind. Something went wrong when I compiled HISE. I suspected it was a permissions issue since HISE normally asks for permission to access folders on my desktop on first startup, but this version did not.

      I deleted HISE, recompiled a fresh version from github, and now everything works as expected.

      posted in General Questions
      E
      ericchesek
    • RE: Multi Channel / Multi Output Help!

      @Soundavid

      That was indeed the issue! Thanks for nudging me in the right direction.

      For anyone else who comes across this issue and wants to follow along, I just decided to hard-code the output routing in the script for testing. I am still learning HISE, so I do not claim this is the best way forward!

      1. Right click on your master container > Create Typed routing matrix script reference
      2. Paste the reference into your Interface script onInit.
      3. I added a simple for loop for 12 outputs.
      // Typed routing matrix script reference:
      const var Container = Synth.getRoutingMatrix("masterContainer");
      
      // change 13 below to your number of channels + 1
      for(i=1; i < 13; i++){
      	Container.addConnection(i,i); // 1 to 1 channel routing
      	Console.print(i); //check for correct channel numbers
      }
      
      posted in General Questions
      E
      ericchesek
    • RE: Detect if two paths intersect

      @ulrik That's an interesting solution! I came up with something a little different. Any XY cursor and pad shape I use is likely going to be symmetrical, so I have the XY cursor area bounds set to a smaller version of the XY pad shape. When the mouse cursor moves outside of the XY pad bounds, the XY cursor locks to the smaller XY pad shape path. Not perfect for all shapes, but maybe close enough for my needs.

      That's probably difficult to read. lol. Snippet below.

      HiseSnippet 1395.3ocsW0saaaCElJIpcVaEaEXO.D8lo.n4ZmD2Mffh0DmjAiszZT2UzBCiBFIZahHSJHQmDg0bydr1U6QZuAamCorMUiaVQvpgUh44O9wye7n94pXdQgJm303UkYbh2W4OnTpm1cJSHI8Nh38k9GmlJxJ3u4sjCKyXEE7Dhm2l+LJfWisHlO+8OcHKkIi4qHQHuVIh4+pXlPuhZ+m8KhzzSXI7WIl4H8dOqWrR1UkplCfYS+VjLV74rI7myPw1vm3cuiSDZU9.MSyKHdacnJobvT0kRq7uVTHNKkiKZSF.FxR9DUZBhXjJo6TQZR+EG5BBXk9qbAaZcAeq+ohDwR5qbEeigAckFt9CuMpCuMqAu1tvqkC7VCj7bfzVVH8P+Aw4hL8JN1PSOolmOlAtcWnXkkrwede+tJPBot4L147SxgEK0H7IsZEQg+r89AAO9wz9LIOM.hAEZ5ErbZlL8Muk9T5BKLgq6plkojvhvGY39HP0akcyBjpTmqR6xRSOChngJogYE4pMuaNG7ZTXCyXIQTPV0k7DJCHCqjIz344vo1AdWU1mom5fuXiIPhgfQWIXks9Dk1tOeTAQrdUoAW.R0SqAnCPpOkNbmNQv2NcZgOi1OvB0lrjjpJoPqrKN61szZNyuQQeIOVyjSR4gCAy0JZuVQsaMBw55DADnCvGjZzZNNU.qRSHRcnZtLoHrcyVaafvAN96O7bU4+Vb31qSD7sCrWvyn.Guq6AzQopS4op4Eb5THVlJjSBL4.X5gg9xjiwykwZgRFxu.b9aG76AMDio1UMSxYSnu+8T6p3TQ747jsCZ.BYjxEK.90PYaQ3PqzWEY+e4nsAMLpzPOUTzLgoYMEE8jEhDNb.04y4.hqw9JfdkY1uNmxkbJ2uAv5Z3gmVvu0sXLCjvXH7A7MiEPFtdJmJvhyBtwEPyTvR5Yb8kbtjFyQdT03ZEGlZiYFWaUEBXQLpUyRO0sH.i+8b3FNzIXMbmQOdmHWB6BDFEcCuXjwQs8xSQcmk6tODKAtgSqlDsMRbM50MRECoIS3IPAGX6qoAWWkCcTN6RzcmWpqkC0Ghz5WplCT4qRgl.oOf9XEFKMddJ1fAcWEPSZtwcacYeWgouipPXbVAF+GdJbOSeuSojwIsuUtxZxUVWtcMxEzXRywvcdPQVn89shlSx4knyy.uD7Xg3YQmE3j.EIbTQSCTTmkpdVJTnf5NAKHtrdKkH5tnuplUMkx4fKZQNyRyCRU2HNA9n12De11yKyzVO5rYE1irosoU7ngWEUFUyIFUyUgMtVDneIOCColMMCuWhBAlX6MFABIhd5h3Ls9EJgwKtEJBZegnAahrjXybqowl4WuefiQdtRyegLzHdv0AzOj03wqkW01lxyWKabHm7aSwP47YmwycAKJHbye8wI7+3iS3NsSr8ZKGAUxdRg9EYb4GaFHR0ccvu9sdGA4w3LHUz.4x34ZABAui3W.CzYmHog+Q7hy0pLirUdWhWf1v8AKlWACdDALUx88MQIxUtCHV5t3RQhd5RB+0e7robwjoZWJl7yEWV.H5q8ghJ5JBmMYw.jMt2+.eP0DZ9rai5NtjI2bzKXnOUB18n9jf33uULf3YswuvtqPudco63w+uMd3mJDeneegNd55w3FqAiPT+yAFqFp9A9GOdLzueE.2x+j274YBZh8tfImxz4BHgy+4ymM.B0wbX2kPFIVO4sAl4aW2BWidfAbYhYAlPTwrMt1qhY6ELIyXw4p2U0TBGa+KLT.LIMuwRC+Sw0z1DSksqedF7VDuKNttotgh6bWUb26ph6cWUrycUwmbWU7GtqJ9i+2Jhuj2Ay0pY1xFB4z9GaZK54crjAYflrUx+xLqGow
      
      posted in Scripting
      E
      ericchesek
    • RE: Why Doesn't This Choke Script Work?

      @d-healey said in Why Doesn't This Choke Script Work?:

      @ericchesek

      @ericchesek said in Why Doesn't This Choke Script Work?:

      The loop is just so the same RR value never appears twice in a row.

      The loop is not needed - https://youtu.be/8NtZJonqXLo

      @ericchesek said in Why Doesn't This Choke Script Work?:

      Thanks for the note about local vs. var! I'm still trying to figure out the appropriate uses for these data types.

      Use const in on init/namespaces for fixes values, arrays, or objects. Use reg in on init/namespaces for values that will be changed. Use local in the default callbacks and within inline function. Use var within paint routines and anywhere that won't let you use local.

      See here - https://docs.hise.audio/scripting/scripting-in-hise/hise-script-coding-standards.html#variables

      @ericchesek said in Why Doesn't This Choke Script Work?:

      I capture an eventID when a PlayNote function is triggered.

      When you play a note you create a brand new note with a brand new ID.

      @ericchesek said in Why Doesn't This Choke Script Work?:

      I attributed it to the MIDI list storing values from -127 to 128 using the setValue function

      A MIDI list is a kind of array with 128 elements. It can only store integers.

      789b4eff-d929-490b-9e4f-0ceae8f67523-image.png

      236bb08d-fef2-4227-b29b-4f57b7958e45-image.png

      I love you, David. :grinning_squinting_face: Seriously, thank you for your willingness to help.
      I'll be back with a solution or more problems!

      posted in Scripting
      E
      ericchesek

    Latest posts made by ericchesek

    • RE: Can Table Sliders be Knobs?

      @rglides Any chance you have a link? I browsed the snippet database, but I'm not sure I saw what you were talking about.

      posted in Scripting
      E
      ericchesek
    • RE: Can Table Sliders be Knobs?

      @ustk I will leave that to the masters for now and muscle it in with a custom panel. Lol, thanks for your help.

      posted in Scripting
      E
      ericchesek
    • RE: Can Table Sliders be Knobs?

      @ustk Yeahhh that's where my initial question came from about viewport sliders responding to the same JSON properties as standalone sliders. Adding these properties doesn't seem to change anything in the viewport, unfortunately.

      posted in Scripting
      E
      ericchesek
    • RE: Can Table Sliders be Knobs?

      @ustk Okay, I've made it far enough where I can change the look of the sliders to anything I want by using LAF.registerFunction("drawLinearSlider", function(g, obj){});

      What I really want to achieve from that point is setting the drag style from horizontal to diagonal like a typical knob-style slider. Is that handled in the "feel" portion of look and feel? 😁

      posted in Scripting
      E
      ericchesek
    • RE: Can Table Sliders be Knobs?

      @d-healey Thanks David.
      It seems I'm hitting some limitations. When sliders are added to a viewport, do the sliders follow the same JSON properties as a typical standalone slider object? For example, should I be able to set

      "Style" : "knob";
      

      in the viewport SetTableColumns function?

      Docs link for quick reference:
      https://docs.hise.dev/ui-components/plugin-components/knob.html

      posted in Scripting
      E
      ericchesek
    • Can Table Sliders be Knobs?

      Hi! I have a scripted viewport that I want to use for creating MIDI maps. I like the workflow of using a knob to quickly choose a MIDI note, but I see that the default component type in a viewport is "slider." Is there any way to change those sliders to knobs? It can be using filmstrips, look and feel, or any other method you see fit.

      Here's a snippet.

      HiseSnippet 1408.3ocsWs2aaaCDmJIpnw6AVG1G.B+GCNqdox4UaSV1ZicxpQqaCpSSGPQPAsDkEWoIEjnahWQ+5t+deC1tSOrjbraSMvT.B7893c+3oSmFoc4ww5HhUsylDxIVesc+IJSP6.lPQ51gX8s18XwFdDMk0QSBYwwbOhk0p+NxvZ80HIO+yucDSxTt7BVDx4ZgK+YhQBSA2SezSER4ILO9YhQkzdmG00UqZqk5wP9rpsCIj49N1P9yYnZqXSdBKNfX8S1asku6Cbbdv1auqCissGisSK91Oj6umu6tNOzwavtNve6Qrt0wdBiNpugY3wDq0NR6Moef9RUZ.NWDKFH4HQKReHxorOQK8viHxkzNPH8NMuPES.ubZQYa0zx1OX2S3Ilxun78cIBnEVTt.ZsR0za0JoWqEkdyIkrJkRqklR2wtuajHzTHAymuxtqB5l9LnOUNUR0krh511s0fFJyliXuieRDPL0hF643zjB+aiCpUC5UwF56YQzQrvPgZ34B9kg5HC8PZtKFxMs0iB0JfnQ8PkzoNZ58tGsC2Wn3TVjQ3NVxLBvaTlxiZB3hHpG2mMVZn851oKUogpSo3U0nCouoFEdpelNrdyzelj10aRSoNBfQ4RNRaL5Q.0EPdLShuYL2bFCJ38zd7Fen150eo9xmvECCL02mtqSSfSOHqD84RtKFcfsIZLuYsOhGqRmKC5FpqVNdjJdgwocp7Fuo1GRyttc.OVu74KOueFa.WhBe7bDhMbT1Y7qL47dsvyD.LaskSsO1rZ.vB5aUiGMfGMsHMM.OGDRedlvaf+cVj+gasWK6ScdIIKkqikBuhrqhym0u8qn5TOeemLN8DpyYxwntSYwtJWuetUAub0Zs08yX12vC6K9qDlSYMQlD2mpzCfnNa5K4rnq2SeVYt4Y9QiAjZAWr9.bm8jrKThpcQ1kp1QbXPRF3yiYX0vqKIjc.J7pB.6QdwF.jkzLNjt8dGPAi6ir.TZwcNZJDoVMecDsg.T04.pf9KUu.tojqFZB.I28tajcZmFx2Ht.LKkYRdWAaueUOAJ2rPyxfz8Kkv2kJtlVHfZe5wpgvcObnCNyEUFQZMpX5FyZaFVZwQHsksO0mIi4k3WZvPByOd.zIvtPetAmhUtMrnA.v7ErJ0XZ8JqQ9XOOpKSJG.StnX0OMKotAL0PXVnPIwoL9iUIignZ0LQ.G.GokMzC9y7dhvmhjah3K5gGN8pwFIRKZQRMDYZj9xtJO9UP2CMJm7fYTSwuLCE0iYB.0Fq7Rhx6waKaTn9ze.mtWE5k.SCRqNIGPSfHFC5T8JfP4w9hMKAIfHlE6CtAl.v.vfEfOx7yF2.Gk0FlSrWv4KCCHhCkrIS04KANj.sPj0BeIRFNowh.AfSJATvz9EpFHpXcvszYE46OWYY9RxilqXbStnOkgMRaaMoo.ibEgsUptBzstYq.4ltfQIE0ptJg4Eg7L5O8NbjrMTvUmxxPPUSxhSee1hSbu7BIQ.N5V139Kjj7u7JtjW0EaU4dBbJDnPNLXCOOVc3uGVANckr0s6viemQGlna1dQfmuIw8phX9qOZRYhKwWEPrrs9wUHjfjoRH0emrq80VKDVHU6gSbqtkJtKel.nuUY0Pb8OUrvLo7t9eAqt57IWc8llh2w9TgwMX943JyIGgFx+G4X1B+ei8w99vRfEI3Z1m7GK618elv+R8X7MyvH1HAfCrgsy5CejjKGhtRwkwX+dEDUmR6fzXEnOW4kP7uvSlvVHsUlvV4BIiXtQ525ldW.+jhamvAxIUxmesN7cf.Ms00uALBll9VW2pt5ZFt0xZ31Kqg6rrFt6xZ3dKqg2eYM7AedCwW183wvW8jdsgP5c5wISrrrNVguAIAsR9O.lMlhT.
      
      posted in Scripting
      E
      ericchesek
    • RE: Multi Channel / Multi Output Help!

      @WepaAudio Here is the snippet

      HiseSnippet 1272.3oc6Y0saZbDEdWfMxPZqZpRT6kihpTsUnFuKzzJE0ZrMXWTCAjwwN2EMd2AXpWlY0ryRLpp22Gu9HzGA+FzdlcAyr1DfPRZTZAYYw428aNybNyGPaA2kDFxEFl4OYT.wv7Sr5LhI6ePeLkYznlg4mY0DGJIBThp8GEfCCIdFllYORovLeNi3WWs69XeLykLUkgwobpK4ozAT4Tssq9KTe+CwdjSnCz7tR0Ftb1AbedDfmrV6XDfcu.2i7LrxsLVFl2otGUxEcjXIIzvL29buQc5yeEKw+Sogzy8IJAaiNPhRT2ZHQLjRd0gbeOExUVMNnO02q8j0enAj71SqFYSpF22pI0ids9oUkOO1.ZZD50EyLogY1Tvz90AyY.ISMHkKAR2ypiqfFHmZQgm6Z0fAaRcwP4WGJI9Zj4OxZc.G7fI2d.9BxgBP35H17w6rSQD7usdRgBvVPnDMDKPI66wqYzOhhOVrcOh7Xdjjx50DKEzK27g5mNdnJAkJgNCOjzkKFfNhvHBLTJrQzPj.hj3gjbjdPH6G4flcTNyIpxOpRgBZPbarmGrDYDWIky1ztn8VOAAYUAWRp0BnHHRhrUoLvOpmlp4jPmhNKHgN2NgNyIgkKVdAIr7sSX44jvJEqrfDV41IrR7F1Qbkk5WFvERz29SSdGND0.NMHhF.GbT90bDhDaB1PNsyIk164TTWpOIDQXPqEJJ.AoV4Ib77WAbEVpFYXo8oLrfRBKseDbBOrTSraqNunz4JoRwdCHQ1mGRTgOB5+Q016ruIbBV6pZbEgEAeHLjOG6k3zXyvefAUHpUAzxI2taDKtnf3rmwkjVrM2pvuUHegeu.5ll51cl1TsKBtuOQLSypQWh4E3lrnAmSDEgVI+Hx0NB8woGNbmka3faR2qlibVCFU1JfLVd9S2LF29Cu64MpgkX0zkw5.+BHBIUAGSX+BFYmLqIuUMR3ERd.Lz9VChfQfbuHeUep9bQ0kBiM.0iTCiTCbXgT4H8KMt4vxbu95wNZ0iErZWR3dOq1Toa+Yi2Ly.uPU68MdGe0ymZUuaWnCZJXyYc3Kl68LuygxCRfxcsTiliu.HFHOvZFC3mCyf+bYYFDrzLCZ4JAHbh.yBCfwF15Y9F1bzsUiHiXocOQUJuTKuCgkms9A0IJ07bipswrTICjSkolzK0EqyvvFRGBrZ7ZE5BKVUsS+ozNxOjbF0S1WKu+klZGc0+LV3A6KtoNflM8oBqka.S59VM++Pyd5e0ABu8yuxtbvcAj8xOAicnCB7I0YCI9vP5XL9EvT4t3He4Dso68ZxY7f9bFM0ohiI.csd8HoNrMyEzdRIP6dpl6W8XhOAGp0O90UeJkQvBnNQVwZwaNw2Yte8UVIvEoFXf9uw8NY+e+8NyuCElo9wyN8WZAy4cPwa2nO762o9vavcCOKZPG3RUWBfX3CR3qtuvLihtXh7NJYEb5.D7iE9a30Xi1JYywFsmXbEIP37w.Ahq1ckIPrQ0YPfv3Mi.wU6tl.wZBDu6IP3rl.wZBDqIPrl.w6IBDYlGAhr2h.wMdF4m4yH2aEIkwFclHqL5bCik0Mdsfw.rqf+R2jukO0nlMh0.ULV7uSQdqlJYjsQ727m9Vx.3RqW55lNU2JPmUMvxqZfUV0.+tUMvGupA98qZf+vhCTwoXuHIePRGFP9pc83upTSyDdWwMaF+iGdZVZ
      
      posted in General Questions
      E
      ericchesek
    • RE: Multi Channel / Multi Output Help!

      @WepaAudio Sure, give me a little time. I'm not sure I fully understand your problem. Just so you know, multi-output only works properly after compiling your instrument to VST3/AUi/whatever. It will not work in the standalone or plugin version of HISE.

      posted in General Questions
      E
      ericchesek
    • RE: A "Searchable" Table Based Midi Browser

      You can also select lblSearch and enable "updateEachKey" for a search that doesn't require you to hit enter after typing. ;)

      posted in General Questions
      E
      ericchesek
    • RE: Detect if two paths intersect

      @ulrik That's an interesting solution! I came up with something a little different. Any XY cursor and pad shape I use is likely going to be symmetrical, so I have the XY cursor area bounds set to a smaller version of the XY pad shape. When the mouse cursor moves outside of the XY pad bounds, the XY cursor locks to the smaller XY pad shape path. Not perfect for all shapes, but maybe close enough for my needs.

      That's probably difficult to read. lol. Snippet below.

      HiseSnippet 1395.3ocsW0saaaCElJIpcVaEaEXO.D8lo.n4ZmD2Mffh0DmjAiszZT2UzBCiBFIZahHSJHQmDg0bydr1U6QZuAamCorMUiaVQvpgUh44O9wye7n94pXdQgJm303UkYbh2W4OnTpm1cJSHI8Nh38k9GmlJxJ3u4sjCKyXEE7Dhm2l+LJfWisHlO+8OcHKkIi4qHQHuVIh4+pXlPuhZ+m8KhzzSXI7WIl4H8dOqWrR1UkplCfYS+VjLV74rI7myPw1vm3cuiSDZU9.MSyKHdacnJobvT0kRq7uVTHNKkiKZSF.FxR9DUZBhXjJo6TQZR+EG5BBXk9qbAaZcAeq+ohDwR5qbEeigAckFt9CuMpCuMqAu1tvqkC7VCj7bfzVVH8P+Aw4hL8JN1PSOolmOlAtcWnXkkrwede+tJPBot4L147SxgEK0H7IsZEQg+r89AAO9wz9LIOM.hAEZ5ErbZlL8Muk9T5BKLgq6plkojvhvGY39HP0akcyBjpTmqR6xRSOChngJogYE4pMuaNG7ZTXCyXIQTPV0k7DJCHCqjIz344vo1AdWU1mom5fuXiIPhgfQWIXks9Dk1tOeTAQrdUoAW.R0SqAnCPpOkNbmNQv2NcZgOi1OvB0lrjjpJoPqrKN61szZNyuQQeIOVyjSR4gCAy0JZuVQsaMBw55DADnCvGjZzZNNU.qRSHRcnZtLoHrcyVaafvAN96O7bU4+Vb31qSD7sCrWvyn.Guq6AzQopS4op4Eb5THVlJjSBL4.X5gg9xjiwykwZgRFxu.b9aG76AMDio1UMSxYSnu+8T6p3TQ747jsCZ.BYjxEK.90PYaQ3PqzWEY+e4nsAMLpzPOUTzLgoYMEE8jEhDNb.04y4.hqw9JfdkY1uNmxkbJ2uAv5Z3gmVvu0sXLCjvXH7A7MiEPFtdJmJvhyBtwEPyTvR5Yb8kbtjFyQdT03ZEGlZiYFWaUEBXQLpUyRO0sH.i+8b3FNzIXMbmQOdmHWB6BDFEcCuXjwQs8xSQcmk6tODKAtgSqlDsMRbM50MRECoIS3IPAGX6qoAWWkCcTN6RzcmWpqkC0Ghz5WplCT4qRgl.oOf9XEFKMddJ1fAcWEPSZtwcacYeWgouipPXbVAF+GdJbOSeuSojwIsuUtxZxUVWtcMxEzXRywvcdPQVn89shlSx4knyy.uD7Xg3YQmE3j.EIbTQSCTTmkpdVJTnf5NAKHtrdKkH5tnuplUMkx4fKZQNyRyCRU2HNA9n12De11yKyzVO5rYE1irosoU7ngWEUFUyIFUyUgMtVDneIOCColMMCuWhBAlX6MFABIhd5h3Ls9EJgwKtEJBZegnAahrjXybqowl4WuefiQdtRyegLzHdv0AzOj03wqkW01lxyWKabHm7aSwP47YmwycAKJHbye8wI7+3iS3NsSr8ZKGAUxdRg9EYb4GaFHR0ccvu9sdGA4w3LHUz.4x34ZABAui3W.CzYmHog+Q7hy0pLirUdWhWf1v8AKlWACdDALUx88MQIxUtCHV5t3RQhd5RB+0e7robwjoZWJl7yEWV.H5q8ghJ5JBmMYw.jMt2+.eP0DZ9rai5NtjI2bzKXnOUB18n9jf33uULf3YswuvtqPudco63w+uMd3mJDeneegNd55w3FqAiPT+yAFqFp9A9GOdLzueE.2x+j274YBZh8tfImxz4BHgy+4ymM.B0wbX2kPFIVO4sAl4aW2BWidfAbYhYAlPTwrMt1qhY6ELIyXw4p2U0TBGa+KLT.LIMuwRC+Sw0z1DSksqedF7VDuKNttotgh6bWUb26ph6cWUrycUwmbWU7GtqJ9i+2Jhuj2Ay0pY1xFB4z9GaZK54crjAYflrUx+xLqGow
      
      posted in Scripting
      E
      ericchesek