Merry Christmas!
Best posts made by ten7kur
-
RE: Nothing happens when building latest Scriptnode
@alepan said in Nothing happens when building latest Scriptnode:
Update: I tried opening Projucer from the Tools->Projucer directory, and it says "Projucer is damaged and cannot be opened"... I re-downloaded the latest scriptnode and I still get this error...
I had the same problem.
I replaced the .Jucer app with one from the previous release. -
RE: Engine.getUserPresetList() path, check/exclude duplicate entries in list?
@d-healey
Ha. Im a dumb ass.Ok i see how the presetBrowser is theme-able.
I have 2 questions.- Is it possible to change the Favourite Icon? I really dont like that star!
- Is it possible to Hide a specific folder from display?
Thanks!!
-
RE: Slimming down a script(for best efficiency)
@d-healey said in Slimming down a script(for best efficiency):
@ten7kur Did you see my HISE Scripting 101 video?
I did, though its been some time. Will view it again.
-
RE: Populate samplemaps based on folder choice(almost working)
@ustk You're a beast! for goin nitty gritty!
Wish i could be more code efficient!..not yet! -
RE: Print Object Value for Object Key; not working
@d-healey said in Print Object Value for Object Key; not working:
Here's a quick guide
//Objects store data in key/value pairs var obj = {}; //The key is like an array index var keyValuePair = {"key":"value"}; //Objects can store multiple key/value pairs var multipleKeyValuePairs = {"key1":"value1", "key2":"value2"}; //Arrays don't have keys, they have indexes var array = []; //The first array index is always 0 var arrayWithValues = ["value1", "value2", "value3"]; //You can put an array inside an object. var arrayInsideObject = {"key":["value1", "value2", "value3"]}; //To access the array inside the object you need to use the key var arr = arrayInsideObject.key; //You can also write it like this arr = arrayInsideObject["key"]; //To access the contents of the array that's inside the object you need the key and the array index var index = 0; //This is the index of the first item in the array, "value1" var value = arrayInsideObject["key"][index];
Helped Alot!
Big thanks!
Even though i pretty much knew it all, your example really put it in perspective! -
RE: get Index from 2 arrays simultaneously?
@Lindon said in get Index from 2 arrays simultaneously?:
@ten7kur OK look this code:
inline function onViewport2Control(component, value) { SelectedItemName.set("text",Maps[Viewport1.getValue()][value]); //print selection Index Console.print("selected:" + value); // if both Indexs are correct, then print "OK-selected" if (Maps[value] == 0 && value == 0) { local Selection = "OK-selected"; Console.print("selecton:" + Selection); } }; Content.getComponent("Viewport2").setControlCallback(onViewport2Control);
Just put this line in there:
Console.print(Maps[value]);
and you will see you are getting an array back.... not a value.
So this:if (Maps[value] == 0)
will NEVER be true...
What are you trying to do?
Yes that works, but i need 2 variables to = True
-
RE: Dynamic keyboard colouring
So i watched the video tutorial @d-healey suggested.
It has helped A Lot!
I've managed to associate/index buttons to Panels and Labels to change their colour, but....
I can't manage to get the keyboard keys to colour correctly.Instead of colouring a single key(associated/indexed) to a button which is pointing to Sampler1, it colours all Samplers from the Sampler array(SMP).
I can't figure out where its going wrong...
Please help!Also the Panels and Labels don't save their colour. Is there any easy way to save their state? I'm guessing i have to code this manually?
Thanks!
HiseSnippet 3810.3oc6as0baabEFTRvVjIJW7jNsclzYPUZ6PEKSQRcw1Q1MjRhzV0TRbHkkcFOdTVArhDiAAv..JIFOdper8mPequzGZdp+D768kNS+CjeB4WPcOmcwkEfWDkhrqSiXRPvd1yt641d1ucwp5NVpTWWKGoTo2smMUJ06K2rmoW60aSzMk1bCoTSKu9N014gMjVqmMw0kpIkJ0j2CqMU5ojX+99ubMhAwTkFQRRZOKcUZM8N5dQT+5ROP2vnJQitqdGAtWpzlpVlqaYX0EjjIkyKYSTeFoEcaBx1DxRotREMcOKmldDOpqTpoVyRqWy1VGax4eOcW8CLnXgBRMgNhStpkgFJwHUo0aqanUOPickjRc05Q5+jb8+Sj2RWSOjdjc3iXUnD0BQ6QpIFk3UPT7xO9hWJAwaJt38wxMUczs8hpAksOTdKPL2zzi5bHAbChhFmeoI9Yer75V.Gld45PdFspCTHrEYu0x4mWY474ma0Lyjwg1RQeU++eQ+WTcCdg4lTtqxSd5pBDZ54na1Z0LY.OoqmxQDGEhgcaBvXv3Rzzdfo0AYmsLVwryq.iINhJvOFu4bodMHlsnYgZJt7xyqTHY0Ym00qmAEZ7r6Qc7zUIFy1OO5dzN7vIbTNoZ0xre8y3AshwVd1OfsHkvgpMHUnAUCZyxEhz.fwgK+9UNBoOji9jctXkjsSWxa4PolCR1uGVAztB4KFI9LtGtBDV8.DvUVpZ0kpzOiCSDSv1.MIQpwAFcoCRKVCniJwxKFoDHuCWGBpcDdgHV5SKKrd97Uq1GemteP0RKgBTib.0H6rXEPyJVbIzWvl5oaZnaRUNrqopmtkIzVyi.QbWq6SOI6Qyk44YRiS4ZSOYWBjPAmENadTQJfOJhOVDerD9XY7wJ3iahOtE9313ix3i0vGqiO1.eTAeTcVXNMaDzJ.8cvv7jsHdsycngkkS1iVnvJyExUwgwkxuUIjOutNlXGdcf+Uy7hY.8bgg+S4NMqrqBeQmeuxHXbgYDLxa+vs1u4V02m2t8W6g6t6Na2DjthhtBANNnqmGPmmGalAyiMwjZLZVLPW4fYgSDz.kx0pozjzw1f53lAp4I4eJTIag1bsndrL+rRq0aSSMvSOKvTAHlDZbYMMEWdaUJn3YoPbbH8X8RgwnWJ1euTblLYNzxQIqNz77qpnqbmgX9f5t90gftYXw78a7dh9SEBrQYvpiskIT.lW3YFvM1vYAueV8qWXt4VsudialGUmYaZLtcF2gLpNy3fSsy3Me.lVlMMVKFgsASPfhfikw5DCiC.LMYsLSXX7Y.l8+hAL+eXrmUMPelGB2fjQyMC5lRaXAIyTz0NAE+9job5XbwNGF0ZTCRy+2jgD84fxYPMa40lGTvUa+Hig4Oy4BPfBjXlPcWEc+Lnuf2zQLpbO4XOpgN9y2ndpiC1yCbZ1fGBkY3Y5R5Q6ZqAXDWGR8mMblEtP.e0DO5IdXh37mfAYbjUX1hv2KH7dQg2W7o9CuHZLPAOO8j+7fEVvtqWnro3x6RcSHGz1ziwrb5r0fPi4Cn8Nvh3nw5DGBpo9pFlaj0GsB0ufIZACyY+Gukmyfc9f1DTo5k2tRMe89TCGO+SBnd0A34dMr55AgBYCBEx1Ztm2J2gvNhJaXj0l33RA.4YEcfPFlWL2pCHBKMWApUdMAEH8ajISI.4DS7VcHA+bo6AU9pfcKDP9F23F9TdFsmqhWaBFgY5A1GEh+JTmwonoC41EBNQ9lKTidd3aQcYQ+9rHzoEJdS7MbQNQFedXvYvOPg3qdFip9gJY8yLPb8YH6b4zc21xitc2NGPc1hXaS0fQct4h2i3uJlsf.BzDCye3VXfy4UhhEbCWUJ32KhWLSB5BNjYD8H9Yi3+ivxKnjtiYVFxRXEHkjUc3gCrN+zqL8c.Uiau2YTMLqIy5Dr3Exn6w5dpsU7qYtLoC7s9+uE9b3kzpDWpRh0DK7EwsIQkNvgRd1pYhSbPcQwDcAHltVFzb1PXtGGHEH7+Zkf8ID049R2muPnzNpDW93ZUFZds.UjsG0u.JkNJ08ciucfvnDtMLYfh3BMnTl12XjNcvX.6kTbDJb5i.xcr9cPcKaqchcbwKnNF2zkX+t3Oj9E50Wj4ERolJ9I2jY3mbi3AKoxQVJvnk4ll5d6XSCKymZEPIuT3LJQRQSjDoxl+L.1hH0+wEI4i1URJ064yNvpG6Xi9.+iMpogtF0QRWSJ0UkYmBiDyREdTbemUIownwxxMnZIZpj4X0zqJyN9gjMlNVM9Jx3t9S1VecWrsy32V1Ns8aJhBInouuL6jUxW9V4yKMzQdMFRBVyulbxjNIkhu+KGCo3ZxI18QX2Lg7v0h5HVB+1mXqPEFCiw3nNEC5G4TioAsOUo3OPUo3.TkGt4FDOBdVn9Q2PDuMdlM3b0TaPORWkxOYzzxaPcelmksTpoC2rG3n87OVW9vW0vB.mZ1ZWcXNMJEenrHoBRmHN78BKTpWoi007ZGR3qeYo1T8VsENc6GWxWF4BTF4.PwRAvm.duhll1qQtiNeIj5qe8q+kwoVzmLiYD1bDy+yWwoxLMSXjRlggaVX3dDJiy9EJEVJW94YD2P201fzaGUOxQ9PRf5OjX3R4LTy5Xng.sayKeecdQ.ZDmv5cc8r5bOGhcacU23MdC5gjtFdkALNDG7K..U64z0u10Lfc7B8VCb+.PM4ysxsY+t0sxeyam+lE3rsqUqVFzsvCCKVmim295sIlP.CJObhOzktGUERXKHPQiHTaUChWS1w6EuypWIvczWEPteGunQpXXEUL0DDfU.LTXfcXr06cpIWOIX9TufWXm7HFbDbxi.EpcS8uIVljNjSDSIGOV4a+1uk49EipfhLZwCRk1rufzMKMdZ.OCOS9W7BV9AQ8Mu7GrLCSCN7BVC190Zu40.+05XJve4BVAdszmdQo.W4TVvkI+eWf7mYHCJlfq+UkG1fDsHRF4lk2pdsJMFZl6W93DYt+WeSRMpzdkRMovnM8YAEPzvV5qJEMrR2tjCQS25dNVcsE8K.DUXPDFMAUHtfpP5yze2Xl9zmATFBVmEEEy5IrNubqRbeArHdxQe4RiR3ibqC0Ml4L.qYXBrT+BbB47k0FS4DlGT4u82wlPLLrNN3LZcQTAkMLThH3BKdtoYcGJrUc.2wDmsXyhCK1To8axXyXCarXy6bliMKFDaJm5OCrFHjxo9UbvhCyEOR3hBhWQAw6U0KMjXoKlPU.mYvl5RM44K7bnxtzm7CK7rXhoQku8JKszxUq1WDnnJz+0D3ijA3TcAjPwuAC301vuBcHpQ7ZBfWE.SWcudhwCuQtVCiq39wx0wCDZvx6D+uQd8ujHyHW4vCATnQB6TxUe7agaDxDBxxzgWXGc7fGuWfnLiOAEFkgeqcf8OPgcFHR3QBgt+0+yqm7UC3d8rI63VpaYPbhY8Aoax3p7ji2QoL.0bpwNDAUIkezDReMYlI+GSBLKj3GOB7GICYseGPb4eqmVaQ7bzQDvvNuaBI0Uo96mzEW6bBboSd47Af6aRM0XEvs96WYArbJ+JKDTonI4ZA4kV2x7HKitLUGsGehHEkFTXt6AwrIa3zKYZgGQ8hS5qdUMv1XpFa19lcr6BahtF6SxHZP8EqMMs65IRG1a9Z.XpV.nCSsca6PIZh8GrzlVx7Q2Wecg93O8uKsAoiMXVE4oZ0c8O.nHR5FQ2bvNnlvssrsDwe0vxxlsseQBv18CJdgkK6scjvmxMFWStoGXgAkuk+2khENbEY7hk718pbBNVCKhV78m9pRq0EVB0IN0+QI1PUtCDhDar70gFTaJwCOonnJ+txMZv.xlrUPjHheXWGHnKVLy2+k6XRAeomnNttikq6gf5v5K2XQlccZQiEqxlG4FmF3WE8nnSBh3w3Gc0.meD2rQIO6ZSwhRYkKjnbwDkWLQ4kRTd4DkWIQ4aFUNkb736qNdw2aQrYnhE3bMc+HLnNNEwTiglU1PKbgcGvp9W4c5ai6aOT1SNdh6o.OLcfLxQCVAfsYXAT33l7O31PphB4VVlV1ssL0UiGyCwvsZQchCFb.5SYOOXJm3VhZPMnDWgIs+lR0zMoDm3SkOSlhSABYpwzc8Kj4hqBlF6cKbNSG7cD1C7Qp3ny8c9ICCodpRJjGxeleDMNL93ov1fppCaWOtSAR+6OPr9f8MGXYPtnbUWH6GbxeRtevw0z8A9wLJbHOuaCg+8kYKVofXK9+Y36pAcEna9uymbMI0DmowNlCC.ogg3jQW.1DJR32Xkeco5fq6NEGc2Fnd2jbDkOGF0tDniPRaoqV2BLjvbHbhq7pvHw6KHoSCKKFn36.CVMqGP6ETf8gAipYOTt3J8808K7GQSWC+iUjqyQXwIxKrGrQjNT2E1BV5AR2poSVXuhkw+SIqC8nh4NYtE.+fVWUpyMZRczAdWai4atw70qzXcFOKlK+bKrFnKfyZgCzJbCSqcI1zbGSNRZit1F5pPbPxSEaL.EW7h.Tr8aQPw1iBT7zktDT7kfhuDTbRjfiBT70RBJt34CULhs5RTwu68ICFj7JIcIDwKgH9SHHhSKuskSGhw4Bj3DAfD+4XWwrQgn69L4mWuwN+gJqu69U2o1FUZ7hcczIlsLn6eiUzVigOiCsbJ4UVJBL4uSDl4mEgrD68.bkxEJdyHbkLWFCHoOTJh+pmbMCvNo4WAlKv2qxDb+C7Mh.6.eup7RKUHeLd.CCmsZQGSbPwXsAI7XVTnP89dFTNqYcbzF0EX7g11CjdnL34SHNj19.oupn0aUQP5qd9.oq9lAj9w5dsuPfou3kvzuDl9kvzuDldDL8EuDl9kvzuDl9kvzuDldhyx8BDl9Jh.Mm+RX5iDl9aiXtNDUGq8U4+UVgQdSyn.hiIyQOsruwO3OqK474xK0A.drupJWngf0f+3C012l3.syisBIdkWG3EGRfIzrEVbe9X9dxOB+aRmEnyt1MSKeCv7iiK6l2vDACqiEpnsdq1A0nG9IIQoCuePVlF87mYGW6tJ+hzMBkKQCRKuEVVYwydSV5r2jkO6MYkydSt4YuI2ZTMAQkVtqmUG9Zx.g5U34wRENaAht+uvjIl1N
-
RE: Dynamic keyboard colouring
@d-healey said in Dynamic keyboard colouring:
parseInt(cs); should work
It does work! Thanks so much!
-
Dynamic keyboard colouring
Hello,
Im trying to colour the keys with a user chosen colour from a colour picker (created by @d-healey) but the colour does not want to appear on the keyboard.
I can colour a key I want if I directly specify the colour, e.g.[Engine.setKeyColour(i, 0xFF1C00FF);]
but, it does not work with the colour Picker value.
Why could this be?
Is there a way to REPAINT the key[s]?Thanks very much!
const var samplers = []; samplers[0] = Synth.getChildSynth("Sampler1"); reg i; reg colour = []; reg colourString; const var alpha = Content.addKnob("Alpha", 0, 0); alpha.setRange(0, 255, 1); alpha.set("style", "Vertical"); alpha.set("itemColour", 0xFFAAAAAA); alpha.set("bgColour", 0xFF000000); const var red = Content.addKnob("Red", 150, 0); red.setRange(0, 255, 1); red.set("style", "Vertical"); red.set("itemColour", 0xFFFF0000); red.set("bgColour", 0xFF000000); const var green = Content.addKnob("Green", 300, 0); green.setRange(0, 255, 1); green.set("itemColour", 0xFF64FF4E); green.set("bgColour", 0xFF000000); green.set("style", "Vertical"); const var blue = Content.addKnob("Blue", 450, 0); blue.setRange(0, 255, 1); blue.set("style", "Vertical"); blue.set("itemColour", 0xFF1C00FF); blue.set("bgColour", 0xFF000000); const var code = Content.addLabel("code", 160, 70); code.set("bgColour", 0xFF000000); const var pnlColour = Content.addPanel("pnlColour", 0, 50); pnlColour.set("width", 150); pnlColour.set("height", 50); pnlColour.setPaintRoutine(function(g){g.fillAll(parseInt(colourString));}); inline function convertToHex(v) { reg hexTable = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]; reg d1 = hexTable[Math.floor(v/16)]; reg d2 = hexTable[Math.floor(v % 16)]; return d1 + d2; } reg cs; inline function updateCode() { code.set("text", "0x" + colour[0] + colour[1] + colour[2] + colour[3]); colourString = "0x" + colour[0] + colour[1] + colour[2] + colour[3]; } cs = code.get("text"); //Engine.setKeyColour(27, cs); Console.print(cs); for (s in samplers) { for (i = 0; i < 127; i++) { //Sampler1 if (samplers[0].asSampler().isNoteNumberMapped(i)) Engine.setKeyColour(i, code.get("text")); //Engine.setKeyColour(i, cs); //Engine.setKeyColour(i, 0xFF1C00FF); } }
Latest posts made by ten7kur
-
RE: Encryption; Blowfish's PrivateKey?--where can i find it?
Ok.
Well hopefully @Christoph-Hart can give some input on this. -
RE: Encryption; Blowfish's PrivateKey?--where can i find it?
@d-healey said in Encryption; Blowfish's PrivateKey?--where can i find it?:
Looks like it's part of JUCE - https://github.com/christophhart/HISE/blob/8ef678ec2fcae0973cc269163404b1f9df967733/JUCE/modules/juce_cryptography/encryption/juce_BlowFish.cpp
Looking at the files i think juce_RSAKey.h is what im looking for?
Line95: class JUCE_API RSAKey
I tried calling RSAKey(privateKey); but it says its not a function. How would i go about getting the PrivateKey in particular? i can already specify the PublicKey.
I havent found where in the code the keys are stored.I'm guessing i need to be inside
namespace juce { }
? -
RE: Nothing happens when building latest Scriptnode
@alepan said in Nothing happens when building latest Scriptnode:
Update: I tried opening Projucer from the Tools->Projucer directory, and it says "Projucer is damaged and cannot be opened"... I re-downloaded the latest scriptnode and I still get this error...
I had the same problem.
I replaced the .Jucer app with one from the previous release. -
Encryption; Blowfish's PrivateKey?--where can i find it?
Hello.
@Christoph-Hart
I've looked in my OS Keychain, but it doesnt seem like there is any Key for Hise-Blowfish.-Does it get created only when the Binary is compiled? Can i export it?
-Or is it implemented to only stay inside the plugin/app? If so, could you please tell, how exactly it is being stored? whats the process behind it?
The docs dont seem to have any info about this. Its very important!Im really hoping its not the latter!
Thanks!
-
RE: loadEncryptedObject; cant manage to Un-encrypt file data
@Lindon ? The code you pasted is eaxctly the same as mine.
@Christoph-Hart
I was using it that way because of this--> Getting todays date in HISE post. My understanding was that it was encrypting the data with a password AND the MachineID. Perhaps i misused/misunderstood the example..Never the less, i made the changes but the file doesnt seem to be getting encrypted /edited at all.
Im mis-printing something....
The new Code;const var Encrypt = Content.getComponent("Encrypt"); //Encrypt file on button click inline function onEncryptControl(component, value) { local SystemId = FileSystem.getSystemId(); if(value) { local UserPIN = "1234"; //Browse to the file local FileDirectory = FileSystem.getFolder(FileSystem.UserPresets).getParentDirectory(); FileDirectory.getChildFile("file.js"); //Encrypt local FileEncrypt = FileDirectory.writeEncryptedObject(FileDirectory, UserPIN); } }; Content.getComponent("Encrypt").setControlCallback(onEncryptControl); //Decrypt on startup const var Decrypt = Content.getComponent("Decrypt"); inline function decryptOnLoad() { local UserPIN = "1234"; //Get encrypted file/object local FileDirectory = FileSystem.getFolder(FileSystem.UserPresets).getParentDirectory(); FileDirectory.getChildFile("file.js"); //Decrypt local FileDecrypt = FileDirectory.loadEncryptedObject(UserPIN); // Load contents of the encrypted object local pData = Engine.loadFromJSON(FileDirectory); }; // Execute on startup decryptOnLoad();
-
loadEncryptedObject; cant manage to Un-encrypt file data
Hi all.
Merry Christmas! Hope Santas generous this year... :)Im trying to encrypt/decrypt data thats inside a file.
Encryption works, it encrypts upon pressing the "Encrypt"Button, however i cant manage to un-encrypt/view the data. Its suppose to check/decrypt on startUp but its not happening..Putting "decryptOnLoad()" inside a onButtonControl statement and calling it, doesnt make any difference.
Where am i going wrong with the code?
Thanks very much!
const var Encrypt = Content.getComponent("Encrypt"); //Encrypt file on button click inline function onEncryptControl(component, value) { local SystemId = FileSystem.getSystemId(); if(value) { local UserPIN = "1234"; //Browse to the file local FileDirectory = FileSystem.getFolder(FileSystem.UserPresets).getParentDirectory(); FileDirectory.getChildFile("file.js").writeEncryptedObject(UserPIN, SystemId); } }; Content.getComponent("Encrypt").setControlCallback(onEncryptControl); //Decrypt on startup const var Decrypt = Content.getComponent("Decrypt"); inline function decryptOnLoad() { local UserPIN = "1234"; //Get encrypted file/object local FileDirectory = FileSystem.getFolder(FileSystem.UserPresets).getParentDirectory(); //Decrypt FileDirectory.getChildFile("file.js").loadEncryptedObject(UserPIN); // Load contents of the encrypted object local pData = Engine.loadFromJSON(FileDirectory); }; // Execute on startup decryptOnLoad(); // works inside onButton??? ...... Nope.. inline function onDecryptControl(component, value) { if(value) { decryptOnLoad(); } }; Content.getComponent("Decrypt").setControlCallback(onDecryptControl);