@jadg
If you wan´t to know how "Expressive Clarinet" sounds like:
Best posts made by jadg
-
RE: Has anybody used Engine.saveUserPreset recently?posted in Feature Requests
-
RE: Has anybody used Engine.saveUserPreset recently?posted in Feature Requests
@christoph-hart
Thanks for your awser.
Anyway I consider finished my project "Expressive Clarinet" for the moment....
In the future I,ll work again in it is ther´s any posibility to save user presets in a better way....,
I would like to show you a gif of my proyect, ... a little project , cause I,m just starting with HISE. Thank you very much:
-
String Ensemble full project folderposted in Presets / Scripts / Ideas

Here is the full project folder , if anybody want to test my String Ensemble project, any suggestion is welcome:
-
RE: Can anybody make a little tutorial about how to install and setup IPP for use with HISE?posted in General Questions
@remarkablex
Thanks, I´ll follow your instructions ....
Thank you very much
-
Soft Flute project, I need some help...posted in General Questions
hi,everybody. I´m new in this forum and I would like to show you a project that I´m working at this moment in. I have some problems to launch the stand alone app in other diferents computers and maybe someone can help me with it.
Here is a video showing the project:
Soft flute -
RE: Engine.getCurrentUserPresetName() not workingposted in Bug Reports
@d-healey
I think there´s a inconsistency between saveUserPreset , loadUserPreset and the folder hierarchy...., in my modest opinion...There´s no problem when you use the Preset Browser floating tile , however...
-
RE: About midi channel in Keyboard floatingTile, again...posted in Feature Requests
@christoph-hart
Thanks, It works perfectly in lastest Hise. -
Replicable custom UI components via namespacesposted in Presets / Scripts / Ideas

Here are many examples of custom UI components ,based on panel component , as expected.. I,ve include an external scritp and use te namespace in it to create many of them in a example project. This all work fine ,for the moment, but dont allow the posibility to use mouseWheel event.
Recently I,m trying to create one that can use mouseWheel event based on already create code, but for the moment I can´t find the way to replicate it in a project without problems . So I send you a Snippet of the actual project expecting someone can make any suggestion to solute this problems:

