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

    Posts

    Recent Best Controversial
    • 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
    • The future of our market

      Hey folks,
      I'll leave this here because I think he has some very interesting opinions.

      What do you think about our market and how it will develop in the coming years?

      All the best,
      Oli

      The Audio Programmer(YouTube) - The Audio Software Shifts No One is Talking About

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: Parametric EQ - Limit the amount of nodes?

      @ustk
      I solved it using an EQ broadcaster. The value you get from the broadcaster is the index of the band.

      If the index is below my maximum value, e.g. 8, nothing happens except that I save the current status of the EQ in a variable (Effect.exportState()).

      If the index exceeds my maximum value, I show the user a message and reset the status of the EQ to the status I saved in the variable. It's actually pretty simple. :-)

      At least that works with HISE's internal EQ.

      posted in General Questions
      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: 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
    • Ultrawave synthesis

      Hello everyone :-)

      I think this is a cool new approach to wavetables, which is why I'm posting the video here. I have nothing to do with the project and don't know the people behind it. :-)

      https://youtu.be/2iNEGs_mhGY?si=RjV50Zo3BWyc2ZRu

      All the best,
      Oli

      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: Modulation is deleted when loading a DAW project!

      Okay, this is not a bug, and the solution is super simple! @Christoph-Hart has done all the hard work for us! :-) You just need to add the GlobalModulatorContainer to the preset system!

      Engine.addModuleStateToUserPreset("GlobalModulatorContainer");
      
      posted in Bug Reports
      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
    • RE: Granulator Envelope

      @Straticah
      I am referring to the general amplitude ADSR. I took a look at the C++ code. If I remember correctly, the parameters Attack and Release are present, they are just not made available to the user via a slider. I am currently finalizing a plug-in and therefore do not want to experiment with the HISE C++ code. However, when my plug-in is finished, I will try to implement the sliders myself. If I succeed, I will be happy to let you know. :-)

      posted in ScriptNode
      Oli UllmannO
      Oli Ullmann
    • RE: ComboBox is triggered on load

      @daniloprates
      Disable "saveInPreset".

      posted in Newbie League
      Oli UllmannO
      Oli Ullmann
    • RE: Change the slider name and value placement

      @rglides
      @Mickolos

      @d-healey has already said it all. :-)

      In addition to “getAllComponents”, the following should be said: This function uses regex to select the corresponding components. It therefore makes sense to familiarize yourself with it.

      With const comps = Content.getAllComponents("^.*(Knob|Button).*$"); you can, for example, select all components whose name contains "Knob" or “Button”.

      With const comps = Content.getAllComponents("^(?!.*Slider).*(Knob|Button).*$"); you can select all components whose name contains “Knob” or "Button", but not “Slider”.

      And with const comps = Content.getAllComponents("^(?!.*Slider).*$"); for example, you can select all components except those that have “Slider” in their name.

      posted in Newbie League
      Oli UllmannO
      Oli Ullmann
    • RE: HISE Meet Up

      @d-healey Thank you for uploading the video! :-)

      posted in General Questions
      Oli UllmannO
      Oli Ullmann
    • RE: User-defined background?

      @CatABC
      I made a snippet for you. :-)
      This works in HISE. You have to check if it also works in a compiled plug-in or standalone app.
      Please let us know if this works in a compiled program.

      HiseSnippet 1144.3ocsV8taaaCDmJIpaVacXAXO.D4SxEFt14OMdnXno1INKXIoFysA6aEzTT1DghTfhpIFCFXXOY8S64XOB6MX6HkrsRiQRqAlRPht+76ti2c5NNPqnrrLkF4E71ooLj225ObpzLo2DBWhN6Xj219uKiowQrXtjEg6dJp6zTRVFKB44s4oV07psEx87OupKQPjT1RVHzUJNkcNOgaVxcvQ+BWH5ShXukmTQ68O5LpR1SIT4PHsoeKTJgdMYL6RhUsM7Q+LIaBx6Y96wh1sSGxA6u2dzN+XG5gTRGFs8nCasKINZuNrnQQ6ev9Dj2SNIhaT5gFhgkAFsqJZ5vIpajEN3JdFejfYIZiFBdtfMp2DtHZv77SFB4s0fkYqMKxV+f+E7H9B9KyZeuS.dIhpIMuMdnPp8WPH4UIj1pHj11eHUySMKkXimuw+LogoiIPsoZnTnKZi+ZS+dJPCooYB4ZVeMPr.Q3KZ0pAF9S8WFD77migZ.N21THTPELBSvz7LiJAmxolbM6UAZ1XLO67Bw+DNlHxXEXuhn4D3vgiU5BiTBxgAdGTypmEK9rDnziIxHrlkBoVCNUJ5dZ.WJflQbbtjZ3JIVIGYjVDN.1ChVIBopjTkDNRMvefHxY0C98fZ73vRhZ.Us9bAa3zLCKo4Hs5lLVXENGyxt1nRaTD+Mv67rloxw6zXgiC0rrbgArkyXX3Ar+RlVFVAtWfyFjJJD9xELsmmlh4gdHnTSiZnQykiCaUuA9NLZWu9BjURuFcN6SrXY9Jzouk8L3+yrTyBlAo34E6wLSu4oovcplE2odyLqPWtrGQHFAeIFtxLc8xZ1.WIZ.QxDAvmwYkkKHBWs6bR2whtHnA+4LwupxMP8MbQZdrqzAUQMzqAm2I7LqoNWQIhtpbYTVns2rFF9EJ.ySMPI.WabyHM4lUjcaCYWRCLzYWfkA03B.wvroWKDgstse+cGY+woPsfYtSZPPkFuKUF1ajgt.LXV.9SEEGuRYkYNASuRw1oh5GBXnLOYDSWsy1pHLE3tiVdxm2nEZQ8ohhJ4YRt4MorR59JQjcjg886OHBUVfsijJiPPUiafz2UNPpatwnjHdjkU0tHj6LTckA5cmcLwPlaMvvfyRYZC2dl7Nl8AXkRw3tZ9kekBaGVzZAm6Be+z4CCs8jNW+U9tdMzsU82zpD2viLSVv3i+4QSX7wSLU4ftumd7S4RO9QwQK83e+GGYX2ZradWNyCwytPk.1mnAM81.c+47vFFUTtfXt6ZG6B4RAPCycl0ammKy3loUWX+ErKp0CtK5yMD21e.2Pmr5XbiUDiPWv+GwX4F7m5eRbLiZVFfa42+2V200Oh6KFrM9BBLABZG7uLOYHbSGJC7tD5PAi6CEaKTGcKKsMCLjIibD+K7TJrsk1qTX64BQIDpV8dZwGg16H70NNPLIc2gpl+EVZb66+YWBbkk2So20T2C3tqKv8VWf6ut.OXcA9h0E3gqKvNONP6MJecNbOqhOaPnKFbhaLom2IR6cpbcqn+CFpBTCC
      

      You can use the wildcard to define which image format the user can select. I have chosen png. Of course you can also use jpg.

      posted in General Questions
      Oli UllmannO
      Oli Ullmann