The delay module temposync slider popup
-
@pcs800 There are two methods, both require scripting. The first is to have two knobs, one in tempo sync mode, and one in time mode, both connected to delay, and you just show one of them at a time.
The second method is to use a single knob and dynamically change its properties when the user switches modes.
-
@d-healey yeah I was actually thinking about the double knob method, but thought there was probably a better way. What about a script generated pop-up that changes depending on the tempo sync state?
-
@pcs800 said in The delay module temposync slider popup:
What about a script generated pop-up that changes depending on the tempo sync state?
I haven't seen it done but I don't see why not.
-
@d-healey
What is the property called that will display time mode?
And is the component called "popupText"? -
@pcs800 said in The delay module temposync slider popup:
What is the property called that will display time mode?
"mode"
@pcs800 said in The delay module temposync slider popup:
And is the component called "popupText"?
There is no separate component. There is a
showPopupValue
property for knobs/sliders though. -
@d-healey
Pulling out my hair here. Would you mind taking a look?HiseSnippet 3112.3oc6a8zbaabEGTxH1RxNVIMSmbnGPzjCzs1L7eRhJYZDkHEkXMoDCnrcZyzZuBXI4NBD.A.TxJYbG2Y5gdp8Zuzo4SPm9QHe.RlIyzu.o25Qeomae6t.DKH.onoTcT5DmwYL1ceu2u829duceK.a4XogccsbjRs3gmYikRcS41mY50qRODwTpdUoTKI2bqFJUwFnyj19LajqKVWJUp42kNfTKbMI1edwlaiLPlZ3vljjdnEQC2fzm3E1Zqx2mXXTCoiOjzWXzEKWWyxrhkg0..LyKmUxFocLpKdeDcXyIKsGxsmTpepb97czJkMaoBEVMKBUPGgJlCWXCbm05nsZ1MxpezpYg+aMoTu1N5DOKm1dHOrqTpqssk9Ys6YcpI2.Oj3RNx.SeHmTavx7lqYYnSmhzVkpziXn2JfkbkjRI2JjylmyYukbShNYX6gb2xrNTBkPj.SMWT3MeD3kSDdYEfWBPJk.jtFGRugbaMGhsWXO70x5ldXmNHXcRDJ7wJM2WcS4JVvHL8xzGcLtlC7vPIRu5ZqcWkhYydmOXwEg0JWOkSPNJtmYps8.OOKSEEketRf7cwdUr5aaYBOjdkvAsBHcnvMHlGetBGNnUhZ5FLuxG22UYRRyFTNXTQMs5zHr5XD12xzo04aY5nRz1SVb0wJdiZXr9QP3wDm2ACZDSOMxpJJqfvbDAhwxQPEZmNcvZfD7dRhjZgbP8qWEDJabJHrybINAC6OehShv9K..88dOEZ7y6sGQGuHwzfXhU5LvTyi.9WtXO.0ZrnszTN8NK94KRIggdQYfgjdkS3gcqbWk2gMpOfMH0oYPBdEiNr3pZBi5Yw.ukY6gQPzkLGKizZv50cA5vHXhDYFBsq7gJYyrJSegweTS5qgJHCCJIlNAsCRArYcShGATjKkU6ArJ0FCre+EiQl9JG7HdHxX.N8cFZbpdt28tmRi56e+cppT4f8OT8fFJMNX25UTR2CYpafUNxxqmBDJBOwHApcbuCUtDnBNM2zUjHXNtL1X.NfO39jzI7VddNjiF.XMhOYv34qKjNJoCS0HLUtCqatNi4KvFy9VN8QFjOCqmNzapa7NuiuoFG5TGO5dVhdEpW.pP8RfJZLIpP8hPEMdYoBt.Tuxui8KBBrGimAq6Wc9FyJgbI5cLNBQ8hQHu7dHA6ZLSNHirkyr5iDnlD8PF14r3eLQ.NFWjKBind4vHMlDindQXjFmKiP2aZKWWRWSEM+MCcWLRNs3aUNxtOf1Tmr.pwDXj3hwYCgP2PqLdgTSPnHjaB1Yj0epYlrDpwjPvcZeKO7AlooNMK.rqxnc0oSh84qJCrShcSqSzYRBl1bP+ivNBtrrAB0BEs.K4wWfkX8eZ7iDKLPKS5AgNvFaNtpBk7OGMTL1M8QELTOVoXuteoXsMfCP4HQzoEYGVUhDC0hkMKMNMvik70P3otdIzPDLnNKXPPCKIOz+IhB9x+c5uZyoQAxxMZUa1rsr7dwDs7es7zAa0KJraRd5rsrsfL+g7y1r90kEqoLTGywTvMJOc5PMQcHcd5Hh2WXp8Q0vK1T5A0qh7PzKlvOr.BUrwNdDZTXpp3SHZX90TrfbUr6wdV1vxxv5OkRcctkukukq2G0EyL7MjY+6bROUj5NS7gNDC+6L5mI+4sTO3WrSkCebsCZTcG0m0DpkosG1Aawn.ks2UIWtL1lckNkn60anZ96+tx8vjt8Bu2puzoLMxdHBWd5hsEf49kEf4gksQNfhDz3voFLA56B6gYym1odmXSiVFHh48MsNp.G7P9u1TAbCMvlkiNiJqN5LB.jG9odL.i634eCedVVFdD6QZkV+2gvf215o7bj8Qgyr+v+nbehNTEWKKWBMybnQ+SkoRx12tkk8.PsWWdqirNAKo6f5Vk3f03Brn7Co9Gvlvz3fgbxRSW9uPrrrmHKqOAV1NH6cclaEeISxldRAL3gTmkn3PLHHcGUo.ph0hBqonD7y+nXDbwxBroffRSoej545G8jdWg7itkrJsiQcjh172UdRuwTsKVHTJiupFtdadf4PLOjnGsi3Tcxbqz2t433VaiAcIlsBBJ3oUuMOXgdrLpAkHtshNL9gjlt0k27bNbP3Jxy+zqfqHAbOGrQxorfbMhAvF4ilT40jYu3jIFG.GjYLqUewebrwA8EecLEKewo+8hP+Jmdkl92abzetueR+hGRcLYktRk7eY+r7wSKEqmKg7RD2lXOzHIbRLY0xgIqXv3hksZ4yolfvUprdWAWoBCWnfcJNADefWBKXSG8dSO+WmJmdqYXg7HlcODNQOijusrXShEAj82JP2vQwFOc6WQRvaIsIBXxm1BiNtIyY3ntAuB5aJWL+5kxsQ1rkxJQ7v8E6nTg0KkuXoUE5HueOYAwf+JwJAZt2NkL8ptVoUHYux6qD75xtKsq5l53mBMdubrGqYYXXc5irbN10FoggN5fLbwr9Zi61G.eCrdaxmQ6JalrrNdfcUrF2MWn0pVmZlT6OvE2FPrFtROjoI1vMpQNFeZMjlmkCzbNeQZgz0Ad22rAsRuijlHF8IzpuVYyKLU2eB6B2XcpnjC9++5Ee1HGeV5Ci4vRJK5abqonlZgCK7Lwcq9IWr5.tgL+ckGKTckXgptmR7z58XPTjAKV0E7wwb1LDO+qMGYxWM1juped0g1dXv6vVltMRF4JC9gBReoyP02RGGsXvSBt3vTyKtH7il16b4Gpl6RYYXfK9Al5VMQl.i.gWolaLKLKF85jZfNBa3ecRr+s3NIOugvJxWnMzkjegQruYooovePpD2HoCr8C+jI2PdqSvNDDqIZd0P4yT9kA8EE8mvIg9EkGd3qqXXORN6OQLgTfe3qwB6upg6BiC2ks8w804AJW0.9phUSHVQ829jgNKMrNUoEcGlqXXeMAr+hSRB6KIuG.vqjfecwnTwhCJa4Cd9gsuhA6RBv9aNSL.s3nmPYJP9TBvQmfajKaoUWMaoHG44FS2amHD9O4IBvWQu7n6n9tw1QkpFki3edhYKL9yy8Mm+44RWd1KzI+3daGeoS4Hkyrn78wmcjExQej5XJUb801nvH0wrjbwUyuQohkJjKdYLaTbi0VO+FqJItVP2gmWVyuwurFvdOhN0om9uXPUGDWaXuxCz7Pmf2m8pYiTeAjdADCZpvZrm2iveLW904kOLv0yp+tNH6dDsnklTE2AMvvaKaaLb.cSV0QdNC3ctsArAGnJUf3rXU6r1Fr+TpT102H657xqNzpaWCbS3vDQzL86z0utEJTBJS5gX5Js.VFZMnyZFHu1dmYLhlZsSvpvns21C43EZk7AsuiotfsWKVwQOO1qiR5WVVJ9G86xxv7Z.fpneCxza7xuC5gpD+veoebulvoyNS782co8gIOsP7MjaQKaJYLNWBXTR5+IXz+y49Vx7up0P.dM4Ze7qfuc6k31+57Caxr7vJREsdz6eWfUF4ttD5I3.fBRvde2AsKJ.qCHJktMZMG7mJ50sGIoVoabIXrvinKthM+TSY4l7Jlp0.ZpQ9U2.6aB4XhdcFPaonuRb+myRelBg1XSc1C+G3O9cli9bJ+NyEzonWwqyWUVRtMwDy9vmYqL+X1yJOBRxorK1D6P8oyMgehDeyz9Sjvdp+IRvywdHjJz01xMhhai6SND1twUrQZRKXoikgTr8JP1pD65EaVCljIJSaj2.GVz5V8sFX5Mo05qMcq0myu7hqck6Wdw2CxAGIAyBAXrMousAdGySvFVPKTL9lx96tFzZTe4lVlV18rLIQBpUwPLXWV02gXOwIzVddz5OG1xaUVEafQhNsuaY3.WvF6MYU5OSbQtW5enLItd81xb3xp2W46u6cN++Wu24qjMBdUXi9HMGqGqw+tqn9o2f0BLuMYEKsfbS5yJ4h+Ui0Gxx8XMsnpJlf4mUAKLqBVbVEb0YUv0lUAWeVErz4KHcSnsF.kyvCM8+h33erqgepnrG3NFhmFT3GqGyfrWnRfpY0RHZZnHBwqds1.CiXig13Hii91dnOu1etx670+kulk71AlWz19725us6+7y98aBvDJVm8tRWWtv5YLObs6Wpx161sRlLObmZnrOHWqAEMzNt9tz+lYqps9XxG8neUtGTC92cxjIizvuJ6Q9.4py0LKwfDTJDq7xTo1wDAo.3s9eAgqhPcB
The linking works when "LinkButton" is engaged, but I cannot for the life of me get the 4 knobs to hide/show when "syncButton" (temposync) is clicked.
I have 4 knobs
LDelay_ms
RDelay_ms
LDelay_sync
RDelay_syncLDelay_ms
RDelay_ms
should be visible when synButton is disabled
While
LDelay_sync
RDelay_sync
Should be not visibleAnd vide/versa.
However, it simply doesn't work.
-
@pcs800 You don't need this
const var LDelayParamID = 0; const var RDelayParamID = 1; const var LFeedbackParamID = 2; const var RFeedbackParamID = 3;
HISE already has built in constants - you can find them by right clicking on the module header and selecting Dump parameter ID and values.
Then you can use it like this
Delay1.DelayTimeLeft
.Your sync button isn't triggering the callback - Console.print is your friend here. You have the button connected via processor/parameter ID.
-
@d-healey Thank you! It works now!
-
@d-healey
I have noticed with this particular plugin, that if I have it on a track in a daw, then save the project and re-open it, there's no effect from the plugin until I move one of the knobs. Then it comes right back.
Is there a refresh or some kind of code to put in onit at the top that will "kick it in gear" without the user having to move a knob?Maybe move a knob onit, and then right back to the position it was saved?
-
@pcs800 If the controls are have saveInPreset enabled then they should be triggered automatically.
-
@d-healey Every component in the project has saveInPreset enabled.
-
@pcs800 Which DAWs have you tested? Is it just what's in the snippet you posted earlier, or is there additional stuff?
-
@pcs800 I noticed 2 things in your snippet. 1 is the mix knob is all the way to zero. The other is the delay time is super short.
But assuming that is not the issue it could be related to the nature of the delay. I don't know if this is necessarily true for this particular delay. However, some models are designed to output the difference between the delay time and the input signal. This happens to me in Gen~ all the time where the delayed signal isn't processed until there is a change in the delay time itself.
So you're solution might work, you maybe able to script it to change values with a delayed callback, and then an even later delayed callback to set it back to it's initial value.
I don't recommend this though. I would recommend just building your own delay in scriptnode.
-
I would highly recommend using two controls and hide the one that isn't enabled as this will work much better with the data model - otherwise you have to ensure that when restoring the preset the correct value will be used for the slider.
-
@d-healey Here's the latest snippet
HiseSnippet 2960.3oc6as7aabbFeoj2DYZqX4.enGJBVKTfR0XQuj5EsCpE0KJqZRYZRI4jFTHOZ2gjCzxcX1codDCW3.zC8Vu1bn.4ufhdLG80Bj.DffdqGbu0i8OfB3NO1Gy9fTqkkc4gPCIqcl4a99M+999lGe6v5VXMnsM1RJS1cNsGTJyUkadpoSm05.PlRastTlqHWakpJqCM.mJs5o8.11PcoLYFeSZCxb4KIw9Le4UAF.SMXPQRR6gQZvpntHmfRqW9AHCiJ.c3NntPwNXKMr4ZXCbeBXFWVUpGP6PPa31.ZyFSV59.6NRY9UxEK1RqjpZo4laAU.XNc.X9Bv4tCr0hszVP8Np5GrfJ4eKJk481PG4fsZ5.bf1RYtzpX8Sa1AerIWA6grQGX.oOTPpIQy7hqfMzoCQZoRq0AYnW2ikrkH8R8.NabNmcC4ZHcje4Ab2TrJTBjPj.yLVX3MdH3UPDdpBvKAHkQ.RWhCoqK2TyB0yInFtsbKSGnUK.wNIBEdakF6amTdMLoElN46BNDVwh7fuD4VXwEukxbppy7IYyd6aqL6ryprIzQYMb2dXShL1zhxRrh1NJGArTrO0Ta09NNXSEEkeshWO2F53KRtoCZzzj9MP3pHyCOSgCZDUXQoY9q620VYXRyZTARqBq5FoQ3FCPXWMSGVmslosJQcObwaLPwqVAB0OfD3LzwsWihn5zHaCQYEDliHhXrYOnBsQqVPMhD7ZlVvog5ie66izgJUwsQZLuFjoAxDpzpuolChXysgNjdRiEajiNNmI6SyRAlukMOoI4l9HdPxz2R4lrV8IrF0HMMRvREsYw6pgzJVyHCsljXAmNPEcp.+RakcfDViNHT5ArHShQBiTxoRnHbqV2RgxUXyYXByoHZ2uhiiE5f9jwraY9cBWcJKSD7tJptfiXirwFv78rPTiCSYcw5v6pLsxGqjyUBV4SSDa5ZMmdFhnOKaL9Fa1zOPjZ4svF4zHl8aQrtFdbeD0IDe2yBRmKgqWpDb7ExJRJV4dJp4Wfgf.goiaWUtFvvf5bkKA3PjxkjQlHGDoyro9Qcn9Q1TEPFCJFXf9cyFy4wUQDux8.F8g4lwGHd9jzYRf5Jt5x0wrE1RYUrSGExTA.SctE3Al3CrSzmEaxcopYKxfr.GFM1G5QjCwfy9O5RiUgs7EiylnVJ4BlwSXzv8h3ccL2eVa1Fa0EXf9Rndtf.n1wqbFWUkVP1.0tSDT9LhwMNyz3BjYRPoolZpNLpowEI0D29kLyvQD0eczvqwaltA32vp9cumyEE+bA36LHBpwEKAkZ+GuUjeCnGut3Mw6wqORz2wuxyOw30Eo2w4BjXdibaFFyz3BjYR1iwaEtUrsQsMU7VhkuDVnoCiuHbj0yH8ZigKPiXBDInYP5PH9NPKCVnFIHTHdNA8DwcfplgKQiXRH3csM1A9PybTenKSXYknU0pUh041UFPqDqlF3aMLAyY1u6APKAOXVCIm6K7gIkG7gIEOqqFeS9BMDatEY6UOrGzbPm.Vx8jAjCddEWTQZpC6Xmef6wNaZP1VlkDRmlPgfyYIwPM8P+u5UuZ+V+2uprzf5AdXkaODrGtfdfm1f+yxRoBCMR.CDwexPwfPObEYe+mvcv29Q+iTAAY4p0qDE8tj4Yp6Fuo5tF5jPh9Me8W+2WNMb+kk4OT77A8OPV7ntQ6iaTNc8QiyWeDxEJXp5Dbg1cq0AN.ZlTb8sI968fVNHZnTl0gGgzf77pbY40g1G5f6IkIq+whkx79bMOoql2pKnMjo3IjY+cAoSDotSEenExvMIWer7Sq23g+lMVam8q7vpquQimUibLmljCNBwLJPY0MUJTHeOy1RGizc532M+supbGHcMJ+RdgU4LSJfvqDFgUAG.Mbsvr+tfp.De4QkCf32nU1AdBcPJOKcF2Hp94OHppklmIfWt7tp77EWpTg6npVRUpEge4C1IjW4HnEBvJpIY8t.4yWlbhYBpEfuOOJIT30S2jNBT+1BiKocFhZHFkt1j0Y6wMkYtYLSScC.xjdXv43FDxDyMoBXGnfkKGlpJ2HFUssK2R.LY0a2zr5fwFNndQJkdb2cHMdU7I7Iu6BBFY+werbWjttArN1FQWxHPo+oxTIY6snNtW+dTC4JGfOBJoaAZuNxBpwEHq7dTedMfgzQdKWjYbQBexzMGc.rdhi.g+xCFBg6QCrDdnjfeFgphRd2qr.SIHHxA1k68Uj69UrnpZwRKLuPMzJJrTgBEWZQ04JFyd+KhYuYIWwMcGpEYlbaBUAq.zbnIdkApW7ce2+b4z5h13LcQeRmQHWzIkY6BNpOZ3hGAbRudpVDO.UkgipSJbMd3uOl847nUDm0Sllkd4xChl6YzuMxrtWlJ4yQeM4PGGUBYWOby36QbvlHQ6xGdF6MJvhnb7HnEwi64fsm2Fh2hsCklnt8LfJz2IVAI+z8Rq68jYunrTagjjd8CD5J9l39rWHFxIsZ4zYCD2j4.hMFolMZJ2ochGbDqlKfnCjcMnCHhaehgLSIGNWSuYwLW+L1SefkZpuXjNlgB1PwLSv4oHQK7FdAXvFL8pCaA5avy0RjSC4yUW0w885xo8JFXfCxr8NjcpyH+qIKVj3l6U+8Blgm+ngXFbOog2qqsFfvvmTGBNrFyI4f1It+4vafY9hklaoREmuzBw2ySIUhXjejXGsYreVFYZJoltdfQX56p3814tEspsL0gmPJb1BrGqfMLvG+Xr0g18.ZPREs.F1PVcMgs6R.eUnNcm6jpTyqxpX2dqC03t+BktN9XyjJeWaXSBh0fq0AXZBMrCqjCgGy2cEo3BthTGnqS3cW05UJMAF0.L5SnT2dkMtfz99yYYEiUohRAxu+cYeVzsYduXNxnxoaOvAmUNve34OSLr7mOD+gTDcLgL+k1GKDd5Xgv1Gibz5rOQTfw.1qJ4y+d4HC90iM3W2c9Vec6GT6WR5VfIRp.9oCk85uLOVGRWn1+cBK02FtqoNtFvjvGVdIrKcViFovZ7Sm+3h0dLwYjlnPybHtf9yaMbCgaBj9nXlfGCNB1Ba0MgbFIoGkpe9dgloK6fRYzDtoLRDsUSJiQWkOMlB6pdEIsQO5sPZidcP+7hN8vjPeVY+sPNhg8P9Iet3zmdAKuGaRpQMbO2fvc4d94Xjuq4QLfuvfRN5Keh+5iOruSu9ibHeIQj2KIjy2y8HFrKI.6e3TQO74itgjTf7TBvnCv6TPszBKnVJo4vOqWxfPNPeh.7UzKe1oZj1MJG3lpw4F7129gyd6a4dsX86HdRFqjeG.6P5sYitTxVuMbWheqVmRtFVuuAvI7krklgE2JnqQKdyVo2dUSxh8mJ99dtvt4soEhWWtNc63IiwwR.iRRuUvn68UdRY9kyL.fWRtxm9V5xIOlf9uBW+uOeaALM6eRGQsGNqiBuquH4VQnFwKAg36GMzM3Prhp3iqSTXEK3WHj7rx2GkTozYHExUPvN9D8pFO0TVggawZf6Sys.Ok.jIn2lru4PGSlTVlwnuAV9ypzmofnIzTm8vqHebqr.84LtUVvqRQuhI7u4+rrXtomSQjzZN3K+OYhGl8TnfGGd9gOKoud.aYRB9cpiM.VQc9unnxP2V+gGgRGRJizyh7gt6ldDGjLS+nMHmRtN3+WF62EA2uKzQWflEdeM9cufFpMAqDx31js19kkqQeVoP7aNB4P3n80zB2UwDr34Uv4NuBN+4UvENuBt34UvkNuBV5rEj9cVZk9N3t7XC2aEC+VqQVlP7Atig3J7BeCiXJjk7UutlD8X4Hp5ML0EyNSk9FFwZCsvHsilYX5yK9mW6le+e46WloSx3hV1Suwecy+0W9GVl.S5xKTTtj7bKk2bmEePo0Vcy1qkO+daTAntag58m2P6vs1j9S9UVu9mhdzi+sE1sB4uakOedI+aZo3sjgupEepBoZ02fkd8LY1vDPh+4k9+.vZz4EF
Daws testing in: Mixcraft 10 and Reaper
-
@HISEnberg I now have the mix set to default to value: 0.2000000029802322
The delay times both have default values of 0.0, but that shouldn't be a problem if a user sets the delay in a project to the time they want, it should restore that way the next time it's opened. -
-
@Christoph-Hart You are saying to add another slider for both left and right delay times, and hide them, and then code them to adjust +1 then -1, or similar?
-
@pcs800 I don't know if this is the cause of the issue, but for
RFeedback
you have the pluginParameterName set to DelayTimeRight and you have isMetaParameter enabled.For
LFeedback
you have the pluginParameterName set to DelayTimeLeft and isMetaParameter is not enabled.Calling this in
on init
will have no effect because thesyncButton
has saveInPreset enabled, so it's callback will be triggered after on init completes, overwriting the value set here.setSyncState(syncButton.getValue() > 0.5);