Here is the HiseSnippet where you can see the problem and, if you want , use the code for your own projects:HiseSnippet 3643.3oc2b07ababEmqsocVZqDmhbnH.EX5BTicinWuKoksSUVqOsbTi+PURItAFAATjiVwXtjaI4ZaYAAjCA8R+KH2JPOTzK8ZaO0.z+AZOUzbnHE8RCZOTf9GP5algeL7ykq7Ja0rwQVbl27du48l4Mu2OuC2v0QG6443JTq916ODKT6Bhasus+dqrmlosv5qJTSRbkQd9NCdeSgk2enlmG1PnVsSeaR+0peFAAgewm+4+0EVVyRyVGGzD8yG3Xpiui4.S+3V2Xw2yzxZMMC71lC3n9pKttti8JNVNi.c4zhcDFpo+Hs936oQH6ThB0N6sLL8cb2xWyG6IT6LK6Xr+V647DaF8efom4NVXxCcE1BXDq40brLHZLoUgU1yzxXiv4rm.vkMhs.mlYAdCw6ZZXF0drk3hzNPwif2dT6TIUuSmP85xqdc3TubToSwoRmgoRut3V5tlC8i6gnOmWbcaer6tZfYmWUXzJbpu75hq3.TX62df1ivq4BODMhlJc5HifezZdI3yi0bQ9fGwsGBcK69l1315tXXpPbSt2emOAq62r07HD5JWAsDiTjuCRS2ejlk4yvHv8465Xgz7QFXOy91ThjpiXD21yWy0mxslyQkZbOXV6qnYYsC30at6HaceSG6lsHDcfT85nccbaZhLsQgyn9X+krrVwYvPGa3YulM1PyFa8VMZ05.yca98MITrtQyVsIJF3BAJdOamcf9QlscwCgl7Wev.rgILKs1GlbGRj1gslG9IptzUtxacL74XhsnLejrgMNdvlHvyP2+duQfI1T+8GtJrlT5.JMR0AiimOBOXn+92QaWTuH6Ky6eGGcMq6337nkrMVCisZR7agTCVw9ldv5o0B8WMLb0dxlNfmd+srLMvtMjQQNy9xHmc9jVnCNjrjqtjosErLKpeDShvpzATOYSzPxeICBX3VvBLYuQ6Z9T4cA8i9H4WHAGj8fMYjnQqAqEcbWxaUrt4NXKOZG2ywc.c8owFXWcXhAgTZIQVTgPr4NYk+vdbKqhVS0jp.rUpIssIaXXaCMes1gZVuveY97oiNO5Q+YQTDLk6E9KyWrDIlfdg+RQ7q.KTuh5nD9jmAsWQcLO0TQ9+P6KrWGBhMD65ah8H95ezV2+dLCsLkPdAe.eCI5rgm1iwqaugKFXXieHpqbxtgHINOILdhGPPiUrLgeSF8tNOFhbcIzptZ8gvb8ajZjNC09oivvH5jnCHpWiPuAzYzhxzpL4ygrkL4rpA3Bc65RFFHcRfezifPRj3nTKP1gffsXngj3VbaM0LLHsvrZyxhpIC5KJHpJkdhkNyt2vctL5pfOIj6GzXnlKPazdCvFPI3vThbSM693lCI6iZ1XfociVxgOn8T3gPCGcXTKxDGAMXEEcjfDYlvvSezC744OxvwFotqvFVzION1jdBZkniG0v0frFRMrjiY1zYjODpK9bs9sXAfK6iz3HfF4x.1wBa6H6XqWJg93m5usCIgjRIEN5zeOSujwgdmtnKcIT11uYm1cd6VQ5PutGAV2ocWDGKTHgLlbdzIASTmDlTTrwd9tifiJJgOnChMp8ByZxvYDjlGznuKDcoYPqvNfPFuliar7XJBz6GnYMB2rUKYkVyhZfLVtAIcjRjMvIb4JGzaIcWfitE2Bkd4OkRoxxgl8VyxwvfS2F2LfWZP.EWOHnteFIzsSt7tXVeXdaeL2Ekxum6YYL+NuhEoWUxd7Vc6.qGA+HUsAe4OnAIcGxdPMHH9CUj6HGNjGXZ3uWyVWVYtnldWrY+8fTs+n4gHbPLWMD43ARdUTURhK30FNdlzvIckgC.QYX50xvzK2sEgsHRXS5gJ63Lx1vijyN6.H37TymASJp0qOQHq4D5PRjxgLJYaAwziFFqRtHaSyF6zm0Dj+M3652dWnLvMIRGarITaAbrgENhb5AWKS0slcZe8VxWiMn7XLwpvwZlFvxCsBbua6N.2giNaqNGSFjgtsqIaHOLsQs6MxXTuhxk61Q9sku9GQXC4X312nEhDB5HwrYUB30UmimYgbaIKnzJrw1vrtY7ZTjLRSF0frF1Eaz.lIj5XjXmAcWmQd3rEWgeLPMbPjTcHV.8g15jjjvFbQ83ihDQ192rYV8FlNWkbLQ.IuSVJh68o2Dk0VfZwIKpbCeHZEOaKF6w3cbylMPVq44GOn3oGyMiW.QSLoUZgjte9fYQYPnuGIcGilbhiWtTdDTpYyDb3Pteu5V3YUJ2.OKuGX713bcxU1pe4hr5YXTd1+2gy9RxRrL6Os+7XcdNgTjTrKnHeQbqv+EkOO7IpiTInktN1D4P1TOLiYYHMLqQzhOCVDwpQ3f5b7JrQRIWQlB13lOMM0GxO0y1I2rNUmGNec9IQ5IPrKOkNefDeIgEoezNyH7C4MYRLyX7eNdPEo.nRjhK7mhzfBWsUIp+mAojBIbZ7PHN2tENBZujATdwUAzkacUgRkrriRVhy56PqziQRhS6U3aMLlPjlOQH7LFcOP+NdqWeIKKTbCUqH8DknSJJHcu5vNRqGrGLMIh.aqA4wYznnZ3mF3bE4.KqV7.+V0nhFwktkqGLES1bDDTJc32Nh3ogA+TCREFERRH9SDaXBpPokFE9oFKoqY7G+0CL0cZTL4EVo0tPwC3xGWtYpSRTO4vjJn74XCL63b4tsluXBfyaj6v66XfZDu6JDYCThln3ajnonUij8gYOlfQZwGTb.4TmCi2Nlero7gwHAuImek+oTcKS5wFkjw4CZm6vmfV3B5CpsToQHKF8ktbZ8zYtGOQJOU3vvX0kxYQzI9rjiVtx7VrGmrrjSOlLYImRFiIIYF0eqNI4wXzmrjjSO5rIIWr8uvjjyyILESRtdx+EQn4JyEENdqWwHgJUcTNmQZBP4rPJylU0zGAkxzzmSPVmbVmEj0iBOx.xZ0YRAG82pLNbr.uZ2X3UKU1DvIKW4lQ5EM7pMPMx.C5LRSEHVKj4kiwZczIJTVyQclozfK0GOVkigCHFdiSLZlUhqk.+ZdnuNVdNdglXY6dj+oR60CVzxalX+kW6mX5u2cGY4aNzxDarrKI9nM1yq.nYk61tybvIXUYlSV11bZHyNse6VsphwdJX5BPcNEvrxOrSN382M6AKeTUWpM0vm93RZ4CfcEj1QC294lig1sTEgwJNciRfvJC.VGR+5xPRsg7yT.HoVN.RpYAPRoT.jTpH.RJkAfjZD.RJEAfjZt.HolB.oJAGj5Ic3fNgfET0P4QcbTckqDPWtnAolBMntWKKTOpIPCxyuQwjDhFTdPAoNYPAodDgBRcLoSjy3JEKHUNrfTtZq4KlBBXPWlRRj6iCNH0rvAolENH0pCGj5yEbPpkBIh5XgCRYrvAoV.bPpYfCRs5vAoTFbPJUDNnpO2imHeaGNHkjHSnbDfCRYbvAoLQvAo7se3fJwnO4vAoLV3fTlb3fTd4BGj5TCNnoFZPJG2eeZNF+F2ME9B2MM9918bhDzKQffjF6Wytx+V18xGEniSPf9+eLfdtg.5XAAniA.fFGKOI.+yKdzeFqDetMaSAnedgh7yKTfeN1w8QJm62T6zWlHVMBcaHy9dgfHe+GfS4ANwWwJbnODRBpemTNIvZtxitmiO99jajFDwW5PIT5t1c2b6KnrCKratcytObkLvl1iFrC1kqLLJgB0NSxqanXwW2P9aCoNq9INBcrW21z+9Cw1EcGIEBJ5RPn1YCzJfTe5ESblvKlHw5JXZHT6UDYVZApByeCQERO3WMXvLXSni9BAiljLUE3PghWIdv+6e7u6uA+oRh+bhz+oAqvfKTxpITa3Syun5RVImA+9quJDMFL90B7CwXvAssJ9wl5X1sDst3pXuG46LDDTT0wfMcrtpmFIvO8VKterzmewviAg1NK74qIsFGikz5E9s29OQZkGQOR60BtDvIgxSn1aJVzMwR3IjfKwpxCWbOZnkX84lKNLbc45FItYxPhCvgh9XZ6mUjc4jqwYDNW0VxAVBwZDUe+veIE7pbVs.0Ur11.YgppXsum.cKSD8yL1kpEY92dwjVDgLVjOckES5Mdye9e3Kyyp+ZhI.PUf2ud9yegOqLOXXdqDodva7at8e+Ye1BI7CWTbKyACsvnMgpncgsOI7FRhO.BgC8XUUOR3tvrNiHS9lIL4WpD+jRBmwqM1cuE3L9TsEqvxSdy54N249USxFiztnjN1+6G14aR4Lh3z.5Mw+r+yug8YfFYNb1uaPuIbUyHtsqls2PGOraJ+zqG20RCfCa8S5tN+XCcU88Npks2gTt.ISpkcdJ4xrOH50L.74FeA+hQVa+mEXS3PRVTH68m+BbSa5UmOocf+xymwHDGJdBth+cK8J9miFdQw65XLxRyO4Kb.RfrfNfzBRnnjaxusmo+97lho1agfpphut3Fl956kuNdpbzQxK3fiAcL3c2vLh2Z2cgDHiUvyHt1O4EvKpgf2dFuZPnPVjv.mXpni7JylNNC3VNCY470Krp1fgjiCYMsnp5+Xg3Hnz19JRJIq5tOeaB+ke4WsvC3BQQ40ZtX7yvf2gSB+9Epc5o0BYF.d8uqFTfNY+OjD9VPDKcL3.rgc5jLSqcJxAhrm6PdlnsagsMnOPhXEzY2v3FjN6F1IuW9UhdGkPMo2NzIGZ1QjV5Vz6oju5m8u9yKrJ1RKwxwGj7L1ObwbdSlrtM3572vwRyM8h4okoLwahjx2wQlRnSzQE9NhTy7Ickj55OYqjWjbh4KIU7Ewl6WDxXfltqyGG7FBfrU6Uns.yaa5KWn5h2k7LJptOQwNs6.oUYX9w55jiPtLTWb9iQ4HLF0ivXt5QXLycDFy0NBi45GgwbiRGC48rzRifR6Xq4gF13VzpfqU6VrunFjk+B+OzKKOpA
-
String Emsemble is almost ready...posted in Presets / Scripts / Ideas

