PresetBrowser

Christoph Hart
@Christoph Hart
Best posts made by 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...
-
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.
-
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..
-
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.
-
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.
-
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:
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...
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.
-
RE: The most cost effective way to export for MacOS
i9/9900K + a custom passive system from these guys:
(it's german, but you should get some information out of it).
-
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...
-
RE: C++ API. Load/Save button state on presets
Just use the Bypassed class from the
raw::Data
namespace. instead of theraw::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");
-
RE: off topic
Oh thats a tricky one. Is it a legit but weird user or has the cashapp gang stepped up their game?
-
RE: Intel Integrated Performance Primitive Links
@Rudra-Ghosh You need to include the Windows runtime dynamically (check the Projucer settings).
-
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!
-
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
-
RE: how to mask desaturation over color, fade in
Please don't tell me you're trying to make Photoshop in HISE
-
RE: The most cost effective way to export for MacOS
Yes, that's the plan.