Forum
    • Categories
    • Register
    • Login
    1. Home
    2. Oli Ullmann
    3. Posts
    • Profile
    • Following 4
    • Followers 1
    • Topics 119
    • Posts 812
    • Groups 1

    Posts

    Recent Best Controversial
    • Custom Settings Global BPM

      Hey everyone :-)

      The Global BPM functionality of the Custom Settings Floating Tile works perfectly in HISE. The combo box is filled with several options.

      However, the combo box is empty in the compiled plug-in. Do I need to do anything extra to use this functionality?

      Many thanks,
      Oli

      Bildschirmfoto 2026-02-09 um 18.52.47.png

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: Mac installer for audio sample libraries best practices?

      @WillowWolf
      You can use white box packages.

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: Third party HISE developers

      I would also like to throw my hat into the ring. :-)

      I have spent most of my professional life as a composer for film, TV, and advertising. My clients include German TV stations as well as Bugatti Automobiles, Porsche, Nivea, and many more. I have also been involved in several gold and platinum chart productions.

      Since 2022, I have released a few Kontakt libraries, and for the past 2.5 years, I have been working intensively with HISE. I am currently finishing my first plug-in. For this, I created all the graphics in HISE and also worked with Max and RNBO export and import in HISE. In addition, I have extensively studied the new HISE modulation system.

      There are certainly some more experienced programmers than me in this post, which is why my unique selling point is probably that I have many years of experience in professional music production and sound design.

      I look forward to working on projects together! :-)

      @David-Healey thanks for this post! :-)

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: How to get numbers from strings

      @ulrik
      I'm not sure I fully understand your question, but there is String.getIntValue(). This function converts a string into an integer.

      And there is Engine.getValueForText(String text, String convertedMode).

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: Matrix Modulators not driven by the controls in exported plugin

      @ustk
      @Orvillain
      I noticed that Christoph has joined the conversation, so I'll hold back now to avoid causing any confusion. :-)

      posted in Bug Reports
      Oli UllmannO
      Oli Ullmann
    • RE: Matrix Modulators not driven by the controls in exported plugin

      @Orvillain
      Then it is mono modulation and not sample accurate...

      posted in Bug Reports
      Oli UllmannO
      Oli Ullmann
    • RE: Matrix Modulators not driven by the controls in exported plugin

      @ustk
      I spent a lot of time today fixing a modulation problem. My solution was to comment out the relevant matrix IDs in the Matrix Modulation Properties. It was a very strange problem, but now it works. Maybe this will help you too?

      posted in Bug Reports
      Oli UllmannO
      Oli Ullmann
    • RE: Matrix Modulator Scripting Bugs

      @Phelan-Kane
      Okay, it looked like there was a problem with your MatrixModulator. I deleted it and installed a new one. Now your original snippet is working (with the new modulator).

      Sometimes the system “gets stuck.” In such cases, it can sometimes help to replace the components. It can also sometimes help to clean the MatrixModulationProperties.

      Here is your working snippet:

      HiseSnippet 2460.3oc2Zs0aajaElx1LMRaxtIoo6l1EnXfQKfRafiksyMDDD4qIBMNVIxIau.zsTyPIMviHUmgJwdKBv9RA125i8mS6OgBjG6K6Og7On8Px4B43Q27Fm06ZD3.Rd3geGdtvy4LtYH2kFEwCQkpr+QCnnRW.25Hln2l8H9LTisPktJdWt2tDQn+g63GHnga0pIZiiFPhhndnRkl+QRJKUdAj5m28vMHADlKMaJD5kbeW5S766KxlsY8emePvNDO5998Mnds5Mb4rM4A7g.plGuLZ.w8.RW5SIRxlCidLIpGpzuAemNqRt8s5rp6cnqsBkP7ZeqaeOu1qV612Y06RWykPt6sVycs6gJcts87E7vVBhfFgJsvFbuiZ0i+Zl9.doeje6.pbPMTK3j0SuCOvSJhxYQa1yOvqYx0UDBXZyrKu40Wdvckume57YWhWRsfS1NLu.KMmM7l2Bd0Lg2xFvq.HUx.RKngzkwsbC8GHxVQhmOB2fApxNDPOYBEMsn4t6EwaxAJXhk5SNftSHLHcGUWa4kugSsas70uekJUt4Mc1l00mQq.psHgyqHgNOYm8.ilgADPpp47.GkI0RcohzYqtnEMKBrJa6M4AGos0r171c5PcEUWzXY688n.daRPJWkR.n.xwE0slZT0EG4Fr4aek0+iILu.MyzB7RtgTPiEuceNS6kL0rkQesVL1bnf2oyDuwFI8R1VwFjK4FPIgqGD.GNCt0.zEMqbPuy7Zpa3LF1bCGQ3PJvrb7JBt2SABXJNfFJNZF47hvHJ7+qb866bpveoANKxWbDLX4kTV2fw8KZXnxNf01b+RMUhehzzh2e.mACptXdBs07oq9bZzTvCIU1Lvsea.6sfPjtzQy.KpFAB1hNPzaJvflthPwVzHwjvfhF6M2VvfEZvdEnpndilA4nawX0h1GKRxpHmN7PmP9PgOqaEIuiB3hZZ4F3q00fj6ujDLjVEXTJsJoCHMm3NJhAQ3AlRewzkfYf1bBgE8RoQakTwmE.wIb5LjoLjc3r71Qx6nPdPU2jKna.2..itdk+Vkxiz5V5ert.7XZOTPqtRxdtek2.G+zZ.G6jIO9MIAAsgWkqNR.FKWfk63DJog8XkHiP8eWjAsCzDD.CvDi9D8UAhPNE5XEh7FCpUte77UGqDbLi+hkghQSxyyZK+BDBKGiIKBoNTyf.jKDTwvuHbDqBT9giyDR6nNYvm3gOCX+Xw9lfAjETRwejXj27pXGSCzUwal4a83fti6N2DAwHtEvdmZwQjRiplWDhAgDipLMZoswie.UEVqreGmpFBvCbpccmrXckgslQRhsUBQvK2N0.BjDU9zNYhSoivLehLaP3p4T67z9+IGWxX0I9lJv+diNfvlRMlhFPQmhxioiKTwJ03FJwadS0P.nQUJ+gIoLoPX3J8TtftGSCLXMm7K0oSgqEazC.svkk0jFNtMVkMreaZnoypjPntK6h4vitXNyZMc09wFDxYMX9h8FPYipBTTryurVzXTAjJTk88wwk80Jv2iFh7gp6tBN+a0HE1SK89adaczTvmOAa8joESpu5pu8gGiIWJlIPDp17M3GFyFqv94vB5cSIatH1HR1TvjBDnKiyEB2hM+6e4e++NZ1rwPgfyhYStmgyiF3mWzXKhfHqTOV2E6V3KMUJsE8U9tTcc6kwfDcffOPobiiriJcgYQ8dX1Y+z5GkM3WUWPODX14wZJQ8gfgxlBrSH8uNjxbOBEMrSGeX+Xryi+JTeeOvktIG7CAmfTFM3eVuuYueVqdexgllSQB5fV9ekkFwi1gLLPm9aNSuTor7Ta7kcbe8AEIhXLP1nvO5RF3WY5ZhejS8BvZhEdJVO+LXienI.MP695KNbo4fAI5F8lP9BZ+HoxAhaVqB7qUPu12SzKa2+g5SKdrcVxPy2NXFQyEhsbpHucGKbJOCtcY.p9ew.Pe8yhUl+DrhvXy0OE+TdXeR.Xe40jBfiIHcooVtyi+0iTuiPV1su6eYhX7L3gaX90w7J7OGi3J3DZQni2atKgy5QjQqBkMTMqoRV8mK80PSOp2a8ObZg3kwM8Et8JFiyU.Fg.dmFXLtqqWDq6LXF.W.uyu+zoEqlG+40G+u.Op98ovxmOxkqMl1n+el11nOXpaid9LSVX5xLYBcAegybcAeZsh+owJFmz0h9.5qY0q9KqgIVFiWgsOAakk7jw0F9C3AjP45YOhartz.oQl8U8+Q8uf7JZGH.Zb5FoT9DZW3LMmYeJDar0QLWSawV84bQOnzPaytqV+Ib9fsYD3RvyjIM6QhjIiCEEXwFfs6y2kDISaIf6df4hM5x3gTcB9lyu4vHAueh.n9lPsfLMToVU5Ogu8ZKA+z42J+881D90p689Y7rDEq1309yM0FoxJgSU4Ra0yfOHnQYpg2YTTN1msl+G2Oa8bcebzegJHRySG1WmQGb5PI5AQI46EOdY4XkCJk4oF7+fehWrlbbo3EqkrHRy73BblKqzeHws8IgcohFfPcMbw05i1UkTW4yMWRjAE7Zv7nGlfkBUQqO7vXhxRmSMWAzllLFb2hFA.+b7H6GwIAipxGOwXzvp4yzVMeDVF2S84AU1L+LbRbPmGQgjJN96Em5IVrmq.fv9gDVz.dDTliY7cZe+8gDqirlM2NVovcXM6VTwPlMq0SYQk7pXG3pvftyWOYxULmrIgYwLXrEm102PY8sOT+fVKJH4d6E4BWLx6Yq22FFDQ+BYkP0L2X1zqXN8iIgd4eQsz7mF4mctevle12iEBYkbV4DL1xu+f.51f+Y.GlQhwq.UjpZQPxr1td6xY7A83LeKE8yoPbxtcoV1OEJPqKDDyThtZ8mSCnPhTl8Q3IPsDjv3PSmj6hZy7eTIEputFVCWGY7Bme3V.6OtyDnHS6qfkemUsgp9kOEHtH13yuNlmTPniWxw2715OyriY1lmWq9yFRBxcCGWBy20a+IXMuvTZh7oXqzYOaDC5xXcNVo3MtCCiNik2mQizkcMobjNVicGQkhMpm+AuSrRUelOmv5RklJMXCFJziJgGeCpMS153MqFg1mdn7aXoHJztC4n8FJF04fPVMRVdeN9y4EQT3o2jFUtdzejFxym.33CnIcIOaGz8mii8vUEJd1FqeL9YmsAnLUsCOaCwOCCYJuhi5kVmuedp8CQUueHNi9D2P9W5p+Fjx2FNuZFPtYp+nnKCuK.icJ3SN1Gxn+KccsY0w13JmzMt5IciqcR23sNoa71mzMdmS5Fu6j2nrfq0gmP6q8MfBOatstOlkRahJ7Lv+mXqjXb
      

      Best regards from near Hamburg :-)

      PS. Please restart HISE before loading the snippet to ensure that no old Mod Matrix data remains in the system.

      posted in Bug Reports
      Oli UllmannO
      Oli Ullmann
    • RE: Matrix Modulator Scripting Bugs

      @Phelan-Kane
      Yes, I saw that you changed the value using setAttribute. I do the same thing in my snippet and it works. By “not connected,” I meant that you did not connect the slider using processorId / parameterId or matrixTargetId, which is the recommended method according to the documentation.

      However, I didn't do this in my snippet either, and it still works. That's why I suspected that the error might be caused by something else in your script.

      Did my snippet work for you?

      posted in Bug Reports
      Oli UllmannO
      Oli Ullmann
    • RE: Matrix Modulator Scripting Bugs

      @Phelan-Kane
      Hmm, it works here with this mini snippet:

      HiseSnippet 1861.3oc2Y8taabiDmqk4cQN8ZaRS+KvcXgQ+fRu.CKaGmDTTTYKamJT6XEK0zqsenfZWJIhrK4VtbcsuhBberOUsEnu.Enu.2iv8Fb2vkqzxUVRVV0N04zGDDGxYleb3ry7iqZJEdz3XgD4rT6SinHmWA25Ttpe89DFG0XGjyqg2iEnnxCD9sowJz1mFQhio9HGmROVuHmxKhR+7e93sIADtGMWDB8LAyitOKjoxk1r1mxBB1i3SayBsV8F0Z3I30EAhD.PkvqhhHdOmzi9DhdYKfQeBItOx4CvOn65jMue208d.ci0nDhem6u4i76rd0Mev5OjtgGg7v6ug2FOB47m10moDxVJhhFibVbag+os5K9VtwAOiEy5DP0CphZAd1HdOQfudKpkhp2mE32bPjJFAFsYdbqjItcG7ALe1P44wuWOcB2bMrCfNKTDdkJ.up1vaUK3MFH4XAoEMP5V3VdRVjJeFMdtItAGNN6RfyIanXVKZguqDtt.VAWsRH44z8jvfgZTYyUW8dtvW28CWZI3rJV4FF59Qt6x6w3zU7jTXe.YJIADESvOfnjrSpr7iCDcHAtYSHjtZO.AHpr5x4V5Xhz0nwvEVErcZ93J8npgRqrrYY4FzXFFO.roa2Dtm16tB9mxEcppclTDTwSDFI3vF6dfqBRn2couaoxi5vUhopsTfrNIJZk0FrzObouGbvf.C.l5CLVkkScxx2UqYlqpSBB5.otUJh.MFGCH6n3a46OUTx5VIaP4xggq.wKN0Cb896cncP3dtiIxbOWk7b1AFDLosPA7M48vQzPwwzKz1HfRjaEDT2rc.KEOgi1oBciimB5KfLvZV39IBE8PdkTzsz2uj6nS0s6XmKyVAT4XmVWVSNMEqvSB6Pk1wF8BgGcKVO.O45A1kq7LgFqEJ3M3L0gQT9jJhgxhmPsiRYnB9kJsxwqlU4nU.ymJQLn.weFmlIiRAbVI6e9GeseoFZRJuchRI3oJeCrIGpf1lOyf12DO7LbLF3yZrCQQzU.y1PvlLhJULc7yYG5wP+GS8vx3cnwOWIhR2wYYP.3N287ICc3O2q1oCGTSTKzt+2F0BI4K8G9sZJ5IJsUdVJn8ocoxQxOADt.ZxXYbgvbOf9BKv7udZsuk4qftiXmSfw8ord8U5Q+MXjAIkwfAbgZFHV7AhPviD4oyNDrOGrBIxKHJdErwFiEHmsKFz+bPo.6lpZpG4MZJzIS2shGyTmZSM4RqS6rBwagaxTd8GOFWXLXDRguJvXF+j+Bd2tcghr4.bQ7d+iqFxH1t+FF2+dXCGf7.0.F.oX4uhmBEgoP47WmUJmQyLkyQKAu3rUB9bXLt3UEiwEmsCooCuYMm9MNywT7Kvm7Jvw8VFXhw5pHlnVQxPmOv1lEIBHR876IoeSBk6YM+MpoyVZvsyr9bxwztBYXV+jgVZeZOvm1RZSgBp.yUOa0aEJDp9Lduh4fHz9BQztbBDE7sMRy9jXMEDfWSAy.lss3.RLPJudfP2EIexF83BI0PqwVd8jXkHbvFH8xTsTznzdmNeEdyMVA9z8uq+9Q0guV+vKmwWjhZUm9w+BybVpNSX3QtNm3hmk9B94JMhGlD9R.hmZ2sRyT2sKc7N+c5tbfxQhDE7vs4BLPoomjD1BZq3QAj.WvIPymGn3nUMc7p5woOPS49oC9uvmrIqpG6jMY0AShLF2hwa1Em.ZlsIR3pQM70oSm4RTH3mzg9KEUM39zSFHZrYXakbR1hFJ6mRkMlS2F7iAR2lvq8gxaaNTtIVW5I8p7oGIuIdPoH2GSgl7msj8Udi9C8T.DZKI73HQLsZgRrzPVafPbbAoinwZiUiBR2gpR3EMsQzZi1VYOHTT0t6y.gqYKrIgWvXv3BV5.l0g0+9iM8TZQgct+gwdPfQGmKzhIIHl94ZJ6UsULW7Z1h+DhzezlZNktJ3Kc86Mr8RvUSJPPp7.L1hEFEP2Ed9L.tXbJFuMbS3tjj.0.oEez6.AWD0WvYENnOhB0T50iVH+Y70MTJhMqj6T6HZ.E3xjK58qsOvsmHMkklqXQ0K7KDcrmWuC1.WWc8B2WduRYo+u9JkiK0913lhfSMIpl+ihTPTN6OrXZsSPnyx3+G9sZO093sXp46T6oIjfQhtY2f32aj+bxjWbFSOdKbAFjWOp+bK7Hug8LBumkgxkYEHysczbgf647rQekkS3dXMpMZur49Ly3yiH7dTclPCdThxLxAO82YnMOJ3BdQsX+yBbdZSOQ+RtSWjTyqJOQFcXhZR9Agr8SZXa594yhoPW0lBHxBIQaE+kToXTtcSuVk9Itq20SeWb1CvoW855MVeU7SudCPMKrStdCw2FCjfWyMsIp6eLcQeQbGwWD9Hj3IEesm4eyPW5+FoRf8MO8+puLTfGF6V8r+iMg.Y8u1yqnoNihqMuJt97p3Fyqh2edUby4UwGLuJ9vyWQ8co1JA5dZd1.tSYycMukPmguhRnMv+C2qXKYB
      

      So maybe it has something to do with your script. Or have I overlooked something important in terms of functionality? I also add and remove the modulation programmatically.

      As I can see, you haven't assigned a matrixTargetId to the slider and, as you write, you haven't connected it to the Value of the Matrix Modulator either. As far as I know, you have to do one of these two things for the system to work as it should.

      https://docs.hise.dev/hise-modules/modulators/envelopes/list/matrixmodulator.html

      A note:
      If you want to control parameters programmatically and use HISE's modulation system, you should activate “deferControllCallback” in the UI slider, as otherwise you may experience hang-ups when adding or removing modulation programmatically.

      One more note:
      If you want to modulate a parameter using a matrix modulator and add a slider to the UI that is linked to the first slider, you must assign a matrixTargetId to the slider in addition to the connection to the matrix modulator, because otherwise you will not be able to access the modulation system via the second slider. I discussed this with Christoph in this post:

      https://forum.hise.audio/topic/13458/matrixid-disappeared-for-linked-sliders

      posted in Bug Reports
      Oli UllmannO
      Oli Ullmann
    • RE: Matrix Modulation System - Last Call for bugs fixes & changes!!

      @ustk
      @Christoph-Hart
      An addition to this:
      This only happens if a MatrixModulator is used for the parameter. If only the matrixTargetId is used for modulation for the parameter, the problem does not occur.

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: Tahoe, safe to update?

      @ustk
      Ah, okay, I'm using commit c49bcf3 from January 21. That one still works.
      Do you know exactly which commit it stopped working from?

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: Tahoe, safe to update?

      @ustk
      I'm still on Ventura and everything works fine.

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: Milliseconds to Hz for LFO TempoSync Rate

      @JulesV
      I've never worked with it before. If it doesn't work right away, you could maybe use a broadcaster for it. But @David-Healey probably knows more about that! :-)

      If there are any problems, it definitely makes sense to compile HISE as a plug-in and then load the project directly into the DAW to try it out.

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: Milliseconds to Hz for LFO TempoSync Rate

      @JulesV
      No, it just means that it happens once per second. With an LFO, for example, it is one cycle.
      I just looked in the API and found Engine.getMilliSecondsForTempo(int tempoIndex). That might help you.

      If you insert this into your script and press compile, you will see the milliseconds for the specified tempo index of the currently selected tempo:

      Console.print(Engine.getMilliSecondsForTempo(5));
      

      Do this once, change the tempo of HISE, and then compile again. You will then see how the value changes.

      Tempo index 5 is quarter notes.

      If you want to know all the tempo indexes, load an LFO, switch it to tempo sync, and look at the values. Note: The index starts at 0.

      This function might also be helpful:

      Engine.getMilliSecondsForQuarterBeatsWithTempo(double quarterBeats, double bpm)
      
      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: Milliseconds to Hz for LFO TempoSync Rate

      @JulesV
      Yes, 1Hz means 1 cycle per second.

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: Long loading times -> again

      @David-Healey
      Hey David,
      That's a very kind offer! Thank you very much. I still have to fix three errors in the project, and then I'll send you a download link via message next week.

      I'll take a look at the video.

      I'll get back to you with the data next week.

      Thank you very much! :-)

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • Long loading times -> again

      Hey everyone,

      I have a large project that takes a very long time to compile within HISE and also has long loading times as a plug-in. Not only when I load the plug-in for the first time, but also when I open the interface. This takes about 9 seconds.

      Does anyone know how I can find out what is taking so long? Is there a tool for this in HISE? Perhaps the profiler, which I have never worked with before?

      I have spent the last few days combining all UI elements where this is possible and straightforward into a large array (with Content.getAllComponents("");). This has already helped. Unfortunately, the loading times are still very long.

      I would be very grateful for any ideas! :-)

      All the best,
      Oli

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: this one looks interesting

      @dannytaurus said in this one looks interesting:

      HISE has an unusually large barrier to entry that new AI-minded developers won't endure.

      What exactly do you mean by that?

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: this one looks interesting

      @dannytaurus
      Another possibility:
      The production of audio software that goes beyond a simple sample player is very complex. From knowledge and skills regarding DSP technology to knowledge regarding the tools, frameworks, or third-party software to be used, a lot of know-how is required to produce a plug-in that is truly competitive.

      I don't think this will be achievable in the next few years through AI alone, as we are not currently seeing any real development in AI technology. The only development is: “Let's build bigger data centers.” I think it's clear that this cannot work in the long term and does not lead to any real further development.

      Therefore, the future could be that AI is used as an additional tool, but in the end, there is still a programmer behind it who has to put everything together. And HISE is wonderfully suited for this. HISE is great at combining code from multiple directions (e.g., RNBO, Faust, etc.) and creating an end product from it. Therefore, it could also be that HISE will continue to grow with the support of AI workflows.

      posted in General Questions
      Oli UllmannO
      Oli Ullmann