Six articulations are already working, you can enable/disable each articulation(and purge or load his samples). Mute button and vumeter for each articulation, master equalizer, midi keyboard with selectable articulation ...., and a preset browser not too customized for the moment, I hope wil be better in a few weeks or months ....
If anybody would like to test STRING EMSEMBLE , askme to download the full project folder.... -
RE: Working on a new project...posted in Presets / Scripts / Ideas
@jadg
One of the biggest problems is in repetition on the same note and the gun machine ugly effect...
Use a lot of round robin groups is not the solution , if the sound of the different roundf robin groups are the same or very similar...
it´s better way modulating in real time the response on velocity, attack time and attack level.., afortunatelly HISE alow you to control and modulate this parameters !!!, and others platforms dont permit that so easely....I think the best strings sound for the moment are Spitfire Audio strings..., and they still have this problems.... !!
Probably, HISE could be the beginig of the end of Kontakt.....
Latest posts made by jadg
-
RE: Exported plugin don´t show midilearn popup in daw,this is normal?posted in Bug Reports
Same Host, VSTi midilearn works perfectly, VST FX plugin not working

-
RE: Exported plugin don´t show midilearn popup in daw,this is normal?posted in Bug Reports
It,s something specifically for vst Fx plugin. I exported recently a VSTi and this problem don.t exist
Really , not exactli Daw just a vstHost
-
RE: Exported plugin don´t show midilearn popup in daw,this is normal?posted in Bug Reports
Off course, but this is not the problem. enableMidiLearn is set to "true" for those components.
But it,s not working.
When I export to StandAlone App, there is no problem, but the exported plugin don´t show the midiLearn popup.
Maybe there´s any relation with the popupmenu LAF I,ve used? -
Exported plugin don´t show midilearn popup in daw,this is normal?posted in Bug Reports
Exported plugin don´t show midilearn popup in daw,this is normal?
-
Getting and changing Range Start and Range end in a Waveform associated to a Convolution Reverbposted in Scripting
Re: Any Examples of AudioWaveform (RangeStart editing?)

