Forum
    • Categories
    • Register
    • Login
    1. Home
    2. Oli Ullmann
    • Profile
    • Following 4
    • Followers 1
    • Topics 107
    • Posts 672
    • Groups 1

    Oli Ullmann

    @Oli Ullmann

    I am a composer for film and advertising music and have worked for clients such as Porsche, NIVEA, Bugatti Automobiles and German Television, among others. I am currently building a new audio brand called studiobro.net.

    174
    Reputation
    109
    Profile views
    672
    Posts
    1
    Followers
    4
    Following
    Joined
    Last Online
    Website www.studiobro.net

    Oli Ullmann Unfollow Follow
    Beta Testers

    Best posts made by Oli Ullmann

    • HISE as a 3D renderer

      Hello everyone,

      For a project, I need a 3D cube that rotates. I asked chatGPT if it could help me, and it actually worked! :-)

      I'll post the code here in case anyone wants to play around with it.

      I'm still bothered by the fact that the cube changes size and “pumps” when it rotates. I still need to take care of that. Or does anyone here have any ideas? :-)

      Have fun trying it out and with matrix multiplication. :-)

      I have translated the comments into English for you.

      All the best from Germany,
      Oli

      HiseSnippet 2102.3ocsXzlaaibkxIJsVc21t.8.Lv+nfxlRQTV9q0caW+gbhPicDrbbiqgvhQjiDmZJNDbFYIk1Tz6POM85zSPuAsu2LjTT1JYyZfJaQQ99ddeMyicSDdLoTjXUpxUyiYVk9px8lGoBNIfxir5bpUoeY4yoREKgX.c77XpTx7sJU5YuBATZ8mao+7e9CGSCoQdrEfrrtVv8XugOlqV.s62+G4ggmQ8YWwGWf5VeeGOQzIhPwDvddV4FVwTu6niXWPQxVqr0qox.qRaV1c2lC2ys0.3uCZtaK5fg62XeW2CNfxNXHqoeqc81m1nUCqRunsOWIR5onJlDD5wB+48BDSiLJ3ZtjOHjgO3Z0CzrAr0IA7P+tYNGokUom2cgq5YFW0uo74bedN7EtresFAYAGEcZkV6yYRt+DLoRELomaLouobOuDdrZAFzd9Ek6DAQvgTH1TzTLzZs1+5qJeh.nHRUeL8N1YIvC4bXuaiFND3R0CqT4kujTqVMxkBv34QiHaeJwax.FgGQdcmdsQjYzbzDUfH4aIdAT0q5dEYJWEPnjPtRExHArvXxvDwX.jjONFAMYLMhLfgxEkCJH62Fq3hHZnCYnHgHCnIwPpXHOhIIBPo7S61oZkLqWxTuSxdMeTvkLoHbBx6YhjtzHVnzVkLgktH7RXf2mDiHp.IcRE4dJjhCqEMwjuijISpuuFj8F4X2vg31.+BRKGHpb6Mlx8UA.9s2eEHCXfko9TXogghom.WG.Y8RfpMNJLjr.Ppo2idOijnC.fCPhYQn62rTVHRephVmFMJj8dXwzndiCIDBv9kYbNYL48qj9a9jzeyCoWFyX9ox2cmCKRubDS5ELkG4yGcGiqVIqoppYiCeHZLBeU.26NHPKApbquiY4iz8sj8I2yRTPqEIwl4OhQBYQif7qlNDOFl4RhE7HEwtgC7W0pEhwW29xq5AR71JqeaMWG8+8cH2RV9dR180VbOn9.NlUjyJo.qjBrRJvJbu1SduHIhUouYYzFLZv1oRH14ylAgOdBduw7JZusO8Usyr2FNfbu00oIbsoy1v0scZ7.CqkyN.7cb1Ettqydv08bZYnwXAnXZoEyNZwrqVL6YLxdPnBDSpUhUofub3jHOcLsBOBCL4.v7v2ei88ND5L367pU9qUVG3aVdBZk0CEdzPh2LXIbNUET2SHsoyfj4TLxbLRdzRXPD2eai94.lqA31eSPZ0f6Z1eS4rbreHCKHwsLX8.rZCZ9iMn4KYPyKXPyWxfJfYVS.CY1l.uaQ9vlx4KzMho1L.jFi2bTuIL0jjHxsyfrx4N.MvJ4iZ+ZWVBj+CtPnTNNQ7WXFuYseO4h2d44G8lN+41mZpnIdBQhOOB2q.xlqW2s5iBBoR3JwEhjw1wa6Pl5PBbHRvxXYgjSf8PSnDwvgPyFrY5TZhOQJHJn+LIRnBv9tbIz.FtyG.yHdZdJ5ei2FbqvRrETNRx+.heCCsDeNzQBNCvFYbMD3RaHjWR9PAdzbcl35ZHRP0YzGiQc6ojMgFC6TETEnxF82bnt4RLeFzjKiRLNYGjQYMjR2knjXeCQIHShqtHX.x+kn+A3Fxu6eXtsLFbdfk7AludqF+D5ztPRfc0rXFr6t5RArmRDz.53IvtwjeqlL81QP3RErbK8hbXmEsrGoiHXk8Tv9A2tr9Hl5Og6aXioZHlfBXdsdSibTxrjywPxIFmqBN.WrcMXiBnqHreAIympi7cSXwzjz8LfUmtynzHM5rLMUX+hTMQm+Xb2f40HxKuFaI0eQKePvXKYPtn2yFogic2OD942Y5pU2zjFfr0VPDY8Kutd7DYfsoIhlja48y6kTMs103py8wD6nEQpBUGUMFlljE6da1n2DHQ4kabLiww.iS2gM23XZiCBQFm.P1kWeqljaY8gTQrcjF0fGfxEQkh6Hrevx0kz7xxpYR33GS0fhTAjEq6ConIpKXS6MYfdkbTyawt9vOt80BSSkdKSg8wFjGmg7iFuXuPLMJbNwmlbGKRWeimqXThXBTtaKROnEr1GgIuligaa9QVGO81QgwAzbHCBAtcfZul6fgJfqgvo5uDVJ1YotuAqSOFkuztQd7TWxfmZ7KUSSCf8jPMcPphxqMw0sCY0pyoPt6Rml.jwGSOKktTsFNEBbP0NQXxhjQzY5PscBCUzx0zZZyNS1hhZcM8pO70VeGYkmZ5vUyvMeJFtYIFvZZnL1tvh4uucCxYc6AM8DSfV2PHlAGgvc2+8+3e1pwXo9QVzglEMQuPv98uqSsAvp1ud0hqTLiSSh81aW8v7sZDQWHTr2ltfgNijGhZ3vUhCqGSDggf.WEZip9LLZGMY7.VhCbjnvIrbBgAeVdZpW7kMMkmo8PABEQch3p2FyRe9LQnONkDd+im8xJs+Bb265bJDivwwRgAzEiGNEMmRmxtGNkpY3r0KeJSdmRDqocbrHBkPoelRi8qyFcCC.Vbebrs7.h0LqRkKUAT27razSZ.B8E+sRlwmMSWTDxxSTXU5WUdoIJfIwez.jvnqB+IgT0xyyhS5mh.BKKMDINnXjjqlW7MA7SXH2Fe1gb+RMwuobWtxKX013ZqvFg.1+OrwzWMvWWt8vgPqvEF3yKe16epuGfeD0aNhwH3TAIbLO4hIi6AMN8Xf1ivIewTl0vjVyyMvmQOPOVju9g+K7IEoK9boTjtYHsFS8RD+fmoXDe4C+bMDvlhzubl0KeN9Lw0RWfVzOOl6y+AOukE0iXr4SkwsepL15ox3NOUF28ox3dOUF2+GmQ7UUczDkXrorwx57ts0czJUpcDEx.0YqV+O.znjCC
      
      posted in Scripting
      Oli UllmannO
      Oli Ullmann
    • RE: Dear Hise Community

      happy holidays everybody! :-)

      posted in Presets / Scripts / Ideas
      Oli UllmannO
      Oli Ullmann
    • Horizontal And Centered Pan Slider

      Hello all! :-)

      I needed a horizontal and centered panning button/slider. I am completely new to HISE and didn't find a built in solution so I scripted it myself. Please feel free to use the code if you need it. :-)

      All the best
      Oli / www.studiobro.net

      HISE Snippet:

      HiseSnippet 1692.3oc0X0saaaCEVJIpq1caXcnEaWrK3L1ExcINVtsIEHanwwNt0nw+fX2zBLLTPKQayFIRAIpj3Nzmsc6ta6QXOB6MX6PJKaoF2rLm1NTi7GO+wOdNGdNGltAbaRXHOPSOW+I9DM8O0n2DlXbswXJSqYcM8uw3HRffZicQcwLFI.0mDJPkqrQ4JZ6MwGGFRbzz0W8QRMzysll5ye8v8vtXlMYNIMsi3TaxATOpXN0t69DpqaCrCoO0Kkz2a2l1bVMtKOBP2pFk07w1GiGQZikhshgl9012gJ3A8DXAITSes83NS5MleJKV9ingzAtD4BKsdfghI2f65HQrjpVswTWmtIdgPMMcity8IqF6StkQKpCcF849luPw.MWiz9C8UxBuUy.OqzvqbJ3s.HomBRqECoaZzyNf5KlyQhmaXzjIHACwfaOMThkUake+ZF03fDLQIO7wjFAvhYZXtU4xqifeTbm7atYrJnASPsJg53ROAB7O000CRA.tmd5okBEQNT9f.dIFQ.zZDPHHAGEER917427Na.epuesCpdX09M6zt2FWgO2YSXCpEP.OI5.tLW7.N+XTUlCpAg3h5L3kDaQdHgARMOlwGnX+injSqsRUklRNfdR0LKletYk1pIy1MxgfdBXAEgdDwh2oDCicbjBaVP9SqBqipHchUTNwXzbBNPYOqTvYDQTi64yYvhDUAET+QoPh3b.M4HABAHNAlOCeBYHOvC8HBbuDC4Zo1yDly3IAf5tsZ6kIYpUlENuYTnA1nivATLjiFlWZQeL6HraDwZmrK6S77iI4RYjmCaS4cRR.dR6N6g5se+9Ma+ndWo3+LmSKtCwr.TKJiKqmXhKP9w7.5q.uL1MCWyBdTFDc1vpT42fN9Lf94HGJH98nuh.7JWprUwrGntUa1tOpwSaWSlYujGnjXZo.xHJreAMhX1BJmYVvI.e5AfuDGzyk5PB.TLLg4n0Q7AurX9eIetM2rNw1EG.IuPNLJIZkOmLVfg3.HXIfMdm74PvWvcTnTab18dPwzQA7HlCvXTog.ipttlw0aCKMvE3Wbld0vt1QtxqIJkkXCU3rBytiH6LPYi.YoCMiciPRlJ8vrH5GfLhh.O.xnbyRa.7cNIuCxbCK01lKS5EHKDhPajJGTBrbIIblYkdSTEosrp7.kojeCUzxfybm+9gLxWUHBnChDDSq0OG7T.60v2D2PR74YFB15dnuGYVtD7a3PrfClETSPZ..MuIXtRXQEepCILyCMpHZnrFiLXNKld5XpfnzaTojLLSE9WGM8WPsK7Oc2eFtPTVci.L+qKtSRtGhyZyEjNLSU5W9WmG8lrFNbg7jE9B3ttjfExV14O3hTzjE4MfDrNTYCN8yDDZGlsGqwauGa5Q.riqCmRPNqIiJ53SXusACzlV7V1OdJp.QEptwe9ztww2V0nPS2OwPEwzT.N8LPZOsYcr.mXFvhvt3KGwRd.zqSNAlQJtIeNi5jviEbekrS6W.c4+W2zy.Og9uA60jj+HTVdTNc27BjZdTGGWRWdHU5rSiQuLSx8qgQCGROS5XNPyCp9BF0.Rd0BA+mJcrK2OxWt8UGvOgnIHmIRFbKug0Vau81UrtOLp24FiAFfh6HKrjcpJ4njSYHQV5QYjiqv.DOI8nluyF05xBwaZzkJrGuXLtxBvHDteefwoCn9YF6ObHLVxb.tlQim+9YZzza+si29aXHKfollPs421XAiTbAuU3OtruUv+R+VgN1B.B8CvrPedHwJskeCdURyqNQDwxJdLoLRIOdMfiWJ4t9tIDqjlHbMIiwf0YrTK48pjk+4C2mIaf2i.mFmNg1vgU56Rmp2MB587LpiXrUZEmStRZxOFGHmxyNSh3pWzylrVxmMcs2WOaZsKWh5ECuOBJ8j4Ud4RvXOpmuKYe1IDWnIgBieIzUXHNxUjPM6UqVbF2eLmQyDzOj.yRLZDIStzBOPvTGvneyobqcOj3Rvgott8c6FObZKUufkxWX8e9EuKLd80FwvEIqGftJwsOnoYWX6iUuTsOdmi2kuUxG3anPIyOdhzekATFuBREtQ++GuOjGIfmbzBCUCjCI1NxqGzyzl.Hlwfm0HmWbE4vtwqKKWKgSOByQs3ugOSYZIWqOkoUByOH6gG1Nf+B63wvkELtthBbtYp+6f4LZIWilM+sgA7fF4DuzWXaKyo2.7OKVmJKgN2cIz4dKgN2eIzYqkPmsWBcdvEpirie0HA2KN+GHzce06fz0iG5QcUP6e.wSHwv
      
      posted in Presets / Scripts / Ideas
      Oli UllmannO
      Oli Ullmann
    • Disable the “Skipping changed() callback during onInit for...” message

      Some of us would like to disable the “Skipping changed() callback during onInit for...” message.

      To do this, please open the document “ScriptingApiContent.cpp” and comment out the following lines before compiling HISE:

      if (!parent->asyncFunctionsAllowed())
      {
          debugToConsole(dynamic_cast<Processor*>(getScriptProcessor()), “Skipping changed() callback during onInit for ” + getId());
          return;
      }
      

      Just like in HISE, you also comment out code in C++ with this:

      //
      

      All the best
      Oli

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: Close the preset browser after double clicking

      Ok, it can be solved quite easily with a broadcaster. You should also query whether a preset is loaded so that the browser does not close if you simply double-click.

      For anyone interested, here is a snippet:

      HiseSnippet 1303.3ocsW0raabCDlqr2jJ01zFf9.rPmjKDTjrrSTaPQskrbqPiRDrbSSQPP.WtTRDdWxEjb8OHv.8Pe.549Vz2rdqGSGRtRZksZ9Q.UGR14+ONblgiGIEDpRIjHuJmdUJE48Y9iuhqm0aFlwQCNB4cO+gXklJCbr5dUJVonQHOus9ACCuxair+96uuKNFyIzkrPnmKXD5SXIL8RtiN3mXwwGiinmxRJn8dGLfH38DwhL.Oa42DkhImgmReJ1nVIezOhUyPdeseaZztc5f2eu1sIc9lNjGQvcnjVgOp4t3IQs6PiBi1a+8vHu6zOhoExwZrlp.m1UDc03YhK3t.7blhEFSMDsPigH6Xi5MiEGMZdxQgPdaOZYpZKWp5q7GxhXK3uLk8kVAAKsnXRyqz6BRs9HfjWAHssCR22eLQxR0KkXvym5OfC2fSvvcSQn3zEU5ta42S.Zv0MRvmQOVBDKrn1Ca1rd.7O673JUf6GkN3brLHML36Bla0TptmHIUvAhZUSCqZz8AOHnqTfiHtxmH5DFmoYBdAuDR.uzmOkwoMHRJjQJXRs2TIHnJKp52FTMjTstgBKmp.5WVkLOdUqGTkdt4iWY0PicZ7pJWmiBrViIyBzh.qdAlTUkPRCG+SEKf9PQlh12nip1KMGiWA99v33fd333PnVTYBV0Uc6DlDNLwL.wbpz52nnmjSVKMDr.7T8fIYbh4zWaAxq6vyNuoRY1jZ1uaDIxfK+dwLxY6Tob4zvFJnzvjmkh3ZSvwJJD94mrmkR4PYFUQ0lb8EJ..LdLjMWDt.AOTyMJN2IEh+433L5NUb.Hm3VAUKyrwDB45uuy8e0cZnL7sVMOiU6lgG7TAn8Tgl9LdMKDpbckfaJZxj0JK2WwPBdchMiUjuKCqwyRBoxhI.ihPazp8l24Cq2j3RKETTvG.05lisi9XQbjomy78s6jQ44U3qedvQXM1zbmyCzKkJ0LCb7NhdNLN00pW1+Hp5LsHElLt3x.5004ylbM2GGKvZFe5oL.1L.Aa6mFhtbwP2e64Gb0xIv+5A4Q0Ehuv2UakWZgBmNe3b46.Z+OFSXZZxRt+0a+i2tJ2cyU19yd1J86k7sc1l70X74ztYZsfC8rlJs5ykz+xTLWAWapCUfqxRLZXa.VnhMqJWu4lxG0s7Ib65TeEQKYCEbv4Ej0p4BiNLJZ8g3DJGdXZ8xNhFS0+GxNFetPBYHyqcEkkirAvoNh1UHgy1JG4mlk3RDFv21xxQ+KrH8rSf6YgYvGvOHnYi123W8OR9.a2.UyrrCgYyKxM4Qn959uEV4P1IhKFAiCgBvOT6FSwRxrtXYWQFOxMI2JXnPlmOuojk0P2Tx7L8sjV4ZzEljFxy26O8PnYT1zYZC0od19wE8S200Ocu79ImmrcRk8ymrUrcJoX6ziOPSuTaL1NnddajBv6.tq0x7LLSMTj.ACKAa8Jgt8y5vBEhnrXrd0sLL6ekK.5SV4ocyy2Pcj9ph6m8Qr5Qy24pGenP799iXZxr0iwRqAivfu+OvX9Baete+ISnD8R.ts+wuXS2N68D9SDYlAuCwZICJP7gt2wv7PBEhNmSiUlpsRlhMGcSCsICLlxirDuE9kKrkg1KWXq4BQIXhT7Zh6QMyJgehkCfItck4xvt6.cPKj8gth44DXC0WSHq5paY3tapgs2TC2aSMb+M0vGtoF9nM0vNueCM+ADGloEIt1FDZ3n91WO875ywPEnsZE8u.cyl5YA
      
      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: A follow up on the custom tables...

      I just saw this new thread... :-)
      Here's some info for you that I noticed recently:
      If you use the content callback of a table as follows:

      Table.setContentCallback(tableCallback);
      
      inline function tableCallback(i)
      {
      	// Your code
      }
      

      i returns the index of the point that you control from outside, for example from a panel or a slider.
      This was very useful for my use case.

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: Stock Table Upgrade?

      @DanH
      @griffinboy
      @HISEnberg
      @ustk
      Please do not change the mouse behavior of the current table (left click, right click, double click, etc.). That would not only break my project but certainly many others as well.

      It would be better to create a new one, a Flex Table, like @Christoph-Hart did with the Flex Envelope. :-)

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: making wavetable files - already Im confusing myself...

      @Lindon
      For example, if you use buffers and slider packs, you can draw your own wave tables in a great way.
      Add a little unison and you'll quickly get great results.

      Here is an example:

      https://youtu.be/V-kDL8g8bdQ?si=5XM6BJMrr1xoDuSZ

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: Disable Shift-Click Knob Text Box

      @ILIAM
      @d-healey is talking about something like this:

      const var knobs = [Content.getComponent("Knob1"),
                         Content.getComponent("Knob2"),
                         Content.getComponent("Knob3"),
                         Content.getComponent("Knob4"),
                         Content.getComponent("Knob5"),
                         Content.getComponent("Knob6")];
      
      const mods = [];
      
      for (x in knobs)
          mods.push(x.createModifiers());
          
          
      for(i = 0; i < knobs.length; i++)
      {
          knobs[i].setModifiers(mods[i].TextInput, [mods[i].disabled, mods[i].disabled]);  // No text input
          knobs[i].setModifiers(mods[i].ResetToDefault, [ mods[i].disabled, mods[i].disabled ]); // No Double click to Default
      };
      
      posted in Scripting
      Oli UllmannO
      Oli Ullmann
    • RE: Start timer based on the values of the buttons in an array

      @d-healey
      Thank you, that worked.
      For the “UI” example, the code is as follows:

      Content.getAllComponents(“^(?!.*UI).*$”);
      
      posted in Scripting
      Oli UllmannO
      Oli Ullmann

    Latest posts made by Oli Ullmann

    • RE: Build Failed on Mac: last develop commit (3e1718f)

      @dannytaurus
      Yes, checking pass/fail status on GitHub is a good ideal! :-)

      posted in Bug Reports
      Oli UllmannO
      Oli Ullmann
    • RE: Build Failed on Mac: last develop commit (3e1718f)

      @Christoph-Hart
      Also commit a7fa92d

      posted in Bug Reports
      Oli UllmannO
      Oli Ullmann
    • Build Failed on Mac: last develop commit (3e1718f)

      @Christoph-Hart
      Here is the error report:

      Bildschirmfoto 2025-12-09 um 13.35.54.png

      posted in Bug Reports
      Oli UllmannO
      Oli Ullmann
    • RE: Execution control / load after copy

      @David-Healey
      Yes, those two options also occurred to me if there is no built-in solution.
      I'll try it out and give feedback here.
      Thanks. :-)

      posted in Scripting
      Oli UllmannO
      Oli Ullmann
    • Execution control / load after copy

      Hello everyone! :-)

      I have a specific request. I want to copy an audio file and then load it into the sampler. So far, so good. However, I need to make sure that the loading process only starts after the file has been successfully copied.

      Is there a built-in solution for this? Or do I have to take care of it myself, for example with the help of timers?

      @David-Healey I'm sure you have an idea :-)

      Many thanks,
      Oli

      posted in Scripting
      Oli UllmannO
      Oli Ullmann
    • RE: HISE as a 3D renderer

      @ulrik
      Great, thank you! :-)

      posted in Scripting
      Oli UllmannO
      Oli Ullmann
    • RE: HISE as a 3D renderer

      @ulrik
      Wow, that's great! Is it okay if I use it in my plug-in?

      posted in Scripting
      Oli UllmannO
      Oli Ullmann
    • RE: Custom reactive audio animation

      @bwoogie

      You can put a simple gain in your signal chain and then use .getCurrentLevel for your animation.

      https://docs.hise.audio/scripting/scripting-api/effect/index.html#getcurrentlevel

      Update the animation with the panel's timer. 40ms are 25 fps what should be enough.

      If you want to draw an analyser it is also possible to get this data with scriptnode. I can post some demo code when I'm back on my computer.

      From the simple gain you'll only get volume data. No frequency data. For this you'll need the scriptnode analyser demo code.

      posted in Scripting
      Oli UllmannO
      Oli Ullmann
    • RE: HISE as a 3D renderer

      @Allen
      This is really cool! :-)

      posted in Scripting
      Oli UllmannO
      Oli Ullmann
    • RE: How to add a new tab ?

      @Elisee18
      There are several ways, but all the ones I can think of need to be scripted. That's why you'll have no choice but to learn HISE scripting.

      I think there's a demo project in the demo snippets. You can take a look there to see how it's done.

      posted in General Questions
      Oli UllmannO
      Oli Ullmann