Navigation

    Forum

    • Register
    • Login
    • Search
    • Categories
    • Tags
    1. Home
    2. Christoph Hart
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Christoph Hart

    @Christoph Hart

    administrators

    3269
    Reputation
    3868
    Posts
    4074
    Profile views
    47
    Followers
    0
    Following
    Joined Last Online
    Website hise.audio Location Berlin Age 35

    Christoph Hart Follow
    Beta Testers administrators

    Best posts made by Christoph Hart

    • RE: Finally: Fully customize stock UI elements with a scripted LookAndFeel

      PresetBrowser

      posted in General Questions
      Christoph Hart
      Christoph Hart
    • RE: Finally: Fully customize stock UI elements with a scripted LookAndFeel

      SettingsWindows

      posted in General Questions
      Christoph Hart
      Christoph Hart
    • RE: Starting to use HISE is one of the biggest pains in the neck I've ever had

      Alright, you heard the man. Party's over, let's go home...

      posted in General Questions
      Christoph Hart
      Christoph Hart
    • RE: Merry Christmas!

      Yes merry christmas everybody. It is nice to see the community flourish over the last years and I am sure that the next years will be awesome.

      posted in General Questions
      Christoph Hart
      Christoph Hart
    • RE: Merry Christmas

      Yes Merry Christmas everybody. It's nice to see the community grow and the increasing amount of christmas wishes each year is a good indicator - a few years ago it was just David and me 🙂

      I'll be on standby mode for another few weeks (my yearly theatre production), but then we'll be full force heading towards HISE 3.0..

      posted in General Questions
      Christoph Hart
      Christoph Hart
    • RE: Blurry Panel?!

      Actually I've added a few more advanced effects some weeks ago including box & gaussian blur. I'll update the docs for this soon.

      posted in General Questions
      Christoph Hart
      Christoph Hart
    • RE: MIDI FX ?

      Alright guys, more than 6 upvotes and I‘ll look into it 😉

      posted in General Questions
      Christoph Hart
      Christoph Hart
    • RE: Starting to use HISE is one of the biggest pains in the neck I've ever had

      Well at this point I just assume you're trolling. If you have abandoned HISE and gone back to KONTAKT why do you keep coming back to this forum every few weeks to reiterate your same statement?

      Also this forum is full of people trying to learn HISE and as long as your question isn't aggressively stupid or intentionally provoking, you will get a helpful answer within hours thanks to the nice people that are part of this forum.

      posted in General Questions
      Christoph Hart
      Christoph Hart
    • New default HISE knob

      Today is UI Day, so I've spend a bit time trying to improve the default HISE knob. I've used the ScriptPanel for prototyping and came up with this "new" look:

      63f0e9eb-aca5-4407-943d-5645763db5dd-image.png

      HiseSnippet 2147.3oc4Y0uaaajDmz1LsVs9v0CEGNb3N.hhCGjhoU3tRTh5BBhcrsRLZsiPTZZODXTvPtRhvTj5HWIGi17bz+8dIt2i9Lzmf9Fzalc4JRYqn3p6iBzRaIycmYm427wNbG5doI9rrrjTM8se9USXZ5enQ+qh4iNbjWXr1IGoouiwYrKexI8O9SO6oOR6QWMwKKiEnoqu4iQVz2dKMw0O7vG4E4E6yJlRS6EIg9rOKbbHuX1d6+ogQQc8BXOObbItat+I9IwGlDkLEfylF1ZS77uvaH6LOjsMLzzuywAg7jz9bONKSSeqGkDbU+QIWFK4+EgYguJhgCHZ8AAImtaRT.hX7dsCGEFEzSY1YZZ5F8JbBaJcBerwogAgymuvY7aEDLKVQY+g9FqBdj0Dd5kf2VR38QF88SCmvKnfX6CLNIlyRG3AgfxvRxq1F+4Oz3vDfiXd8wdWv5lBCluhpsrssLcrsqc+cprSEHPjwMm4kZ1yKlEQLefoZsCY7CSFOIIFFT8Sjj+jqupzv3gG4w8f08RBw1hX2whZ2vhzhXQa1vpkiEgZA+zzFuuiqUmVVTZGKhaGwD1vHWKBLnkEwgZgBocSAolVNtVThfhKvG.bRaWqVMAoiL6.R0IWpvXTncZCeH.cpUKbHEI2.fSaPqMoRhfHovbvTH5b.w4zP7AjLk.S0pgPgvPPxDDDM5X4HTE.MBJll45AgtqUEhKAoJQAhJjJZlTab0tHQpcafD.PGxbQSEDkVO5hHsZa4HrdRKKWk0Sg+z.cBBkPbaZ0vVY6DzcPnJk.R01pfnMPDtMmXafMJ50ZV1sHoQb.EfwFIQJA.qcAUvLTw.z2gbPASA9KX6pf.3tIPLm5Hb6TGvdnfTaJczXlQCxbE.FDZORWStWmRjVHBTLlJEqxJHssk4Sf9.raKbiXTkB4LtxbMBF0sE+EHlahR8C2PHXtiJkogEF2sohLp1nSiHlGCUPrk3J9f5.fdilxjOGgIJR..aGi4.aP5AkT.Wp3iq8h90VRIKEkCYAhxgyUqqTQfXIh7GpJFrpsVcDtDH5e9R1iVZeseJCJa0yiOpJtaFoVOJwK.pSLF2JWUsmdY60oqVPz5YbuTN7fj9SekfhccGKSRc6BN7BBNH0u5KsqCEhDeQx+5bKy8NEVT8dmbW65sgElOx7tl3XIfBiiBiYlClF6yCShMSYAS8YAUmfUnrL8FmLMlWamJe8NULgqTFeZZr4KkyqnaYJXGKx8EgAnEXtmI8t2f3SXgCGwyolu1yuek2f.YmJxhh0yX7dvCN3OKYJGfVUEzpNrlBEn+alWzTF3+3iByPY+Bbrv0ssx8JvRIVTX6dljV0sQNgeGhJT93yp1utQCawkPNCqO.dj6wQQgSxXUUdFTZVExuVsxB5wodAgP3rKrPHn75tcaHtxiMxufYIhq7IT3S4dN+1qcHVRgzAEFTVdi2dhkHJhrrjjKIBWMWpzKEWEQDAmfhWHqybWTjMWfYofWYlqPV4Yri8dcUorExxMmJLpHglT2A9VlSrmfqEiKyCvCFH77t4t3fTuKElkX2jk4aKHeMWd9pKDrHDF.ayqG.Gbw7ghfbG6NcN3.y+lXfqsqamNKSsMtsp8lZgTuEHdR8l0xEbZBdJppXTB7CB+QMXk6I8O49KKyWdysDzalGhyd9JL0QIyXo41pOE+I2VOPbUJKdts9VM02k4oR2p7FYcqhhEmlLMicnWTzqfy8VTsfMCR9gJFU195.9AlBZxQHFuldUz8iB8ufEX9MeS9DPTaXdRE7a3fpKvWMI.yKQUjsiWEZPj59h2ZsK0BfMuYIQr5S.GDuJo18ETdijg4ZFAzMUKtWLdlR7WWq6ZVZweIjjTL5uiQbn.nn13MMBgLEoPodwCYUimUrus1RWw0b.YJKMdVY9UllLNjxlfU+kUxwnMDrqL+wSIwmkvYOMtpHxV4MULuNoACVJMrZXZRTDKcojwdpRW0BqFOc7qXoV46oTLBMWrX2K24108hur3bIFShOINj+zIr7wE82PVR+MZ4U2g697SviWfs7jOGv2DVJODgi9QrYPujxFf113HV1E7jIPagyaFAllKntip8HbmkVHn522PbOU60P6d5nVuBuAvi1k3dVbvQ5ZZiD0KvQW.iB4rwp1Q29N6t6t+H1lZwrTb56cu6IlF11lboZyaF1o3g3toLy+p4SvsmngNGnu26.nDIP+WJf9sE.U0s7S1WA1hYtNF9i4XvRBA.JGAaNFBUpftvuQWkPusIASi73K1vK1keNAHOZgNKwtGiyB4WU9s.7SnKX6k1E7RyRtkv8iL5Ex8Gsb7twRvKjs8+Z7l+NE1w33ACX97BvtkQ2ubceABqGT9MRn7AF8gyiJdOOBf76EiM+BuYLyGyhYonSkrh20y2caeWOSt0uqmm5yA0+bnfb1jjLV4Lp9rwgOG14jUL4eZ+OOi0Mk8OdFFkKihCS7RWJoe3gcAiboqouGzKfHc4.wI4yo8Om7fu+g5atVuTmE20Th+k7Fd15mgW.0+8258edkhMucv8c7Nx1Vgw9gimDwNNdFKBdLh.i+N34FC7lFwUytXR9oIwISFkDG5WN63YLdZ3vgrzxXeoFzAbNT3sXlOd+mwhXdkyl+K6+YPVnWJ3mXqoufb68EqJd8GLjv0D2YZ9KiJ7a9qyJ7xWvvP3Dsog3AGNa539PgUeFfjX33DY3YH1.KNJGaiiEE9XwAhA+HbkSjfi0yIRTD++hNF64ml7U9xyoh4xuuXFvtiE+K.113TbrIQSb1UXcFvw10FCUD+JeezcuG3eV9ZnqwZZrFqo4ZrFm0XMsVi0zdMVi6JWC9vnClxSFK2JBSz6Xwg300ON1CxjEY8Z+aD+EkON
      

      The changes are rather minimalistic because I don't want to throw away the old design, but just improve it a bit, so I basically recreated it with pure vectors. This gives you the following advantages:

      • better mouse interaction (moving away from filmstrips lets you use the hover & click states for more visual feedback, so here the knob is being "pushed down" if you click it
      • better scalability (the old one was exported at 200% but now it's perfectly scalable).

      What do you think? Is it better than the old one? Also feel free to come up with modifications - the code is pretty easy to hack...

      posted in General Questions
      Christoph Hart
      Christoph Hart

    Latest posts made by Christoph Hart

    • RE: The most cost effective way to export for MacOS

      It works there too but I think I read somewhere that Intel is making them intentionally slower on foreign CPUs. Not sure if its IPP too or just their own compiler.

      posted in General Questions
      Christoph Hart
      Christoph Hart
    • RE: The most cost effective way to export for MacOS

      i9/9900K + a custom passive system from these guys:

      https://www.silentmaxx.de/leise-PC/High-End-PC/AKINO-S-900i.html?force_sid=5cialvgovv4ofvn3tgrqo7et5t

      (it's german, but you should get some information out of it).

      posted in General Questions
      Christoph Hart
      Christoph Hart
    • RE: The most cost effective way to export for MacOS

      Yes, build a passively cooled system. I only have one case fan that goes on for a few seconds when compiling with all cores at 100%, but apart from that, it's dead silence here...

      posted in General Questions
      Christoph Hart
      Christoph Hart
    • RE: C++ API. Load/Save button state on presets

      Just use the Bypassed class from the raw::Data namespace. instead of the raw::Data::Attribute class:

      raw::Data<bool>::Bypassed<true>
      
      #define raw_bypass(x, name) raw::PluginParameter<raw::Data<bool>::Bypassed<true>>(getMainController(), name);
      

      The bool template argument can be used to invert the state (so basically making it an "Enabled" property).

      BTW a better coding style is to use using aliases instead of preprocessor definitions (#define). Unlike the preprocessor, the using aliases are scoped, so you don't mess up the global namespace:

      
      // definition
      template <int Index> using MyAttributeParameter = raw::PluginParameter<raw::Data<float>::Attribute<Index>>;
      
      // without template argument it gets a bit easier to read:
      using MyEnabledParameter = raw::PluginParameter<raw::Data<bool>::Bypassed<true>>;
      
      // usage
      auto p1 = new MyAttributeParameter<SimpleReverbEffect::WetLevel>(mc, "SimpleReverbSlider");
      auto b1 = new MyEnabledParameter(mc, "EnabledButton");
      posted in C++ Development
      Christoph Hart
      Christoph Hart
    • RE: off topic

      Oh thats a tricky one. Is it a legit but weird user or has the cashapp gang stepped up their game?

      posted in Blog Entries
      Christoph Hart
      Christoph Hart
    • RE: Intel Integrated Performance Primitive Links

      @Rudra-Ghosh You need to include the Windows runtime dynamically (check the Projucer settings).

      posted in Blog Entries
      Christoph Hart
      Christoph Hart
    • RE: how to mask desaturation over color, fade in

      Oh wow I didn‘t see it was a GIF. You‘re actually making AfterEffects in HISE. Thats even more badass!!!

      Now you need to implement rLottie export!

      posted in Scripting Forum
      Christoph Hart
      Christoph Hart
    • RE: how to mask desaturation over color, fade in

      Well, then I will endorse the attempt of playing ScriptPanel programming in god mode. Here is a little help:

      /** This namespace contains a few helper functions. */
      namespace ColourOps
      {    
          /** Takes the colour and saturates / desaturates it (saturation = 1.0 means no change). */
          inline function withMultipliedSaturation(colour, saturation)
          {
              // Commencing bit fiddling sequence
              local a = (colour & 0xFF000000);
              local r = (colour & 0x00FF0000) >> 16;
              local g = (colour & 0x0000FF00) >> 8;
              local b = (colour & 0x000000FF);
              
              // If you want to lower the saturation, you have
              // to fill up the colour values to the max colour
              local max = Math.max(r, Math.max(g, b));
              
              local rDiff = max - r;
              local gDiff = max - g;
              local bDiff = max - b;
              
              local invSat = 1.0 - saturation;
              
              r = parseInt(r + invSat * rDiff);
              g = parseInt(g + invSat * gDiff);
              b = parseInt(b + invSat * bDiff);
              
              // ending bit fiddling sequence...
              return a | (r << 16) | (g << 8) | b;
          }
      }
      
      
      Panel1.setPaintRoutine(function(g)
      {
          var c = this.get("itemColour");
          
          // make it 2px wide so that it doesn't flicker with odd zoom ratios...
          var area = [0, 0, 6.0, this.getHeight()]; 
          
          // create the array before the loop to save a few CPU cycles
          var gradientData = [undefined, undefined, 0.0, Colours.black, undefined, this.getHeight()];
          
          // we update the saturation every 4px, that's enough
          for(var x = 0; x < this.getWidth(); x += 4)
          {
              gradientData[0] = ColourOps.withMultipliedSaturation(c, x / this.getWidth());
              gradientData[1] = x;
              gradientData[4] = x;
              
              area[0] = x;
              
              g.setGradientFill(gradientData);
              g.fillRect(area);
          }
      });
      
      HiseSnippet 1489.3ocsWs0aaaCEVJMpnwaFXEX+.HxCqxotNxcoYEHMcY0ItKXKsF0occHnnfVhVhHRjZRTw1qKX+o1Or8zdM6bDksjujfh.TgfXwyM9wyMdTuDoKKMUlXXtwoShYFlesU+IBUPm.JWXb7gFlek0o7HVxorTkwKlDSSSYdFll24kn.lartQ9y+9iufFREtrRRFFuSxcY+JOhqJo16fegGF1k5wPyVRemCN1UJ5HCkY.XtikiQL08bpO6UTTr0rLLu6QdbkLouhpXoFlq+Bo2j9AxQBs7uimxGDxvEsM5CFRStqLzCQLR0nS.Ozq2zCcpAXkdktf6ncAeq0IbO9L5kthuImAoTip9Cy0tI30tJ7b97gmYE3stFd22puaBOVUxQGlNVnXICoPHnJrzxZr1eeOqNRPBgpUD8bV2DXwLMr20woI4INNM1qds50f.QphbAMgziJXgsI6SlpqOS0QFEKEvB6M0r2Tq01asE4z.dJQ.QrTH5wHfgTfyKkPICYiHArvXVBYXlvUwg8nEYqsqWqTbcz+0wo0q8IB7TuF9+b6BPNknBPShxPnBORJUkkfNax1DOV4JthXWrB1E.7sa4PhXT.GBIwMfJ7YMz6MZetHjKXyPEYDWEbRVnhGGxYd8mYHa8V2jTZ6FZK7I8O4fca3TDEwDtbgOY..kgbOuPbQJ6Ox.5rRgCktzPv2rOov1jui3LtaWm7GzqNujIKHoiiV1Fjm+bR6cWRd+kjWqQt7OcIwGrBwQEpBj4NoGOjLQlQFQEJhRBVYDDcwfToGpYtDAzKXyoIH8PnM.IKtZP8BZXFFlk4DiniKXrHPQN6SNgpBfb4w1PHY169MICZrZ.W3COjObHnMZiGQRV1mMGe+kcRywevMrSbwEPxSQ52ip3SVoNXrMlljxfhR6DxCmp9VZDW8H4WUT+ph5unnCpJ5fphNXQQmK9vDdWa9aqVsp.aFbpDPN7eQ.T+rmAogMv28w2eJ95f8xE9xZWhMIpWS2ynUJS0CZMndiLSAke1SK+r8ghphBJrCjKbBTPWEryi8lbEKR2kXyoXunIw1DrsFV6+33wPMrGjEh4QvgEn4IYohG.GlPt64PRJViSjddj+TJiH4gkzYmKbaoILrt7LnsH72tsf+MEE+Li6Gnra7g8HKf.WPIEKO4kljPmPFvFJSzDBkxXLyNEJEJZG1o2aItSbCYok6qeB0iC8VOjpx2+LgGaH3e7ZRp7pChGseHs0fP3hx4XuLRW.niXPkm2TrVoWI6BVxDxNwial65dPJjIHy7CzZBGFaDjX0mydvOOa1V8abOUfcCj3C2mryxMFqdvNy4C4WoTzsu002wsIXusWbSlqVnpYailc70wcmE4V9FFs0fZ078wz0WVXrtPiK6pVdN7zB6q8FlqxFM5TVPt+kkIrUKBxGtpCMLb.DEKqBlUDje1SXwXsB5e01ozBJZh1F1swqLlcKlT7Joh8ZvR09TsMpcYMxhrFNbk7va5SjggfEWEa8dcCJZKxhFvfdx4cymIHL9x7yGYc8yGUc7MW8fGUDTJNVvUuNlIttolLJlVAd6sGiQHbPpBZfbvLHJNBAyCYW.SnpGqZCqCYomqjw4xVLhCPVkys9zgtP2tAGFs5dV5Pfw3xgX+8ClTcwHLesj.+ff7BxpTJan8Xf7c+m2elCxXf+zIg23tWkX71bgmIJR03p+6J8.0KMfHLlpzKKjple1Ubf8BFP.atgDwAAEob0jpCz+EYf1OW3deqdbkavpw6Zq.uPH9KMdK97f5VGMbHTfWB10s599u7eKfg9pReXVmDNjzY8prn9P1fKCPh.REwhJy0vze8ZGbM5Y5CWmmu3J3ofYabsYAy1SYZDQcSjezUWJie.x8xo.XRj+cXaXcBtlz1Hu7FzyBtLxHB9tnO55hthGAXe0573agNe+sPmctE57jagN6dKz4GtE57zaTG7SR+oLkLRWl.D5cTdOOSyiDTHKKOiz3+AKf1UoA
      
      posted in Scripting Forum
      Christoph Hart
      Christoph Hart
    • RE: how to mask desaturation over color, fade in

      Please don't tell me you're trying to make Photoshop in HISE 🙂

      posted in Scripting Forum
      Christoph Hart
      Christoph Hart
    • RE: The most cost effective way to export for MacOS

      Yes, that's the plan.

      posted in General Questions
      Christoph Hart
      Christoph Hart