Content.makeFrontInterface(500, 350); const var ConvolutionReverb1 = Synth.getAudioSampleProcessor("Convolution Reverb1"); const AudioWaveform1 = Content.getComponent("AudioWaveform1"); const var Label1 = Content.getComponent("Label1"); const var Label2 = Content.getComponent("Label2"); const var Label3 = Content.getComponent("Label3"); const irs = Engine.loadAudioFilesIntoPool();const var IRsComboBox = Content.getComponent("IRsComboBox"); IRsComboBox.set("items",""); for (x in irs) IRsComboBox.addItem(x.replace("{PROJECT_FOLDER}").replace(".wav")); inline function onIRsComboBoxControl(component, value) { if (value > 0) ConvolutionReverb1.setFile(irs[value -1]); }; Content.getComponent("IRsComboBox").setControlCallback(onIRsComboBoxControl); const sampleComponents = [Content.getComponent("sampleStart"), Content.getComponent("sampleEnd")]; for(c in sampleComponents) c.setControlCallback(sampleComponentsCallback); inline function sampleComponentsCallback(component, value) { local rangeStart=NumSamples*sampleComponents[0].getValue(); local rangeEnd=NumSamples * sampleComponents[1].getValue(); ConvolutionReverb1.setSampleRange(rangeStart,rangeEnd); Label2.set("text","Range start at : "+ConvolutionReverb1.getSampleStart()); Label3.set("text","Range end at : "+ AudioWaveform1.getRangeEnd()); } inline function ConvolutionReverbChanged(processor,index,value) { reg IRFile=ConvolutionReverb1.getAudioFile(0); reg NumSamples=IRFile.getNumSamples(); sampleComponents[0].changed(); Label1.set("text","TOTAL SAMPLES: " + Engine.doubleToString(NumSamples,0) ); Label2.set("text","Range start at : "+ConvolutionReverb1.getSampleStart()); Label3.set("text","Range end at : "+ AudioWaveform1.getRangeEnd()); }; // Broadcaster definition const var ConvolutionChanged = Engine.createBroadcaster({ "id": "ConvolutionChanged", "args": ["processor", "index", "value"], "tags": [] }); // attach to event Type ConvolutionChanged.attachToComplexData("AudioFile.Content", ["Convolution Reverb1"], "0", ""); // attach first listener ConvolutionChanged.addListener(ConvolutionReverb1, "AudioFile", ConvolutionReverbChanged);And the snippet for a rapid probe. I hope can be "usable" :
HiseSnippet 3005.3oc6Z8zaabbEeojVWS53TmD2VihlfwD8.oCKMon9qccDknDsYMkEKIkcRsERFs6PxMZ4NL6tTVJFtvG5gfh9An4V9DTjiEn4fJPAbOVf9EH8XOTf7Intu2tK4N6xkRTNtNsAg1Fly+d+edueyLrlIWgYYwMkhkn4g8XRwdE4FGZX2oTGplgTk0khcQ4U6qpwuGceVYtY25Ti1Lo0NrG0xhoJEK1z2DmYr3yH474qVYMpN0Pg42kjzc4ZJrpZc0r86sVwaqoqWlpxZp0UX1yUrhB2nDWm2GjpokyI0iprGsM6NTbZSIKcKpUGoXWQd1YaorTtbKUnv74nzBpT5b4YEVl0ZgVJyma4bp6NeN3OKHE6LanpYyMaXSsYVRwlYMt5gM5vengKCtqlk1t5LrQdoF.mc6tLWWEUQrWoRczzUqMvbYIADsluwaZWi2Ek2TSUaX+9FwK3L.weEhFvXSET7lNf3kWT7xIHdQHRwDDoYbEoWStghoVOa+QP44bxULrYlsnJA8ktyUZpOItbINLCC6rco6wJaBMFthTymKWFBXzSe8DfqxxlrO0j.yeetdeaMtQc19LycyStAwIVJaalsSLTCZ2d5rgRRpjBqg3snjCI5vvtVPXGRrARDPtR7t83FPiTICNsjAjopzcY5ieotCGwRl83WxrQrjBG+RJfKwaMZlVvj2vnslAKqNmp5nBk0zYVfMlWiy0Sk959zuRcKfb6xWievXYhvbPNIzLqECFWyl00JYlj3ffghj5.hlAJIoSDWbxTU0JvTScPVSVOczYm7Q0pu0uXiRMe+xaUc8Mp+3jo8GK6Co6mLMpZZF5f5PZ02PwwcxMDHKJylfVoLPfy.JldeV5DOJAgPzZQR4zl7NjbowdhGezvITQPiTJPpuu6z+Y42I80IteR73qmXBrMHU7DmRTc8cgbKohRVSe83C7WVNgsCIH57tezbxclv9XS6joyjfL1OG2x2vPMY5ct93WbBzClRAcfgEMv3oDkFFddCFHJO23l637dC+nyUn5DSr.giI3F2oeW2s7VWILQuetcPk+tHcff8HniKg.ig.YHWYDo694CRn3j3nIJdb3uiIHxkXNExR4KsYFvOjHwi6tQ2cyiM6.aXuiyJHV3jITax0HIe6HXP6ALvgpoRKPtBQPNlg5.hEJiGRo5dxDRFHd7wIF0cMhH.UcfEolp2f7rYzLTYGjw2mYxZCIUv8R2HZEXXBoTXNdm466Dtg6Rw4424.eXT9YEOABsDtobCXGZtUyUqRZr5l0ptQiqgDII4sGjdTk2GJ80j2v1TyncJeFlIWZhyd+DuPcUH6eA3qvjQIt5UIqYBo2UnVPkShJqklgFx+nqZ5427KMnXx..ABjHEteKolZRPBFcgIwDNIolssfwuexgt+jYf0fQ.3WbBBRtiyTsotScmDONsq3RssoJcH1bBXgLrIHDhDixortyqIG8y5rCVmZS8JD6DY3kcC328irD+NffjCkljA4aKHytMQWCzUClYjLVUsp2voF0gBTbnP.jeb6LPlF5iPYq6vsYaYjB2nDG1vQBOTqVQNlWFWcPvhZXDiq4wsvTF86tKyTH0pyDAbbAAGJOdvghXWUbcABSDJxAQea0iYLNDsRd9M.H4LdREfx01AF4OvCFYfvdIMUDZavsBRNJfH5eUH7.wqGFHg6d5MLrXcAMnQWnNyZHfBI+jxf9F61+VIoA4lw1W4OMkqn5HeS6Jeupm70PWSkY5HXmWVnbb.o5I2HwSWYRHw4jGVRN.A9f+3a8uFk.Wvi.CPR3IEBXKBaa9IEk1tBt6Awt6Y8AOROlosF5risNae3jStH4iKuNyZOadO3qCSvBx3o1Acfu.bwhG523RG8PMU6NC63y90E6vzZ2Q3PaZEGlVohJxzH1dKgXMGb9sWQdtYWdtkWXwYWddgAlMzHHJ36oY2oJqkcIcMk8.ceJKH3E2J6dvuXSKIn0mYBc6955S1VPWK9gE6RErCe4Jc4p.89gx2ALQTcsOloViYp.7BN4ozjwYwnEeZezGEhuhmV9Tv2y6x2y6wWmhTNr8rxtEUE3Iok.OORsXP+pj5H904J1Bh9bMzXbVKZecaIruFfH4OurEEctwOSlLW82i8yfbTTmzPwlFzh1FccsUx5fCUBKhJE6GKOZk97KuvBKsjzts8I47ySehCuDz8u+In6yJFSmRLlNrtW7CFQ2emIT2yDR2ey2j7rIU2uj7HHRJL+b4JDbKQ7y7nGczZHMwU4yoO+O+W9mXuhlos29IO6zZlJHXl9r8eIYltzktciI0L8ijCAzJ+hKs7RKDohGzD8EewSc5Mj87xW9S9cgsRmchyVKj7ntf0hXNvZIG6yf1CrTxwdKOI.Rc2SNw5lGtN0buF1IpBnxXj6AYJHanzgStETpKQWvhzuqPG047tj7N+2ZZswklvonn6nQUsLwc03voApTO2bRN4yjic1PZa7SHlXtwokeYuwokWzy5ig0MX5LEHh1fPwhL.DNcF4ZRQ6f8cWO6YOamv9kycBR57hIU4hIU+HeI8uFPR+4PqtPXpFdjIrjhqXusbqspSZdqJMxPHu2VaS1b6FMI2Z06tAY067djU2d8JaUtBjihT4N330ICuDDWnK6PtJw+RaRRHW9xWNjFtxJOcjrC9afNq7VGbXa.Jlzn2X2Ej2jq1WmZG7BDwqY0a.nXafasCuYNCKM6CEuF1v2p3LS1sJd7W54jJtulbMMakNQKuSEg7B.f9us75cGsmWdiVsfXVegcF4xu6wdgrmZQ4Dub1WefrHfexQVhFQknvAYUBdi6RR2iYKz0Qe5m9FGUEjbCk.F3Jc60W2hUkYzVDLvWshmbUwnWeaw921hsFUYu1l79FpM6.mFUM3xXpLcZ.dbKsRBz3S96EWGPDAosDmS4xM8.zNDDpOJuSwoDb.R4d7.ube3ICz47dAN5.1gvIGhM8DeY64O1KaWpNGbRFs2jBBHxd7tIfM+JL7XlFLc7vZwlByw41NG1F02FP4MmFPVvm4MXdrcLuAyOXPwv22z0n85xfAgQAkus6cW3dg9Ij8Zk+EwayzaheaFHH.wtGDBvQEWqOrGyLXuedQGVsZWHbJ.u7j75rdLp8lN3gGL3YKVu9Mg3udgWED9gIXZZBAnAhu9pU1xfA9SaQcrjI2xpEnNNzxRbnZ8gRyph83royJXefuUzqhNJX2AFCooLH.ve1NbIWS2z9SI61Nen1yFpcgPsmKT64C0dgPsWzusqAcSZOLx.ZG9ND9dSVLOPfZTPkElIfKYHwc6QL+6PyrinH7.auLe8rWp0495WV9Eyi8EefL1Py8Dn6CaKgdPY70G.VePuASQrI2f2qC2PSI3l.HntcalonrGoBsJd2c6IlMuNfIjZIrK9mVrJf+hZFbu8oxVj+T+vmQ5utjrq3Rv7Zjuc.mZ5u0Cm5qio6U8JLRbAE7+194WQ1IUNAq79Mkn9x.Vix.RA5l22ctEzXSyLvRGNmRPGpCqKFRaAfJPQBpnIZPeiAAhNmHqJGu9Twe4JDrKRM.o5wiN5u8hGcTiCMTBmzaL3Vjjp5.T0S8ExDy413COH9KmQ3Uq.xeRfW7QWunboq8..3ho0C9PNLqGrYeKMkGTei0gy5pB6Qzz2mYA3KwSdzmoaSsDgZiDyCp8Q+6KLc.n13XBPswwCC0dlIK89I7ytYluC3v2T.Gl86.N7c.G9+dfCuLJv8xfGcoJl72Ww8QHwX4y5zCn2FdWR+lXaRDuHaWHq36qnDjTirvYedWXgm2EN2y6Bm+4cgK77tvEedW3Rm7BwhVq12l20cKq2aC69qK..IJ1PN14Bt6R7W1oCCqf+zOFPZux09O+nS4Z+jUk6qqOxbvNCMuF6wdX3D7lfdg88nK9Gt4+3i+MqfWjIyzFkxEkKrXVilKb6kJs1MaWJa16tQYZtsyWq+b5J6U4l3+xt550dWse489U42tL78VYylUBx4ZpsaeD7i3iqVwkvN4Hj1r1FtXGiMD7Dz6+A.W4hwG -
RE: Fully customized pseudo backlit interface via LAF,with user selectable color themesposted in Presets / Scripts / Ideas
Here is a video where you can see better the visual details:
Fully customized pseudo backlit interface via LAF -
Fully customized pseudo backlit interface via LAF,with user selectable color themesposted in Presets / Scripts / Ideas

If anyone might be interested, please let me know so I can share the necessary code.
-
RE: It´s possible to change Popup Data in execution time?posted in Scripting
@ustk Thank you very much. i,ve created a similar solution a few hours ago. I don´t use Broadcaster just the proper scriptSlider callback ,a "InlineStyleSheet" for the valuePopup Label and a Timer:
Content.makeFrontInterface(400, 200 ); const var Label1 = Content.getComponent("Label1"); const var lblCss = Content.createLocalLookAndFeel(); Label1.set("text", "ValuePopup"); const var valuePopupTimer=Engine.createTimerObject(); valuePopupTimer.setTimerCallback(function(){ Label1.set("visible", false) ; valuePopupTimer.stopTimer(); }); // Label Laf lblCss.setInlineStyleSheet(" * { letter-spacing: 1px; font-weight: bold; font-size: 12; } /** Render the default appearance. */ label { background-color: var(--bgColour); color: var(--textColour); border-radius: 5px; border-size: 1px text-align: centred; text-shadow: 2px 2px 5px rgba(0,0,0,0.6); } /** If you edit the text, it will use this selector. */ input { text-align: left; padding-top: 0.5px; padding-left: 50px; padding-right: 20px; caret-color: white; font-weight: bold; } /** Style the text selection with this selector. */ ::selection { background: #50FFFFFF; color: white; } "); Label1.setLocalLookAndFeel(lblCss); inline function onKnob1Control(component, value) { Label1.set("visible",true); Label1.set("text", Engine.doubleToString(component.getValue(), 1) +" "+ component.get("suffix")); Label1.set("width", Engine.getStringWidth(Label1.get("text"),Label1.get("fontName"), Label1.get("fontSize"), 0.15)); Label1.set("x",component.get("x")-(Label1.get("width")/2)+(component.get("width")/2)); Label1.set("y",component.get("y")-20); valuePopupTimer.startTimer(1100); }; Content.getComponent("Knob1").setControlCallback(onKnob1Control); Content.getComponent("Knob2").setControlCallback(onKnob1Control);Probably the best solution is a combination of yours and mine. Thank you very much again.

-
RE: It´s possible to change Popup Data in execution time?posted in Scripting
@ustk Specifically ValuePopups for sliders? Maybe using ScriptSlider.setValuePopupFunction ?
I,m afraid this way only affects the proper text returned value but not the text formating and color.
What way can you propose me? -
RE: It´s possible to change Popup Data in execution time?posted in Scripting
Every object colors are OK (in real time) except in ValuePopups, that preserves the colours from the last initialization...
Maybe the solution would be somethig like "laf.registerFunction("drawValuePopup", function(g, obj)" ... if posible...